

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# InvokeAgent レスポンスで引き出された情報を送信して、エージェントデベロッパーにコントロールを返す
<a name="agents-returncontrol"></a>

エージェントがユーザーから取得した情報をフルフィルメントのために Lambda 関数に送信する代わりに、[https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) レスポンス内の情報を送信してエージェントデベロッパーにコントロールを返すことができます。アクショングループを作成または更新する際に、エージェントデベロッパーにコントロールの返すよう設定できます。API を使用して、[https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html) または [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html) リクエストの `actionGroupExecutor` オブジェクトの `customControl` 値として `RETURN_CONTROL` を指定します。詳細については、「[Amazon Bedrock のエージェントにアクショングループを追加する](agents-action-add.md)」を参照してください。

アクショングループのコントロールの戻りを設定し、エージェントがこのアクショングループでアクションを呼び出す必要があると判断した場合、ユーザーから取得された API または関数の詳細が、一意の `invocationId` とともに [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) レスポンスの `invocationInputs` フィールドに表示されます。続いて、以下のように行います。
+ `invocationInputs` で返された情報を条件に、定義した API または関数を呼び出すようにアプリケーションを設定します。
+ アプリケーションの呼び出しの結果を `sessionState` フィールドの別の [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) リクエストに送信して、エージェントにコンテキストを提供します。[https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) レスポンスで返されたのと同じ `invocationId` と `actionGroup` を使用する必要があります。この情報は、さらなるオーケストレーションのコンテキストとして使用したり、エージェントがレスポンスをフォーマットするための後処理に送信したり、またはエージェントのユーザーへのレスポンスで直接使用したりできます。
**注記**  
`returnControlInvocationResults` を `sessionState` フィールドに含めると、`inputText` フィールドは無視されます。

アクショングループの作成中にエージェントデベロッパーにコントロールを返すよう設定する方法については、「[Amazon Bedrock のエージェントにアクショングループを追加する](agents-action-add.md)」を参照してください。

## エージェントデベロッパーにコントロールを返す例
<a name="agents-returncontrol-ex"></a>

例えば、次のようなアクショングループがあるとします。
+ ユーザーが旅行中に行うアクティビティを見つけるのに役立つ `PlanTrip` アクションを含む `suggestActivities` アクショングループ。このアクションの `description` には `This action suggests activities based on retrieved weather information` と表示されます。
+ ユーザーが特定の場所の天気を把握するのに役立つ `getWeather` アクションを含む `WeatherAPIs` アクショングループ。アクションの必須のパラメータは `location` と `date` です。アクショングループは、エージェントデベロッパーにコントロールを返すように設定されています。

以下は、発生する可能性のある仮定のシーケンスです。

1. ユーザーはエージェントにクエリ **What should I do today?** をプロンプトします。このクエリは [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) リクエストの `inputText` フィールドに送信されます。

1. エージェントは、`suggestActivities` アクションを呼び出す必要があることを認識していますが、説明を考慮すると、エージェントは最初に `getWeather` アクションをコンテキストとして呼び出して、`suggestActivities` アクションを実行するのを支援する必要があると予測します。

1. エージェントは、現在の `date` が `2024-09-15` であることを知っていますが、天気を把握するために必要なパラメータとしてユーザーの `location` が必要です。「現在地はどこですか?」という質問でユーザーにプロンプトを表示します。

1. ユーザーは **Seattle** と応答します。

1. エージェントは、次の [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) レスポンスで `getWeather` のパラメータを返します (タブを選択すると、そのメソッドで定義されたアクショングループの例が表示されます)。

------
#### [ Function details ]

   ```
   HTTP/1.1 200
   x-amzn-bedrock-agent-content-type: application/json
   x-amz-bedrock-agent-session-id: session0
   Content-type: application/json
    
   {
       "returnControl": {
           "invocationInputs": [{
               "functionInvocationInput": {
                   "actionGroup": "WeatherAPIs",
                   "function": "getWeather",
                   "parameters": [
                       {
                           "name": "location",
                           "type": "string",
                           "value": "seattle"
                       },
                       {
                           "name": "date",
                           "type": "string",
                           "value": "2024-09-15"
                       }
                   ]
               }
           }],
           "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172"
       }
   }
   ```

------
#### [ OpenAPI schema ]

   ```
   HTTP/1.1 200
   x-amzn-bedrock-agent-content-type: application/json
   x-amz-bedrock-agent-session-id: session0
   Content-type: application/json
   
   {
       "invocationInputs": [{
           "apiInvocationInput": {
               "actionGroup": "WeatherAPIs",
               "apiPath": "/get-weather",
               "httpMethod": "get",
               "parameters": [
                   {
                       "name": "location",
                       "type": "string",
                       "value": "seattle"
                   },
                   {
                       "name": "date",
                       "type": "string",
                       "value": "2024-09-15"
                   }
               ]
           }
       }],
       "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad"
   }
   ```

------

