翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
アクショングループ関数を呼び出す前にアプリケーションユーザーに確認をリクエストすることで、悪意のあるプロンプトインジェクションからアプリケーションを保護することができます。エンドユーザーがアプリケーションを操作すると、Amazon Bedrock エージェントは API またはナレッジベースを調べて、ユーザーのタスクを自動化します。API またはナレッジベースからの情報には、損害を与える可能性のあるデータが含まれている可能性があります。レスポンスに命令が含まれている場合、エージェントは各イテレーションの間に命令を実行します。レスポンスにモデルが意図しないアクションを呼び出す手順が含まれている場合、エージェントはその手順に従って命令を実行します。特定のアクションが明示的なユーザーの同意後にのみ実装されるようにするには、関数を呼び出す前にエンドユーザーに確認をリクエストすることをお勧めします。
アクショングループを設定する際に、特定のアクションでユーザー確認を有効にするように選択できます。アクションに対してユーザー確認が有効になっている場合、エージェントは確認の質問を表示し、エンドユーザーにアクションの実行に同意または拒否するよう求めます。ユーザー確認は、コンソール、CLI、または SDK を使用して有効にできます。
アクションのユーザー確認を有効にするには、「Amazon Bedrock のエージェントにアクショングループを追加する」を参照してください。
ユーザー確認の仕組み
ユーザー確認は、エージェントデベロッパーによってアクショングループ内のアクションに設定されます。エージェントがそのアクションを呼び出す必要があると判断した場合、API または関数の詳細がユーザーから取得され、エージェントデベロッパーによって設定されたユーザー確認が invocationType
および一意の invocationId
とともに InvokeAgent レスポンスの invocationInputs
フィールドに返されます。
エージェントは、invocationInputs
で提供された API または 関数を呼び出します。関数または API に対してユーザー確認が有効になっている場合、レスポンスで説明されているアクションを同意または拒否するオプションが表示されます。
エージェントの関数または API の呼び出しの結果は、sessionState
フィールドの別の InvokeAgent リクエストに送信され、エージェントにコンテキストを提供します。InvokeAgent
のリクエストパラメータは、apiResult
または functionResult
オブジェクトへのマップのリストである returnControlInvocationResults
を使用します。apiResult
および functionResult
オブジェクトには、confirmationState
の追加フィールドがあります。このフィールドには、ユーザー確認のレスポンスがあります。
ユーザーレスポンスが同意の場合、レスポンスの関数または API が実装されます。
ユーザーレスポンスが拒否の場合、レスポンスの関数または 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"
}
}
}