翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Bedrock のトレースイベント
Amazon Bedrock エージェントからの各レスポンスには、エージェントによってオーケストレーションされるステップの詳細を示すトレースが付属しています。トレースにより、エージェントが会話のその時点で返すレスポンスに至るまでの推論プロセスを追跡できます。
トレースを使用して、ユーザー入力からレスポンスを返すまでの、エージェントのパスを追跡します。トレースは、エージェントが呼び出すアクショングループへの入力と、ユーザーに応答するためにクエリするナレッジベースに関する情報を提供します。さらに、トレースは、アクショングループとナレッジベースが返す出力に関する情報を提供します。エージェントが実行するアクションやナレッジベースに対して行うクエリを決定するために使用する推論を確認できます。トレースのステップが失敗した場合、トレースは失敗の理由を返します。トレースの詳細情報を使用して、エージェントのトラブルシューティングを行います。エージェントが問題を起こしたり、予期しない動作を引き起こしたりするステップを特定できます。次に、この情報を使用して、エージェントの動作を改善する方法を検討できます。
トレースを表示する
トレースを表示する方法を以下に示します。選択した方法に対応するタブを選択し、ステップに従います。
トレースの構造
トレースは、コンソールと API の両方で JSON オブジェクトとして表示されます。コンソールまたは API Traceの各ステップは、次のいずれかのトレースになります。
-
PreProcessingTrace – 前処理ステップの入力と出力をトレースします。この場合、エージェントはユーザー入力をコンテキスト化して分類し、有効かどうかを判断します。
-
オーケストレーション — オーケストレーションステップの入力と出力をトレースします。このステップでは、エージェントが入力を解釈し、アクショングループを呼び出し、ナレッジベースをクエリします。次に、エージェントはオーケストレーションを続行するか、ユーザーに応答するために出力を返します。
-
PostProcessingTrace – 後処理ステップの入力と出力をトレースします。このステップでは、エージェントがオーケストレーションの最終出力を処理し、ユーザーにレスポンスを返す方法を決定します。
-
FailureTrace – ステップが失敗した理由をトレースします。
-
GuardrailTrace – ガードレールのアクションをトレースします。
各トレース ( を除くFailureTrace
) には ModelInvocationInput オブジェクトが含まれています。ModelInvocationInput オブジェクトには、このステップのプロンプトテンプレートに設定された設定と、このステップでエージェントに提供されるプロンプトが含まれます。プロンプトテンプレートを変更する方法の詳細については、「」を参照してくださいAmazon Bedrock の高度なプロンプト。ModelInvocationInput
オブジェクトの構造は次のとおりです。
{ "traceId": "string", "text": "string", "type": "PRE_PROCESSING | ORCHESTRATION | KNOWLEDGE_BASE_RESPONSE_GENERATION | POST_PROCESSING", "inferenceConfiguration": { "maximumLength": number, "stopSequences": ["string"], "temperature": float, "topK": float, "topP": float }, "promptCreationMode": "DEFAULT | OVERRIDDEN", "parserMode": "DEFAULT | OVERRIDDEN", "overrideLambda": "string" }
次のリストでは、 ModelInvocationInput オブジェクトのフィールドについて説明します。
-
traceId
- トレースの一意な識別子。 -
text
- このステップでエージェントに提供されたプロンプトのテキスト。 -
type
- エージェントのプロセスの現在のステップ。 -
inferenceConfiguration
- レスポンス生成に影響する推論パラメータ。詳細については、「推論パラメータ」を参照してください。 -
promptCreationMode
– このステップでエージェントのデフォルトのベースプロンプトテンプレートが上書きされたかどうか。詳細については、「Amazon Bedrock の高度なプロンプト」を参照してください。 -
parserMode
– このステップでエージェントのデフォルトのレスポンスパーサーが上書きされたかどうか。詳細については、「Amazon Bedrock の高度なプロンプト」を参照してください。 -
overrideLambda
– デフォルトのパーサーがオーバーライドされた場合にレスポンスを解析するために使用されるパーサー Lambda 関数の Amazon リソースネーム (ARN)。詳細については、「Amazon Bedrock の高度なプロンプト」を参照してください。
各トレースタイプの詳細については、以下のセクションを参照してください。
{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "parsedResponse": { "isValid": boolean, "rationale": "string" }, "traceId": "string" } }
PreProcessingTrace は、 ModelInvocationInput オブジェクトと PreProcessingModelInvocationOutput オブジェクトで構成されます。PreProcessingModelInvocationOutput には、以下のフィールドが含まれています。
-
parsedResponse
- 解析されたユーザープロンプトに関する以下の詳細が含まれます。-
isValid
– ユーザープロンプトが有効かどうかを指定します。 -
rationale
- エージェントが次に取るべきステップの理由を指定します。
-
-
traceId
- トレースの一意な識別子。
オーケストレーションは、 ModelInvocationInput オブジェクトと、Rationale 、、InvocationInputおよび Observation オブジェクトの任意の組み合わせで構成されます。各オブジェクトの詳細については、次のタブから選択します。
{ "modelInvocationInput": { // see above for details }, "rationale": { ... }, "invocationInput": { ... }, "observation": { ... } }
{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "parsedResponse": { "text": "string" }, "traceId": "string" } }
PostProcessingTrace は、 ModelInvocationInput オブジェクトと PostProcessingModelInvocationOutput オブジェクトで構成されます。には、次のフィールドPostProcessingModelInvocationOutputが含まれます。
-
parsedResponse
– パーサー関数によってテキストが処理された後にユーザーにtext
返される が含まれます。 -
traceId
- トレースの一意な識別子。
{ "failureReason": "string", "traceId": "string" }
次のリストでは、 FailureTrace オブジェクトのフィールドについて説明します。
-
failureReason
- ステップが失敗した理由。 -
traceId
- トレースの一意な識別子。
{ "action": "GUARDRAIL_INTERVENED" | "NONE", "inputAssessments": [GuardrailAssessment], "outputAssessments": [GuardrailAssessment] }
次のリストでは、 GuardrailAssessment オブジェクトのフィールドについて説明します。
-
action
– ガードレールが入力データに介入したかどうかを示します。オプションはGUARDRAIL_INTERVENED
または ですNONE
。 -
inputAssessments
– ユーザー入力のガードレール評価の詳細。 -
outputAssessments
– レスポンスの Guardrail 評価の詳細。
GuardrailAssessment
オブジェクトとガードレールのテストの詳細については、「」を参照してくださいガードレールのテスト。
GuardrailAssessment 例:
{ "topicPolicy": { "topics": [{ "name": "string", "type": "string", "action": "string" }] }, "contentPolicy": { "filters": [{ "type": "string", "confidence": "string", "action": "string" }] }, "wordPolicy": { "customWords": [{ "match": "string", "action": "string" }], "managedWordLists": [{ "match": "string", "type": "string", "action": "string" }] }, "sensitiveInformationPolicy": { "piiEntities": [{ "type": "string", "match": "string", "action": "string" }], "regexes": [{ "name": "string", "regex": "string", "match": "string", "action": "string" }] } }