InvokeAgent 応答で誘発された情報を送信してエージェントデベロッパーにコントロールを返す - Amazon Bedrock

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

InvokeAgent 応答で誘発された情報を送信してエージェントデベロッパーにコントロールを返す

エージェントがユーザーから誘発した情報をフルフィルメントのために Lambda 関数に送信する代わりに、InvokeAgentレスポンス内の情報を送信してエージェントデベロッパーに制御を返すこともできます。アクショングループを作成または更新するときに、エージェントデベロッパーへの制御の戻りを設定できます。API を使用して、 CreateAgentActionGroupまたは UpdateAgentActionGroupリクエストの actionGroupExecutor オブジェクトcustomControlの値RETURN_CONTROLとして を指定します。詳細については、「Amazon Bedrock でアクショングループをエージェントに追加する」を参照してください。

アクショングループのコントロールの戻り値を設定し、エージェントがこのアクショングループでアクションを呼び出す必要があると判断した場合、ユーザーから誘発された API または関数の詳細は、一意の とともにInvokeAgentレスポンスの invocationInputsフィールドで返されますinvocationId。続いて、次の操作を行います。

  • で返された情報を指定して、定義した API または関数を呼び出すようにアプリケーションを設定しますinvocationInputs

  • アプリケーションの呼び出しの結果を sessionStateフィールドの別のInvokeAgentリクエストに送信して、エージェントにコンテキストを提供します。InvokeAgent レスポンスで返されたのと同じ invocationId actionGroup と を使用する必要があります。この情報は、さらなるオーケストレーションのコンテキストとして使用したり、エージェントがレスポンスをフォーマットするための後処理に送信したり、エージェントからユーザーへのレスポンスで直接使用したりできます。

    注記

    sessionStateフィールドreturnControlInvocationResultsに含めると、 inputTextフィールドは無視されます。

アクショングループの作成中にエージェントデベロッパーへの制御の戻りを設定する方法については、「」を参照してくださいAmazon Bedrock でアクショングループをエージェントに追加する

エージェントデベロッパーにコントロールを返す例

例えば、次のアクショングループがあるとします。

  • ユーザーが旅行中に行うアクティビティを見つけるのに役立つsuggestActivitiesアクションを含むアクションPlanTripグループ。このアクションdescriptionの には と表示されますThis action suggests activities based on retrieved weather information

  • ユーザーが特定の場所の天気を把握するのに役立つgetWeatherアクションを含むアクションWeatherAPIsグループ。アクションの必須パラメータは locationおよび ですdate。アクショングループは、エージェントデベロッパーにコントロールを返すように設定されています。

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

  1. ユーザーはエージェントに次のクエリを要求します。What should I do today?このクエリは InvokeAgentリクエストの inputTextフィールドで送信されます。

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

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

  4. ユーザーが に応答しますSeattle

  5. エージェントは、次のInvokeAgentレスポンス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" }
  6. アプリケーションは、これらのパラメータを使用して日付 の の天気を取得するseattleように設定されています2024-09-15。天気は雨と判断されます。

  7. これらの結果は、前のレスポンスと同じ 、invocationId、および を使用してactionGroup、別のInvokeAgentリクエストの sessionStateフィールドで送信functionします。タブを選択すると、そのメソッドで定義されたアクショングループの例が表示されます。

    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." } } } }] } }
  8. エージェントは、 suggestActivitiesアクションを呼び出す必要があると予測します。その日に雨が降っているというコンテキストを使用し、レスポンスでユーザーに屋外ではなく屋内のアクティビティを提案します。