翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
トレースを使用してエージェントの推論プロセスを追跡する step-by-step
Amazon Bedrock エージェントからの各レスポンスには、エージェントによってオーケストレーションされるステップの詳細を示すトレースが伴います。トレースにより、エージェントが会話のその時点で返すレスポンスに至るまでの推論プロセスを追跡できます。
トレースを使用して、ユーザー入力からレスポンスを返すまでの、エージェントのパスを追跡します。トレースは、エージェントが呼び出すアクショングループへの入力と、ユーザーに応答するためにクエリするナレッジベースに関する情報を提供します。さらに、トレースは、アクショングループとナレッジベースが返す出力に関する情報を提供します。エージェントが実行するアクションやナレッジベースに対して行うクエリを決定するために使用する推論を確認できます。トレースのステップが失敗した場合、トレースは失敗の理由を返します。トレースの詳細な情報を使用して、エージェントのトラブルシューティングを行います。エージェントに問題が発生したり、予期しない動作が発生したりするステップを特定できます。次に、この情報を使用して、エージェントの動作を改善できる方法を検討できます。
トレースの構造
トレースは、コンソールと の両方でJSONオブジェクトとして表示されますAPI。コンソールまたは の各ステップ Trace の は、次のいずれかのトレースAPIになります。
-
PreProcessingTrace – 前処理ステップの入出力をトレースします。この場合、エージェントはユーザー入力をコンテキスト化して分類し、有効かどうかを判断します。
-
OrchestrationTrace – エージェントが入力を解釈し、アクショングループを呼び出し、ナレッジベースをクエリするオーケストレーションステップの入出力をトレースします。次に、エージェントはオーケストレーションを継続するか、ユーザーに応答するために出力を返します。
-
PostProcessingTrace – 後処理ステップの入力と出力をトレースします。このステップでは、エージェントがオーケストレーションの最終出力を処理し、ユーザーにレスポンスを返す方法を決定します。
-
FailureTrace – ステップが失敗した理由をトレースします。
-
GuardrailTrace – Guardrail のアクションをトレースします。
各トレース ( を除く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": { "metadata": { "usage": { "inputToken":: int, "outputToken":: int }, "rawResponse": { "content": "string" } "parsedResponse": { "isValid": boolean, "rationale": "string" }, "traceId": "string" } }
PreProcessingTrace は、 ModelInvocationInput オブジェクトと PreProcessingModelInvocationOutput オブジェクト。PreProcessingModelInvocationOutput には次のフィールドが含まれます。
-
metadata
– 基盤モデルの出力に関する以下の情報が含まれます。usage
– 基盤モデルの使用に関する以下の情報が含まれます。-
inputTokens
– 基盤モデルの使用からの入力トークンに関する情報が含まれます。 -
outputTokens
– 基盤モデルの使用からの出力トークンに関する情報が含まれます。
-
-
rawResponse
– 基盤モデルからの raw 出力が含まれます。-
content
– 基盤モデルの raw 出力コンテンツ。
-
-
parsedResponse
- 解析されたユーザープロンプトに関する以下の詳細が含まれます。-
isValid
– ユーザープロンプトが有効かどうかを指定します。 -
rationale
- エージェントが次に取るべきステップの理由を指定します。
-
-
traceId
- トレースの一意な識別子。
OrchestrationTrace は、 ModelInvocationInput オブジェクト、 OrchestrationModelInvocationOutput オブジェクト、および Rationale 、、InvocationInputおよび Observation オブジェクトの任意の組み合わせ。OrchestrationModelInvocationOutput には次のフィールドが含まれます。Rationale 、InvocationInput、および Observation オブジェクトの詳細については、次のタブから を選択します。
{ "modelInvocationInput": { // see above for details }, "modelInvocationOutput": { "metadata": { "usage": { "inputToken":: int, "outputToken":: int }, "rawResponse": { "content": "string" }, "rationale": { ... }, "invocationInput": { ... }, "observation": { ... } }
{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "rawResponse": { "content": "string" }, "metadata": { "usage": { "inputToken": int, "outputToken": int } }, "parsedResponse": { "text": "string" }, "traceId": "string" } }
PostProcessingTrace は、 ModelInvocationInput オブジェクトと PostProcessingModelInvocationOutput オブジェクト。PostProcessingModelInvocationOutput には、次のフィールドが含まれます。
-
rawResponse
– 基盤モデルからの raw 出力が含まれます。-
content
– 基盤モデルの raw 出力コンテンツ。
-
-
metadata
– 基盤モデルの出力に関する以下の情報が含まれます。usage
– 基盤モデルの使用に関する以下の情報が含まれます。-
inputTokens
– 基盤モデルの使用からの入力トークンに関する情報が含まれます。 -
outputTokens
– 基盤モデルの使用からの出力トークンに関する情報が含まれます。
-
-
parsedResponse
– パーサー関数によってテキストが処理された後にユーザーtext
に戻る が含まれます。 -
traceId
- トレースの一意な識別子。
{ "failureReason": "string", "traceId": "string" }
次のリストは、FailureTraceオブジェクトのフィールドについて説明しています。
-
failureReason
- ステップが失敗した理由。 -
traceId
- トレースの一意な識別子。
{ "action": "GUARDRAIL_INTERVENED" | "NONE", "inputAssessments": [GuardrailAssessment], "outputAssessments": [GuardrailAssessment] }
次のリストは、 GuardrailAssessment オブジェクトのフィールドについて説明しています。
-
action
– ガードレールが入力データに介入したかどうかを示します。オプションはGUARDRAIL_INTERVENED
または ですNONE
。 -
inputAssessments
– ユーザー入力の Guardrail 評価の詳細。 -
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" }] } }