アクショングループ関数を呼び出す前にユーザー確認を取得する - Amazon Bedrock

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

アクショングループ関数を呼び出す前にユーザー確認を取得する

アクショングループ関数を呼び出す前に、アプリケーションユーザーに確認をリクエストすることで、悪意のあるプロンプトインジェクションからアプリケーションを保護することができます。エンドユーザーがアプリケーションとやり取りすると、Amazon Bedrock Agent は、ユーザーのタスクを自動化するために呼び出す APIまたは ナレッジベースを特定します。API または ナレッジベースからの情報には、損害を与える可能性のあるデータが含まれている可能性があります。レスポンスに 命令が含まれている場合、エージェントは各イテレーションの間に準拠します。レスポンスにモデルが意図しないアクションを呼び出す手順が含まれている場合、エージェントは指示に従って進みます。特定のアクションが明示的なユーザーの同意後にのみ実装されるようにするには、関数を呼び出す前にエンドユーザーに確認をリクエストすることをお勧めします。

アクショングループを設定するときに、特定のアクションのユーザー確認を有効にするように選択できます。ユーザー確認がアクションに対して有効になっている場合、エージェントは確認の質問で応答し、エンドユーザーにアクションを確認または拒否するよう求めます。ユーザー確認は、コンソール、、CLIまたは を使用して有効にできますSDK。

アクションのユーザー確認を有効にするには、「」を参照してくださいAmazon Bedrock でエージェントにアクショングループを追加する

ユーザー確認の仕組み

ユーザー確認は、エージェントデベロッパーによってアクショングループ内のアクション用に設定されます。エージェントがそのアクションを呼び出す必要があると判断した場合、ユーザーから取得された APIまたは 関数の詳細と、エージェントデベロッパーによって設定されたユーザー確認が、 の invocationInputsフィールドに返されます。 InvokeAgent レスポンスは、 invocationTypeおよび一意の とともに表示されますinvocationId

エージェントは、 APIまたは で提供された 関数を呼び出しますinvocationInputs。関数または に対してユーザー確認が有効になっている場合API、 に対するオプションCONFIRMまたはレスポンスで説明DENYされているアクションが表示されます。

エージェントが関数を呼び出した結果API、または別の で送信された結果 InvokeAgent sessionStateフィールドで、エージェントにコンテキストを提供するリクエスト。のリクエストパラメータは、 apiResult または functionResult オブジェクトへのマップのリストreturnControlInvocationResultsである InvokeAgentを使用します。apiResult および functionResult オブジェクトには、 の追加フィールドがありますconfirmationState。このフィールドには、ユーザー確認応答があります。

ユーザーレスポンスが の場合CONFIRM、レスポンスAPIの 関数または が実装されます。

ユーザーレスポンスが の場合DENY、レスポンスAPIの 関数または は実装されません。

InvokeAgent レスポンスとリクエストの例

レスポンス

HTTP/1.1 200 x-amzn-bedrock-agent-content-type: contentType x-amz-bedrock-agent-session-id: sessionId Content-type: application/json { "chunk": { ... }, ... "returnControl": { "invocationId": "string", "invocationInputs": [ { ... } ] }, "trace": { "agentAliasId": "string", "agentId": "string", "agentVersion": "string", "sessionId": "string", "trace": { ... } }, }

リクエスト

POST /agents/agentId/agentAliases/agentAliasId/sessions/sessionId/text HTTP/1.1 Content-type: application/json { "enableTrace": boolean, "endSession": boolean, "inputText": "string", "sessionState": { "invocationId": "string", "promptSessionAttributes": { "string" : "string" }, "returnControlInvocationResults": [ { ... } ], "sessionAttributes": { "string" : "string" } } }