Agent.generate()
generate()
メソッドは、エージェントと対話してテキストまたは構造化された応答を生成するために使用されます。このメソッドは、messages
とオプションの options
オブジェクトをパラメータとして受け取ります。
パラメータ
messages
messages
パラメータは以下のいずれかです:
- 単一の文字列
- 文字列の配列
role
とcontent
プロパティを持つメッセージオブジェクトの配列
メッセージオブジェクトの構造:
interface Message {
role: 'system' | 'user' | 'assistant';
content: string;
}
options
(オプション)
出力構造、メモリ管理、ツール使用、テレメトリなどの設定を含めることができるオプションのオブジェクト。
abortSignal?:
AbortSignal
エージェントの実行を中止するためのシグナルオブジェクト。シグナルが中止されると、すべての進行中の操作が終了します。
context?:
CoreMessage[]
エージェントに提供する追加のコンテキストメッセージ。
experimental_output?:
Zod schema | JsonSchema7
テキスト生成とツール呼び出しに加えて構造化出力生成を有効にします。モデルは提供されたスキーマに準拠した応答を生成します。
instructions?:
string
この特定の生成のためにエージェントのデフォルトの指示を上書きするカスタム指示。新しいエージェントインスタンスを作成せずにエージェントの動作を動的に変更するのに便利です。
output?:
Zod schema | JsonSchema7
出力の期待される構造を定義します。JSONスキーマオブジェクトまたはZodスキーマであることができます。
maxSteps?:
number
= 5
許可される最大実行ステップ数。
maxRetries?:
number
= 2
最大リトライ回数。リトライを無効にするには0に設定します。
memoryOptions?:
MemoryConfig
メモリ管理のための設定オプション。詳細は以下のMemoryConfigセクションを参照してください。
onStepFinish?:
GenerateTextOnStepFinishCallback<any> | never
各実行ステップ後に呼び出されるコールバック関数。ステップの詳細をJSON文字列として受け取ります。構造化出力には利用できません。
resourceId?:
string
エージェントと対話するユーザーまたはリソースの識別子。threadIdが提供されている場合は必ず提供する必要があります。
telemetry?:
TelemetrySettings
生成中のテレメトリ収集のための設定。詳細は以下のTelemetrySettingsセクションを参照してください。
temperature?:
number
モデルの出力のランダム性を制御します。高い値(例: 0.8)は出力をよりランダムにし、低い値(例: 0.2)はより集中し決定的にします。
threadId?:
string
会話スレッドの識別子。複数の対話にわたってコンテキストを維持することを可能にします。resourceIdが提供されている場合は必ず提供する必要があります。
toolChoice?:
'auto' | 'none' | 'required' | { type: 'tool'; toolName: string }
= 'auto'
生成中にエージェントがツールを使用する方法を制御します。
toolsets?:
ToolsetsInput
生成中にエージェントが利用できる追加のツールセット。
MemoryConfig
メモリ管理のための設定オプション:
lastMessages?:
number | false
コンテキストに含める最新メッセージの数。無効にするにはfalseに設定します。
semanticRecall?:
boolean | object
セマンティックメモリリコールの設定。booleanまたは詳細な設定が可能です。
number
topK?:
number
セマンティック的に最も類似したメッセージを取得する数。
number | object
messageRange?:
number | { before: number; after: number }
セマンティック検索のために考慮するメッセージの範囲。単一の数値またはbefore/afterの設定が可能です。
workingMemory?:
object
ワーキングメモリの設定。
boolean
enabled?:
boolean
ワーキングメモリを有効にするかどうか。
string
template?:
string
ワーキングメモリに使用するテンプレート。
'text-stream' | 'tool-call'
type?:
'text-stream' | 'tool-call'
ワーキングメモリに使用するコンテンツのタイプ。
threads?:
object
スレッド固有のメモリ設定。
boolean
generateTitle?:
boolean
新しいスレッドのタイトルを自動生成するかどうか。
TelemetrySettings
生成中のテレメトリ収集の設定:
isEnabled?:
boolean
= false
テレメトリを有効または無効にします。実験的なためデフォルトでは無効です。
recordInputs?:
boolean
= true
入力の記録を有効または無効にします。機密情報の記録を避けたり、データ転送を減らしたり、パフォーマンスを向上させるために無効にすることができます。
recordOutputs?:
boolean
= true
出力の記録を有効または無効にします。機密情報の記録を避けたり、データ転送を減らしたり、パフォーマンスを向上させるために無効にすることができます。
functionId?:
string
この関数の識別子。テレメトリデータを関数ごとにグループ化するために使用されます。
metadata?:
Record<string, AttributeValue>
テレメトリデータに含める追加情報。AttributeValueは文字列、数値、ブール値、これらの型の配列、またはnullであることができます。
tracer?:
Tracer
テレメトリデータに使用するカスタムOpenTelemetryトレーサーインスタンス。詳細はOpenTelemetryのドキュメントを参照してください。
戻り値
generate()
メソッドの戻り値は、提供されたオプション、特にoutput
オプションによって異なります。
戻り値のプロパティテーブル
text?:
string
生成されたテキスト応答。outputが'text'の場合(スキーマが提供されていない場合)に存在します。
object?:
object
生成された構造化された応答。`output`または`experimental_output`を通じてスキーマが提供された場合に存在します。
toolCalls?:
Array<ToolCall>
生成プロセス中に行われたツール呼び出し。テキストモードとオブジェクトモードの両方に存在します。
ToolCall構造
toolName:
string
呼び出されたツールの名前。
args:
any
ツールに渡された引数。
関連メソッド
リアルタイムストリーミング応答については、stream()
メソッドのドキュメントを参照してください。