ツール: create_agent
指定されたアプリに新しいエージェントを作成します。
次のサンプルは、curl を使用して create_agent MCP ツールを呼び出す方法を示しています。
| Curl リクエスト |
|---|
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "create_agent", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
入力スキーマ
AgentService.CreateAgent のリクエスト メッセージです。
CreateAgentRequest
| JSON 表現 |
|---|
{
"parent": string,
"agentId": string,
"agent": {
object ( |
| フィールド | |
|---|---|
parent |
必須。エージェントを作成するアプリのリソース名。 |
agentId |
省略可。エージェントに使用する ID。エージェントのリソース名の最終的なコンポーネントになります。指定しない場合、エージェントに一意の ID が自動的に割り当てられます。 |
agent |
必須。作成するエージェント。 |
エージェント
| JSON 表現 |
|---|
{ "name": string, "displayName": string, "description": string, "modelSettings": { object ( |
| フィールド | |
|---|---|
name |
ID。エージェントの一意の識別子。形式: |
displayName |
必須。エージェントの表示名。 |
description |
省略可。人が読める形式のエージェントの説明。 |
modelSettings |
省略可。LLM モデルの構成。 |
instruction |
省略可。エージェントの動作をガイドする LLM モデルの指示。 |
tools[] |
省略可。エージェントで使用可能なツールのリスト。形式: |
childAgents[] |
省略可。エージェント ツリー内の子エージェントのリスト。形式: |
beforeAgentCallbacks[] |
省略可。エージェントが呼び出される前に実行するコールバック。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
afterAgentCallbacks[] |
省略可。エージェントの呼び出し後に実行するコールバック。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
beforeModelCallbacks[] |
省略可。モデルが呼び出される前に実行するコールバック。モデルへの呼び出しが複数ある場合、コールバックは複数回実行されます。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
afterModelCallbacks[] |
省略可。モデルの呼び出し後に実行するコールバック。モデルへの呼び出しが複数ある場合、コールバックは複数回実行されます。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
beforeToolCallbacks[] |
省略可。ツールが呼び出される前に実行するコールバック。ツールの呼び出しが複数ある場合、コールバックは複数回実行されます。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
afterToolCallbacks[] |
省略可。ツールが呼び出された後に実行するコールバック。ツールの呼び出しが複数ある場合、コールバックは複数回実行されます。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
createTime |
出力専用。エージェントが作成されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
出力専用。エージェントが最後に更新されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
guardrails[] |
省略可。エージェントのガードレールのリスト。形式: |
etag |
読み取り、変更、書き込みオペレーション中にオブジェクトが変更されていないことを確認するために使用される ETag。etag が空の場合、更新によって同時変更が上書きされます。 |
toolsets[] |
省略可。エージェントのツールセットのリスト。 |
generatedSummary |
出力専用。エージェントが LLM アシスタントによって生成された場合、このフィールドには生成の説明的な概要が含まれます。 |
transferRules[] |
省略可。エージェントの転送ルール。複数のルールが一致する場合は、リストの最初のルールが使用されます。 |
共用体フィールド agent_type。エージェントのタイプ。agent_type は次のいずれかになります。 |
|
llmAgent |
省略可。デフォルトのエージェント タイプ。 |
remoteDialogflowAgent |
省略可。エージェントの実行に使用されるリモート Dialogflow エージェント。このフィールドが設定されている場合、他のすべてのエージェント レベルのプロパティは無視されます。 注: Dialogflow エージェントがアプリとは異なるプロジェクトにある場合は、CES サービス エージェント |
RemoteDialogflowAgent
| JSON 表現 |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean } |
| フィールド | |
|---|---|
agent |
必須。Dialogflow エージェントのリソース名。形式: |
flowId |
省略可。Dialogflow エージェントのフローのフロー ID。 |
environmentId |
省略可。エージェントの実行に使用する Dialogflow エージェントの環境 ID。指定しない場合は、ドラフト環境が使用されます。 |
inputVariableMapping |
省略可。Dialogflow エージェントに入力として送信されるアプリ変数名と Dialogflow セッション パラメータ名のマッピング。
|
outputVariableMapping |
省略可。Dialogflow エージェントの実行終了後に CES エージェントに送り返される Dialogflow セッション パラメータ名とアプリ変数名のマッピング。
|
respectResponseInterruptionSettings |
省略可。Dialogflow エージェントで構成されたメッセージ レベルの中断設定を尊重するかどうかを示します。
|
InputVariableMappingEntry
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
ModelSettings
| JSON 表現 |
|---|
{ "model": string, // Union field |
| フィールド | |
|---|---|
model |
省略可。エージェントが使用する LLM モデル。設定されていない場合、エージェントは親エージェントからモデルを継承します。 |
共用体フィールド
|
|
temperature |
省略可。設定すると、この温度が LLM モデルに使用されます。温度は、モデルのレスポンスのランダム性を制御します。温度が低いほど、予測しやすい回答が生成されます。温度が高いほど、より創造的なレスポンスが生成されます。 |
コールバック
| JSON 表現 |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| フィールド | |
|---|---|
description |
省略可。コールバックの説明(人が読める形式)。 |
disabled |
省略可。コールバックが無効かどうか。無効になっているコールバックはエージェントによって無視されます。 |
proactiveExecutionEnabled |
省略可。有効にすると、中間モデルの出力でもコールバックが実行されます。この設定は、モデル コールバック後にのみ影響します。慎重に有効にしてください。通常、モデル コールバックはすべてのモデル レスポンスを受信した後にのみ実行する必要があります。プロアクティブな実行を有効にすると、実行コストとレイテンシに悪影響を及ぼす可能性があるため、有効にするのはまれな状況のみにしてください。 |
共用体フィールド callback。実行するコールバック。callback は次のいずれかになります。 |
|
pythonCode |
必須。コールバックで実行する Python コード。 |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
AgentToolset
| JSON 表現 |
|---|
{ "toolset": string, "toolIds": [ string ] } |
| フィールド | |
|---|---|
toolset |
必須。ツールセットのリソース名。形式: |
toolIds[] |
省略可。ツールセットをフィルタするツール ID。 |
TransferRule
| JSON 表現 |
|---|
{ "childAgent": string, "direction": enum ( |
| フィールド | |
|---|---|
childAgent |
必須。ルールが適用される子エージェントのリソース名。形式: |
direction |
必須。転送の方向。 |
共用体フィールド rule_type。ルールの種類。rule_type は次のいずれかになります。 |
|
deterministicTransfer |
省略可。条件が満たされたときにターゲット エージェントにすぐに転送するルール。 |
disablePlannerTransfer |
省略可。プランナーがターゲット エージェントに転送できないようにするルール。 |
DeterministicTransfer
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド condition_type。評価する条件。condition_type は次のいずれかになります。 |
|
expressionCondition |
省略可。セッション状態の条件を評価するルール。条件が true と評価されると、転送が行われます。 |
pythonCodeCondition |
省略可。Python コードブロックを使用して条件を評価するルール。条件が true と評価されると、転送が行われます。 |
ExpressionCondition
| JSON 表現 |
|---|
{ "expression": string } |
| フィールド | |
|---|---|
expression |
必須。cloud.api.Expression 条件の文字列表現。 |
PythonCodeCondition
| JSON 表現 |
|---|
{ "pythonCode": string } |
| フィールド | |
|---|---|
pythonCode |
必須。実行する Python コード。 |
DisablePlannerTransfer
| JSON 表現 |
|---|
{
"expressionCondition": {
object ( |
| フィールド | |
|---|---|
expressionCondition |
必須。条件が true と評価されると、プランナーはターゲット エージェントに転送できません。 |
出力スキーマ
エージェントは、特定のタスクを実行するための指示を大規模言語モデル(LLM)に提供する基本的な構成要素として機能します。
エージェント
| JSON 表現 |
|---|
{ "name": string, "displayName": string, "description": string, "modelSettings": { object ( |
| フィールド | |
|---|---|
name |
ID。エージェントの一意の識別子。形式: |
displayName |
必須。エージェントの表示名。 |
description |
省略可。人が読める形式のエージェントの説明。 |
modelSettings |
省略可。LLM モデルの構成。 |
instruction |
省略可。エージェントの動作をガイドする LLM モデルの指示。 |
tools[] |
省略可。エージェントで使用可能なツールのリスト。形式: |
childAgents[] |
省略可。エージェント ツリー内の子エージェントのリスト。形式: |
beforeAgentCallbacks[] |
省略可。エージェントが呼び出される前に実行するコールバック。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
afterAgentCallbacks[] |
省略可。エージェントの呼び出し後に実行するコールバック。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
beforeModelCallbacks[] |
省略可。モデルが呼び出される前に実行するコールバック。モデルへの呼び出しが複数ある場合、コールバックは複数回実行されます。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
afterModelCallbacks[] |
省略可。モデルの呼び出し後に実行するコールバック。モデルへの呼び出しが複数ある場合、コールバックは複数回実行されます。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
beforeToolCallbacks[] |
省略可。ツールが呼び出される前に実行するコールバック。ツールの呼び出しが複数ある場合、コールバックは複数回実行されます。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
afterToolCallbacks[] |
省略可。ツールが呼び出された後に実行するコールバック。ツールの呼び出しが複数ある場合、コールバックは複数回実行されます。指定されたコールバックは、リストに指定された順序で順番に実行されます。コールバックがオーバーライドされたレスポンスを返すと、実行が停止し、残りのコールバックはスキップされます。 |
createTime |
出力専用。エージェントが作成されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
出力専用。エージェントが最後に更新されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
guardrails[] |
省略可。エージェントのガードレールのリスト。形式: |
etag |
読み取り、変更、書き込みオペレーション中にオブジェクトが変更されていないことを確認するために使用される ETag。etag が空の場合、更新によって同時変更が上書きされます。 |
toolsets[] |
省略可。エージェントのツールセットのリスト。 |
generatedSummary |
出力専用。エージェントが LLM アシスタントによって生成された場合、このフィールドには生成の説明的な概要が含まれます。 |
transferRules[] |
省略可。エージェントの転送ルール。複数のルールが一致する場合は、リストの最初のルールが使用されます。 |
共用体フィールド agent_type。エージェントのタイプ。agent_type は次のいずれかになります。 |
|
llmAgent |
省略可。デフォルトのエージェント タイプ。 |
remoteDialogflowAgent |
省略可。エージェントの実行に使用されるリモート Dialogflow エージェント。このフィールドが設定されている場合、他のすべてのエージェント レベルのプロパティは無視されます。 注: Dialogflow エージェントがアプリとは異なるプロジェクトにある場合は、CES サービス エージェント |
RemoteDialogflowAgent
| JSON 表現 |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean } |
| フィールド | |
|---|---|
agent |
必須。Dialogflow エージェントのリソース名。形式: |
flowId |
省略可。Dialogflow エージェントのフローのフロー ID。 |
environmentId |
省略可。エージェントの実行に使用する Dialogflow エージェントの環境 ID。指定しない場合は、ドラフト環境が使用されます。 |
inputVariableMapping |
省略可。Dialogflow エージェントに入力として送信されるアプリ変数名と Dialogflow セッション パラメータ名のマッピング。
|
outputVariableMapping |
省略可。Dialogflow エージェントの実行終了後に CES エージェントに送り返される Dialogflow セッション パラメータ名とアプリ変数名のマッピング。
|
respectResponseInterruptionSettings |
省略可。Dialogflow エージェントで構成されたメッセージ レベルの中断設定を尊重するかどうかを示します。
|
InputVariableMappingEntry
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
ModelSettings
| JSON 表現 |
|---|
{ "model": string, // Union field |
| フィールド | |
|---|---|
model |
省略可。エージェントが使用する LLM モデル。設定されていない場合、エージェントは親エージェントからモデルを継承します。 |
共用体フィールド
|
|
temperature |
省略可。設定すると、この温度が LLM モデルに使用されます。温度は、モデルのレスポンスのランダム性を制御します。温度が低いほど、予測しやすい回答が生成されます。温度が高いほど、より創造的なレスポンスが生成されます。 |
コールバック
| JSON 表現 |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| フィールド | |
|---|---|
description |
省略可。コールバックの説明(人が読める形式)。 |
disabled |
省略可。コールバックが無効かどうか。無効になっているコールバックはエージェントによって無視されます。 |
proactiveExecutionEnabled |
省略可。有効にすると、中間モデルの出力でもコールバックが実行されます。この設定は、モデル コールバック後にのみ影響します。慎重に有効にしてください。通常、モデル コールバックはすべてのモデル レスポンスを受信した後にのみ実行する必要があります。プロアクティブな実行を有効にすると、実行コストとレイテンシに悪影響を及ぼす可能性があるため、有効にするのはまれな状況のみにしてください。 |
共用体フィールド callback。実行するコールバック。callback は次のいずれかになります。 |
|
pythonCode |
必須。コールバックで実行する Python コード。 |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
AgentToolset
| JSON 表現 |
|---|
{ "toolset": string, "toolIds": [ string ] } |
| フィールド | |
|---|---|
toolset |
必須。ツールセットのリソース名。形式: |
toolIds[] |
省略可。ツールセットをフィルタするツール ID。 |
TransferRule
| JSON 表現 |
|---|
{ "childAgent": string, "direction": enum ( |
| フィールド | |
|---|---|
childAgent |
必須。ルールが適用される子エージェントのリソース名。形式: |
direction |
必須。転送の方向。 |
共用体フィールド rule_type。ルールの種類。rule_type は次のいずれかになります。 |
|
deterministicTransfer |
省略可。条件が満たされたときにターゲット エージェントにすぐに転送するルール。 |
disablePlannerTransfer |
省略可。プランナーがターゲット エージェントに転送できないようにするルール。 |
DeterministicTransfer
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド condition_type。評価する条件。condition_type は次のいずれかになります。 |
|
expressionCondition |
省略可。セッション状態の条件を評価するルール。条件が true と評価されると、転送が行われます。 |
pythonCodeCondition |
省略可。Python コードブロックを使用して条件を評価するルール。条件が true と評価されると、転送が行われます。 |
ExpressionCondition
| JSON 表現 |
|---|
{ "expression": string } |
| フィールド | |
|---|---|
expression |
必須。cloud.api.Expression 条件の文字列表現。 |
PythonCodeCondition
| JSON 表現 |
|---|
{ "pythonCode": string } |
| フィールド | |
|---|---|
pythonCode |
必須。実行する Python コード。 |
DisablePlannerTransfer
| JSON 表現 |
|---|
{
"expressionCondition": {
object ( |
| フィールド | |
|---|---|
expressionCondition |
必須。条件が true と評価されると、プランナーはターゲット エージェントに転送できません。 |
ツールのアノテーション
破壊的ヒント: ✅ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ❌