1. アプリケーションは、これらのパラメータを使用して日付 `seattle` の `2024-09-15` の天気を取得するように設定されています。天気は雨と判断されます。

1. これらの結果は、前のレスポンスと同じ `invocationId`、`actionGroup`、および `function` を使用して、別の [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) リクエストの `sessionState` フィールドに送信します。タブを選択すると、そのメソッドで定義されたアクショングループの例が表示されます。

------
#### [ Function details ]

   ```
   POST https://bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text
               
   {
       "enableTrace": true,
       "sessionState": {
           "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172",
           "returnControlInvocationResults": [{
               "functionResult": {
                   "actionGroup": "WeatherAPIs",
                   "function": "getWeather",
                   "responseBody": {
                       "TEXT": {
                           "body": "It's rainy in Seattle today."
                       }
                   }
               }
           }]
       }
   }
   ```

------
#### [ OpenAPI schema ]

   ```
   POST https: //bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text
    
   {
       "enableTrace": true,
       "sessionState": {
           "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad",
           "returnControlInvocationResults": [{
               "apiResult": {
                   "actionGroup": "WeatherAPIs",
                   "httpMethod": "get",
                   "apiPath": "/get-weather",
                   "responseBody": {
                       "application/json": {
                           "body": "It's rainy in Seattle today."
                       }
                   }
               }
           }]
       }
   }
   ```

------

1. エージェントは、`suggestActivities` アクションを呼び出す必要があると予測します。これは、その日雨が降っているというコンテキストを使用し、レスポンスでユーザーに屋外ではなく屋内のアクティビティを提案します。

### コラボレーターエージェントにコントロールを返す例
<a name="collaborator-agent-returncontrol-ex"></a>

[マルチエージェントコラボレーション](agents-multi-agent-collaboration.md)を使用していて、エージェントのコラボレーターが [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) レスポンスで情報を送信してコントロールを返すことを選択した場合、その情報はスーパーバイザーエージェントのレスポンスで追加の識別子 `agentId` および `collaboratorName` とともに返されます。タブを選択すると、そのメソッドで定義されたアクショングループの例が表示されます。

------
#### [ Function details ]

```
HTTP/1.1 200
x-amzn-bedrock-agent-content-type: application/json
x-amz-bedrock-agent-session-id: session0
Content-type: application/json
 
{
    "returnControl": {
        "invocationInputs": [{
            "functionInvocationInput": {
                "agentId": "AGENTID",
                "collaboratorName": "WeatherAgent"
                "actionGroup": "WeatherAPIs",
                "function": "getWeather",
                "parameters": [
                    {
                        "name": "location",
                        "type": "string",
                        "value": "seattle"
                    },
                    {
                        "name": "date",
                        "type": "string",
                        "value": "2024-09-15"
                    }
                ]
            }
        }],
        "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172"
    }
}
```

------
#### [ OpenAPI Schema ]

```
HTTP/1.1 200
x-amzn-bedrock-agent-content-type: application/json
x-amz-bedrock-agent-session-id: session0
Content-type: application/json

{
    "invocationInputs": [{
        "apiInvocationInput": {
            "actionGroup": "WeatherAPIs",
            "agentId": "AGENTID",
            "collaboratorName": "WeatherAgent"
            "apiPath": "/get-weather",
            "httpMethod": "get",
            "parameters": [
                {
                    "name": "location",
                    "type": "string",
                    "value": "seattle"
                },
                {
                    "name": "date",
                    "type": "string",
                    "value": "2024-09-15"
                }
            ]
        }
    }],
    "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad"
}
```

------

スーパーバイザーエージェントの呼び出し元は、`sessionState` フィールドの結果をスーパーバイザーエージェントに送信し、対応する `agentId` を適切なエージェントコラボレーターに伝播します。

------
#### [ Function details ]

```
POST https://bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text
            
{
    "enableTrace": true,
    "sessionState": {
        "invocationId": "79e0feaa-c6f7-49bf-814d-b7c498505172",
        "returnControlInvocationResults": [{
            "functionResult": {
                "agentId": "AGENTID",
                "actionGroup": "WeatherAPIs",
                "function": "getWeather",
                "responseBody": {
                    "TEXT": {
                        "body": "It's rainy in Seattle today."
                    }
                }
            }
        }]
    }
}
```

------
#### [ OpenAPI Schema ]

```
POST https: //bedrock-agent-runtime.us-east-1.amazonaws.com/agents/AGENT12345/agentAliases/TSTALIASID/sessions/abb/text
 
{
    "enableTrace": true,
    "sessionState": {
        "invocationId": "337cb2f6-ec74-4b49-8141-00b8091498ad",
        "returnControlInvocationResults": [{
            "apiResult": {
                "agentId": "AGENTID",
                "actionGroup": "WeatherAPIs",
                "httpMethod": "get",
                "apiPath": "/get-weather",
                "responseBody": {
                    "application/json": {
                        "body": "It's rainy in Seattle today."
                    }
                }
            }
        }]
    }
}
```

------