

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

# CloudWatch を使用して AI エージェントをモニタリングする
<a name="monitor-ai-agents"></a>

AI エージェントがエージェントに提供するリアルタイムのレコメンデーションと、自然言語を理解して検出する顧客の意図を可視化するには、CloudWatch Logs にクエリを実行できます。CloudWatch Logs を使用すると、会話、トリガー、インテント、推奨事項など、コンタクトジャーニー全体を確認できます。また、この情報をデバッグに使用することも、サポートを依頼 サポート するときに に提供することもできます。

このトピックでは、AI エージェントのログ記録を有効にする方法について説明します。

**Topics**
+ [必要な IAM 許可](#permissions-cw-q)
+ [ログ記録の有効化](#enable-assistant-logging)
+ [サポートされているログのタイプ](#supported-log-types-q)
+ [CloudWatch Logs のクォータを確認する](#cwl-quotas)
+ [インタラクティブハンドラーを使用した CloudWatch Events の文書化](#documenting-cw-events-ih)
+ [アシスタントログをデバッグするための一般的なクエリの例](#example2-assistant-log)

## 必要な IAM 許可
<a name="permissions-cw-q"></a>

Connect アシスタントのログ記録を有効にする前に、次の AWS Identity and Access Management アクセス許可があることを確認してください。Connect Customer コンソールにサインインしているユーザーアカウントに必要です。
+ `wisdom:AllowVendedLogDeliveryForResource`: アシスタントリソースのログの提供を許可するために必要です。

特定のロギング先に必要なすべてのアクセス許可を持つ IAM ロールの例を表示するには、「[追加のアクセス許可が必要なロギング [V2]](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions-V2)」を参照してください。そのトピックには、CloudWatch Logs に送信されたログや Amazon S3 に送信されたログなど、さまざまなロギング先の例が含まれています。この例は、特定のロギング先リソースの更新を許可する方法を示しています。

## AI エージェントのログ記録を有効にする
<a name="enable-assistant-logging"></a>

AI エージェントのログ記録を有効にするには、CloudWatch API を使用します。以下の手順を実行します。

1. *アシスタント* ([*ドメイン*](ai-agent-initial-setup.md#ai-agent-requirements)とも呼ばれます) の ARN を取得します。[アシスタントを作成](ai-agent-initial-setup.md#enable-ai-agents-step1)したら、Connect Customer コンソールから、または [GetAssistant](https://docs.aws.amazon.com/connect/latest/APIReference/API_amazon-q-connect_GetAssistant.html) API を呼び出して、その ARN を取得できます。ARN はこの形式に従います。

   `arn:aws:wisdom:your-region:your-account-id:assistant/assistant-id`

1. [PutDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html) を呼び出す: この CloudWatch API を使用して、アシスタントの配信ソースを作成します。アシスタントの ARN を `resourceArn` として渡します。`logType` 、アシスタントからログを収集するために `EVENT_LOGS` を指定します。

   ```
   {
   "logType": "EVENT_LOGS",
   "name": "{{your-assistant-delivery-source}}",
   "resourceArn": "arn:aws:wisdom:{{your-region}}:{{your-account-id}}:assistant/{{assistant_id}}
   }
   ```

1. [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html) を呼び出す: この CloudWatch API を使用して、ログの保存先を設定します。ログの保存先として、CloudWatch Logs、Amazon S3、または Amazon Data Firehose を選択できます。ログの保存先として、保存先オプション 1 つの ARN を指定する必要があります。ログの `outputFormat` は以下のいずれかを選択できます: `json`、`plain`、`w3c`、`raw`、`parquet`。

   次の例は、Amazon CloudWatch Logs グループに JSON 形式でログを保存するように設定する方法を示しています。

   ```
   {
   "deliveryDestinationConfiguration": {
       "destinationResourceArn": "arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group-name}}:*"
   },
   "name": "string",
   "outputFormat": "json",
   "tags": {
       "key": "value"
   }
   }
   ```

1. [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html) を呼び出す: この CloudWatch API を使用して、配信ソースを前のステップで作成した配信先にリンクします。この API オペレーションは、配信ソースを最終配信先と関連付けます。

   ```
   {
   "deliveryDestinationArn": "string",
   "deliverySourceName": "string",
   "tags": {
       "string": "string"
   }
   }
   ```

次の例は、前のステップを一連の AWS CLI コマンドとして実行する方法を示しています。この例では、アシスタントのイベントログを有効にし、ログを Amazon CloudWatch Logs ロググループに送信します。コマンドを順番に実行し、各{{値を}}独自のリソース名と ARNs。

1. アシスタントの配信ソースを作成します。アシスタント ARN をリソース ARN として使用し、 をログタイプ`EVENT_LOGS`として指定します。

   ```
   aws logs put-delivery-source \
       --name {{your-assistant-delivery-source}} \
       --resource-arn arn:aws:wisdom:{{your-region}}:{{your-account-id}}:assistant/{{assistant-id}} \
       --log-type EVENT_LOGS
   ```

1. ロググループを指す配信先を作成します。代わりに Amazon S3 または Amazon Data Firehose にログを送信するには、そのリソース ARN を指定します。

   ```
   aws logs put-delivery-destination \
       --name {{your-delivery-destination}} \
       --delivery-destination-configuration "destinationResourceArn=arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group-name}}" \
       --output-format json
   ```

1. 配信ソースを配信先にリンクします。前のコマンドが返す送信先 ARN を使用します。

   ```
   aws logs create-delivery \
       --delivery-source-name {{your-assistant-delivery-source}} \
       --delivery-destination-arn arn:aws:logs:{{your-region}}:{{your-account-id}}:delivery-destination:{{your-delivery-destination}}
   ```

配信を作成したら、ロググループのログイベントを表示できます。ログ記録が機能することを確認するには、アシスタントアクティビティを生成し、「」の説明に従ってロググループをクエリします[アシスタントログをデバッグするための一般的なクエリの例](#example2-assistant-log)。

## サポートされているログのタイプ
<a name="supported-log-types-q"></a>

AI エージェントは、次のログタイプをサポートしています。
+ `EVENT_LOGS`: 通話、チャット、タスク、E メール中の Connect アシスタントのイベントを追跡するログ。

## CloudWatch Logs のクォータを確認する
<a name="cwl-quotas"></a>

[Amazon CloudWatch Logs のエンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/cwl_region.html)をチェックして、CloudWatch Logs の配信関連の API コールを行うためのクォータがあるかどうかを確認することをお勧めします。クォータは、API を呼び出したり、リソースを作成したりできる最大回数を設定します。制限を超えると `ServiceQuotaExceededException` エラーが発生します。

## インタラクティブハンドラーを使用した CloudWatch Events の文書化
<a name="documenting-cw-events-ih"></a>

### イベントタイプの定義
<a name="event-type-definitions"></a>

次の表で各イベントタイプについて説明します。イベントタイプごとに異なるフィールドが含まれていることに注意してください。各フィールドの詳細については、「[フィールドの定義](#field-definitions)」セクションを参照してください。


| EventType | 定義 | 
| --- | --- | 
| TRANSCRIPT\_CREATE\_SESSION | 新しい AI エージェントセッションが作成されるとログに記録されます。これは会話の始まりです。 | 
| TRANSCRIPT\_INTENT\_TRIGGERING\_REFERENCE | 会話で特定の顧客のインテントが検出されるとログに記録され、自動応答やワークフローがトリガーされる可能性があります。 | 
| TRANSCRIPT\_LARGE\_LANGUAGE\_MODEL\_INVOCATION | レスポンスの生成や会話コンテンツの処理のために大規模言語モデル (LLM) が呼び出されるとログに記録されます。LLM への入力と出力を記録します。 | 
| TRANSCRIPT\_QUERY\_ASSISTANT | 次のいずれかの AI エージェントが呼び出されるとログに記録されます: AnswerRecommendation、CaseSummarization、EmailGenerativeAnswer、EmailOverview、EmailResponse、ManualSearch、NoteTaking。 | 
| TRANSCRIPT\_RECOMMENDATION | システムがエージェントまたは顧客にレコメンデーションを提供するときにログに記録されます。これには、ナレッジ記事、生成されたレスポンス、または推奨されるアクションが含まれます。 | 
| TRANSCRIPT\_RESULT\_FEEDBACK | 検索またはクエリ結果の有用性または関連性に関するフィードバックが提供されたときにログに記録されます。 | 
| TRANSCRIPT\_SELF\_SERVICE\_MESSAGE | 顧客がSelfService AI エージェントとやり取りしたときにログに記録されます | 
| TRANSCRIPT\_SESSION\_POLLED | エージェントがセッションに接続されていることをシステムが検出したときにログに記録されます (GetRecommendations API コールが行われたときにセッションがポーリングされます) | 
| TRANSCRIPT\_TRIGGER\_DETECTION\_MODEL\_INVOCATION | 会話にインテントがあるかどうかを判断するためにトリガー検出モデルが呼び出されたときにログに記録されます | 
| TRANSCRIPT\_UTTERANCE | 会話の参加者がメッセージを送信したときにログに記録され、実際の会話の内容が記録されます。 | 
| TRANSCRIPT\_ORCHESTRATION\_MESSAGE | 最初の顧客メッセージ、ボットテキストレスポンス、推論、ツール使用リクエスト、ツール結果など、オーケストレーションループ内の各ステップについてログに記録されます。オーケストレーション AI エージェントによって実行されるマルチターンエージェント推論の詳細をすべてキャプチャします。 | 
| TRANSCRIPT\_ORCHESTRATION\_ERROR | オーケストレーションの反復の最大数を超える、システム容量の制約、一般的なオーケストレーションの失敗など、オーケストレーション中にエラーが発生した場合にログに記録されます。 | 
| トランスクリプト\_AI\_AGENT\_TRACE | AI エージェントオーケストレーション中に実行スパンごとにログ記録され、LLM 設定、トークン使用状況、メッセージ、ガードレール評価結果などの詳細なトレースをキャプチャします。 | 

### フィールドの定義
<a name="field-definitions"></a>

次の表に各フィールドの説明を示します。


| フィールド | 定義 | 
| --- | --- | 
| ai\_agent\_id | AI エージェントリソースの一意の識別子。 | 
| assistant\_id | Connect Assistant リソースの一意の識別子。 | 
| completion | LLM によって返されるか、メッセージ用に生成された未加工の完了テキスト。 | 
| connect\_user\_arn | セッションにアクセスする Connect ユーザーの Amazon リソースネーム (ARN)。 | 
| event\_timestamp | イベントが発生したときの Unix タイムスタンプ (ミリ秒単位)。 | 
| event\_type | システムで発生したアクションまたはプロセスを示すイベントのタイプ。 | 
| generation\_id | 特定の AI 生成レスポンスの一意の識別子。 | 
| intent | インテントのテキストまたは説明。 | 
| intent\_clicked | クリックされたインテントによってレコメンデーションがトリガーされたかどうかを示すブール値。 | 
| intent\_id | 検出されたインテント用の一意の識別子。 | 
| issue\_probability | 会話で問題が検出された数値確率 (0.0～1.0) (0.5 を超える確率はインテント生成を呼び出します) | 
| is\_recommendation\_useful | 結果を役に立ったとユーザーが感じたかどうかを示すブール値。 | 
| is\_valid\_trigger | 検出モデル分析が有効なトリガーになったかどうかを示すブール値。 | 
| model\_id | LLM の呼び出しに使用される AI モデルの識別子。 | 
| parsed\_response | 言語モデルレスポンスの処理/解析バージョン。多くの場合、構造化形式です。 | 
| prompt | LLM の呼び出しに使用される入力プロンプト。 | 
| prompt\_type | メッセージまたはクエリの処理に使用される AI プロンプトのタイプ。 | 
| recommendation | ユーザーに提供される実際のレコメンデーションテキストコンテンツ | 
| recommendation\_id | レコメンデーションの一意の識別子。 | 
| response | 処理後にユーザーに対して生成された最終レスポンステキスト。 | 
| session\_event\_id | セッション内の特定のイベントの一意の識別子。 | 
| session\_event\_ids | セッションイベント識別子のリスト。 | 
| session\_id | AI エージェントセッションの一意の識別子。 | 
| session\_message\_id | セッション内のセルフサービスメッセージの一意の識別子。 | 
| session\_name | セッションの名前。 | 
| utterance | 会話で交換された実際のメッセージテキスト。 | 
| orchestration\_id | オーケストレーション実行の一意の識別子。オーケストレーションをトリガーした最初の顧客メッセージ ID に対応します。 | 
| orchestration\_iteration | オーケストレーションループ内の反復番号。 | 
| ai\_agent\_orchestration\_use\_case | CONNECT\_AGENT\_ASSISTANCE または などのオーケストレーターのユースケースCONNECT\_SELF\_SERVICE。 | 
| 参加者 | CUSTOMER や など、メッセージの参加者ロールBOT。 | 
| 値 | メッセージ値の JSON シリアル化されたリスト。各エントリのタイプは、 text (テキスト値を含む）、 tool\_use (toolUseId、toolId、名前、引数を含む）、 tool\_result (toolUseId、toolId、名前、値、エラーを含む）、または reasoning (テキスト値を含む) です。 | 
| ガードレールブロック | レスポンスが AI ガードレールによってブロックされたかどうかを示すブール値。 | 
| orchestration\_error | errorMessage およびオプションの errorDetails オブジェクト ( estimatedInputTokens および を含むestimatedOutputTokens) を含む JSON シリアル化されたエラーの詳細。 | 
| スパン | フルスパンオブジェクトの JSON シリアル化されたマップ。各キーは snake\_case です。重要なキーには、 input\_messages (モデルに送信された会話履歴)output\_messages、 (モデルレスポンスメッセージ）、 guardrail\_assessments (guardrailId、、guardrailName、および を使用したガードレール評価結果のリストpolicies)sourceaction、 input\_messages\_truncated ("true"入力メッセージが 256KB のレコード制限に合わせて切り捨てられた場合) などがあります。event\_type が の場合にのみ表示されますTRANSCRIPT\_AI\_AGENT\_TRACE。 | 

### アシスタントログの例
<a name="assistant-log-examples"></a>

以下は、イベントタイプごとに異なるイベントログの例です。各イベントタイプの詳細な説明については、「[イベントタイプの定義](#event-type-definitions)」セクションを参照してください。

#### CreateSession
<a name="create-session-example"></a>

```
{
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530173612,
"event_type": "TRANSCRIPT_CREATE_SESSION",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"session_name": "nabbccdd-9999-4b23-aaee-112233445566"
}
```

#### IntentTriggeringReference
<a name="intent-triggering-reference-example"></a>

```
{
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530173623,
"event_type": "TRANSCRIPT_INTENT_TRIGGERING_REFERENCE",
"intent": "To learn about how to autoscale DynamoDB.",
"intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa"
}
```

#### LargeLanguageModelInvocation
<a name="large-language-model-invocation-example"></a>

クエリの再構築

```
{
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"completion": "<query>The customer is asking for information on how to autoscale DynamoDB.</query>",
"event_timestamp": 1729530173645,
"event_type": "TRANSCRIPT_LARGE_LANGUAGE_MODEL_INVOCATION",
"generation_id": "gabc1234-9def-47ff-bb88-abcdefabcdef",
"intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5"
"model_id": "us.amazon.nova-lite-v1:0",
"parsed_response": "The customer is asking for information on how to autoscale DynamoDB.",
"prompt": "{\"anthropic_version\":\"bedrock-2023-05-31\",\"max_tokens\":1024,\"system\":\"You are a...\"}",
"prompt_type": "BEDROCK_KB_QUERY_REFORMULATION",
"session_event_id": "seaa9988-2233-4f44-8899-abcabcabcabc",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa"
}
```

インテント検出

```
{
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"completion": "no</malice>\n  - Step 2. <specific>yes</specific>\n  - Step 3. <intent>To learn how to autoscale DynamoDB.</intent>",
"event_timestamp": 1729530173645,
"event_type": "TRANSCRIPT_LARGE_LANGUAGE_MODEL_INVOCATION",
"generation_id": "gabc1234-9def-47ff-bb88-abcdefabcdef",
"intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5"
"model_id": "us.amazon.nova-lite-v1:0",
"parsed_response": "To learn how to autoscale DynamoDB.",
"prompt": "{\"anthropic_version\":\"bedrock-2023-05-31\",\"max_tokens\":1024,\"system\":\"You are a...\"}",
"prompt_type": "GENERATIVE_INTENT_DETECTION",
"session_event_id": "seaa9988-2233-4f44-8899-abcabcabcabc",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa"
}
```

インテントの回答の生成

```
{
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"completion": "{\"citations\":[{\"citation\":{\"generatedResponsePart\":{\"textResponsePart\":{\"span\":{\"end\":1065,\"start\":0},\"text\":\"\\nDynamoDB auto s\"}}}}]}",
"event_timestamp": 1729530173645,
"event_type": "TRANSCRIPT_LARGE_LANGUAGE_MODEL_INVOCATION",
"generation_id": "gabc1234-9def-47ff-bb88-abcdefabcdef",
"intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5",
"model_id": "us.anthropic.claude-3-7-sonnet-20250219-v1:0",
"parsed_response": "DynamoDB auto scaling works by creating CloudWatch alarms that monitor your table's activity. When the...",
"prompt": "{\"input\":{\"text\":\"The customer is seeking information on how to autoscale DynamoDB. Key utterance: \\\"How can \"}}",
"prompt_type": "BEDROCK_KB_GENERATIVE_ANSWER",
"session_event_id": "seaa9988-2233-4f44-8899-abcabcabcabc",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa"
}
```

手動検索の生成

```
{
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"completion": "no</malice>\n  - Step 2. <specific>yes</specific>\n  - Step 3. <intent>To learn how to autoscale DynamoDB.</intent>",
"event_timestamp": 1729530173645,
"event_type": "TRANSCRIPT_LARGE_LANGUAGE_MODEL_INVOCATION",
"generation_id": "gabc1234-9def-47ff-bb88-abcdefabcdef",
"intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5",
"model_id": "us.anthropic.claude-3-7-sonnet-20250219-v1:0",
"parsed_response": "DynamoDB auto scaling works by creating CloudWatch alarms that monitor...",
"prompt": "{\"anthropic_version\":\"bedrock-2023-05-31\",\"max_tokens\":1024,\"system\":\"You are a...\"}",
"prompt_type": "BEDROCK_KB_GENERATIVE_ANSWER",
"session_id": "******************-*****************"
}
```

#### QueryAssistant
<a name="query-assistant-example"></a>

```
{
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530173667,
"event_type": "TRANSCRIPT_QUERY_ASSISTANT",
"recommendation_id": "r0001112-3f4e-4fa5-9111-aabbccddeeff",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa"
}
```

#### 推奨事項
<a name="recommendation-example"></a>

```
{
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530173656,
"event_type": "TRANSCRIPT_RECOMMENDATION",
"intent_clicked": 1,
"intent_id": "i78bc90-1234-4dce-8012-f0e1d2c3b4a5",
"recommendation_id": "r0001112-3f4e-4fa5-9111-aabbccddeeff",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa"
}
```

#### ResultFeedback
<a name="result-feedback-example"></a>

```
{
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530173667,
"event_type": "TRANSCRIPT_RESULT_FEEDBACK",
"generation_id": "gabc1234-9def-47ff-bb88-abcdefabcdef",
"is_recommendation_useful": 1,
"recommendation_id": "r0001112-3f4e-4fa5-9111-aabbccddeeff"
}
```

#### SelfServiceMessage
<a name="self-service-message-example"></a>

```
{
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"completion": "{\"citations\":[{\"generatedResponsePart\":{\"textResponsePart\":{\"span\":{\"end\":276,\"start\":0},\"text\":\"To autoscale Amazon DynamoDB...\"}}]}",
"event_timestamp": 1729530173678,
"event_type": "TRANSCRIPT_SELF_SERVICE_MESSAGE",
"model_id": "us.amazon.nova-pro-v1:0",
"parsed_response": "To autoscale Amazon DynamoDB, follow these steps:...",
"prompt": "{\"input\":{\"text\":\"how to autoscale dynamodb\"},\"retrieveAndGenerateConfiguration\":...}",
"prompt_type": "SELF_SERVICE_ANSWER_GENERATION",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"session_message_id": "mdee1234-5678-4eab-9333-ffeebb998877",
"utterance": "[Customer] How can I autoscale DyanmoDB?"
}
```

#### TranscriptSessionPolled
<a name="transcript-session-polled-example"></a>

```
{
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"connect_user_arn": "arn:aws:connect:us-east-1:204585150770:instance/seaa9988-2233-4f44-8899-abcabcabcabc/agent/agbbccdd-9999-4b23-aaee-112233445566",
"event_timestamp": 1729530173623,
"event_type": "TRANSCRIPT_SESSION_POLLED",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"session_name": "nabbccdd-9999-4b23-aaee-112233445566"
}
```

#### TriggerDetectionModelInvocation
<a name="trigger-detection-model-invocation-example"></a>

```
{
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530173634,
"event_type": "TRANSCRIPT_TRIGGER_DETECTION_MODEL_INVOCATION",
"is_valid_trigger": 1,
"issue_probability": "0.87",
"session_event_id": "seaa9988-2233-4f44-8899-abcabcabcabc",
"session_event_ids": ["seaa9988-2233-4f44-8899-abcabcabcabc"],
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa"
}
```

#### Utterance
<a name="utterance-example"></a>

```
{
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530173623,
"event_type": "TRANSCRIPT_UTTERANCE",
"session_event_id": "seaa9988-2233-4f44-8899-abcabcabcabc",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"utterance": "[Customer] My laptop won't connect to WiFi after the recent update"
}
```

#### OrchestrationMessage
<a name="orchestration-message-example"></a>

顧客メッセージ

```
{
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"ai_agent_orchestration_use_case": "CONNECT_AGENT_ASSISTANCE",
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530173612,
"event_type": "TRANSCRIPT_ORCHESTRATION_MESSAGE",
"model_id": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
"orchestration_id": "m1234567-abcd-4ef0-9876-aabbccddeeff",
"participant": "CUSTOMER",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"session_message_id": "m1234567-abcd-4ef0-9876-aabbccddeeff",
"values": "[{\"type\":\"text\",\"value\":\"How do I reset my password?\"}]"
}
```

ボットテキストレスポンス

```
{
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"ai_agent_orchestration_use_case": "CONNECT_AGENT_ASSISTANCE",
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530174234,
"event_type": "TRANSCRIPT_ORCHESTRATION_MESSAGE",
"guardrail_blocked": false,
"model_id": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
"orchestration_id": "m1234567-abcd-4ef0-9876-aabbccddeeff",
"orchestration_iteration": 1,
"participant": "BOT",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"session_message_id": "mfff1234-5678-4eab-9333-112233445566",
"values": "[{\"type\":\"text\",\"value\":\"I can help you reset your password. Let me look up your account.\"}]"
}
```

ツール使用

```
{
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"ai_agent_orchestration_use_case": "CONNECT_AGENT_ASSISTANCE",
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530174500,
"event_type": "TRANSCRIPT_ORCHESTRATION_MESSAGE",
"model_id": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
"orchestration_id": "m1234567-abcd-4ef0-9876-aabbccddeeff",
"orchestration_iteration": 1,
"participant": "BOT",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"session_message_id": "maaa2222-3333-4bbb-cccc-ddddeeeeffff",
"values": "[{\"type\":\"tool_use\",\"toolUseId\":\"toolu_01ABC\",\"toolId\":\"ResetPassword\",\"name\":\"ResetPassword\",\"arguments\":{\"email\":\"customer@example.com\"}}]"
}
```

ツールの結果

```
{
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"ai_agent_orchestration_use_case": "CONNECT_AGENT_ASSISTANCE",
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530175100,
"event_type": "TRANSCRIPT_ORCHESTRATION_MESSAGE",
"model_id": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
"orchestration_id": "m1234567-abcd-4ef0-9876-aabbccddeeff",
"orchestration_iteration": 1,
"participant": "BOT",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"session_message_id": "mbbb3333-4444-5ccc-dddd-eeeeffff0000",
"values": "[{\"type\":\"tool_result\",\"toolUseId\":\"toolu_01ABC\",\"toolId\":\"ResetPassword\",\"name\":\"ResetPassword\",\"values\":[{\"type\":\"text\",\"value\":\"Password reset email sent successfully.\"}],\"error\":null}]"
}
```

推論

```
{
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"ai_agent_orchestration_use_case": "CONNECT_AGENT_ASSISTANCE",
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530175200,
"event_type": "TRANSCRIPT_ORCHESTRATION_MESSAGE",
"model_id": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
"orchestration_id": "m1234567-abcd-4ef0-9876-aabbccddeeff",
"orchestration_iteration": 1,
"participant": "BOT",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"session_message_id": "mccc4444-5555-6ddd-eeee-ffff00001111",
"values": "[{\"type\":\"reasoning\",\"value\":\"The password reset was successful. I should inform the customer and ask if they need further help.\"}]"
}
```

#### OrchestrationError
<a name="orchestration-error-example"></a>

オーケストレーションの最大反復回数を超えました

```
{
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"ai_agent_orchestration_use_case": "CONNECT_AGENT_ASSISTANCE",
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530180000,
"event_type": "TRANSCRIPT_ORCHESTRATION_ERROR",
"model_id": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
"orchestration_error": "{\"errorMessage\":\"The orchestration exceeded the maximum number of iterations\"}",
"orchestration_id": "m1234567-abcd-4ef0-9876-aabbccddeeff",
"orchestration_iteration": 9,
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa"
}
```

システム容量の制約

```
{
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"ai_agent_orchestration_use_case": "CONNECT_AGENT_ASSISTANCE",
"assistant_id": "a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530180000,
"event_type": "TRANSCRIPT_ORCHESTRATION_ERROR",
"model_id": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
"orchestration_error": "{\"errorMessage\":\"System capacity is constrained. We are actively working on scaling system to prevent such failures.\",\"errorDetails\":{\"estimatedInputTokens\":50000,\"estimatedOutputTokens\":2048}}",
"orchestration_id": "m1234567-abcd-4ef0-9876-aabbccddeeff",
"orchestration_iteration": 3,
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa"
}
```

#### AIAgentTrace
<a name="ai-agent-trace-example"></a>

オーケストレーションスパンの成功 (ガードレールの介入なし)

```
{
"timestamp": 1729530173612,
"resource_arn": "arn:aws:wisdom:us-east-1:204585150770:assistant/a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530175612,
"event_type": "TRANSCRIPT_AI_AGENT_TRACE",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"model_id": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
"span": {
    "span_id": "7a3f2b1c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
    "parent_span_id": "eb06e7cf-c3ba-4e75-86ef-ba761fd0ee30",
    "span_name": "inference",
    "span_type": "CLIENT",
    "start_timestamp": "1729530173612",
    "end_timestamp": "1729530175612",
    "status": "OK",
    "operation_name": "inference",
    "provider_name": "aws.bedrock",
    "session_name": "nabbccdd-9999-4b23-aaee-112233445566",
    "ai_agent_arn": "arn:aws:wisdom:us-east-1:204585150770:ai-agent/ai112233-7a85-4b3c-8def-0123456789ab",
    "ai_agent_type": "ANSWER_RECOMMENDATION",
    "ai_agent_name": "MyAgent",
    "ai_agent_version": "3",
    "ai_agent_orchestrator_use_case": "Connect.AgentAssistance",
    "request_model": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
    "request_max_tokens": "4096",
    "temperature": "1.0",
    "response_finish_reasons": "[\"end_turn\"]",
    "usage_input_tokens": "5274",
    "usage_output_tokens": "266",
    "usage_total_tokens": "5540",
    "cache_read_input_tokens": "4800",
    "cache_write_input_tokens": "0",
    "prompt_arn": "arn:aws:wisdom:us-east-1:204585150770:ai-prompt/prompt-abc:2",
    "prompt_id": "prompt-abc",
    "prompt_type": "ORCHESTRATION",
    "prompt_name": "Agent Assistance Orchestration",
    "prompt_version": "2",
    "time_to_first_token_ms": "850",
    "input_messages": "[{\"messageId\":\"msg-1\",\"participant\":\"CUSTOMER\",\"timestamp\":1729530173000,\"values\":[{\"text\":{\"value\":\"How can I autoscale DynamoDB?\"}}]}]",
    "output_messages": "[{\"messageId\":\"msg-2\",\"participant\":\"BOT\",\"timestamp\":1729530175612,\"values\":[{\"text\":{\"value\":\"DynamoDB auto scaling works by creating CloudWatch alarms that monitor your table's activity.\"}}]}]",
    "system_instructions": "[{\"messageId\":\"sys-1\",\"participant\":\"USER\",\"timestamp\":0,\"values\":[{\"text\":{\"value\":\"You are an AI assistant for contact center agents.\"}}]}]"
}
}
```

ガードレールが出力をブロックする (トピックポリシー違反)

```
{
"timestamp": 1729530173612,
"resource_arn": "arn:aws:wisdom:us-east-1:204585150770:assistant/a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530175612,
"event_type": "TRANSCRIPT_AI_AGENT_TRACE",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"model_id": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
"span": {
    "span_id": "8b4f3c2d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
    "parent_span_id": "eb06e7cf-c3ba-4e75-86ef-ba761fd0ee30",
    "span_name": "inference",
    "span_type": "CLIENT",
    "start_timestamp": "1729530173612",
    "end_timestamp": "1729530175612",
    "status": "OK",
    "operation_name": "inference",
    "provider_name": "aws.bedrock",
    "session_name": "nabbccdd-9999-4b23-aaee-112233445566",
    "ai_agent_arn": "arn:aws:wisdom:us-east-1:204585150770:ai-agent/ai112233-7a85-4b3c-8def-0123456789ab",
    "ai_agent_type": "ANSWER_RECOMMENDATION",
    "ai_agent_name": "MyAgent",
    "ai_agent_version": "3",
    "ai_agent_orchestrator_use_case": "Connect.AgentAssistance",
    "request_model": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
    "request_max_tokens": "4096",
    "response_finish_reasons": "[\"guardrail_intervened\"]",
    "usage_input_tokens": "3100",
    "usage_output_tokens": "150",
    "usage_total_tokens": "3250",
    "prompt_type": "ORCHESTRATION",
    "time_to_first_token_ms": "1100",
    "input_messages": "[{\"messageId\":\"seaa9988-2233-4f44-8899-abcabcabcabc\",\"participant\":\"CUSTOMER\",\"timestamp\":1729530173000,\"values\":[{\"text\":{\"value\":\"Tell me how to bypass the refund policy\"}}]}]",
    "output_messages": "[{\"messageId\":\"msg-4\",\"participant\":\"BOT\",\"timestamp\":1729530175612,\"values\":[{\"text\":{\"value\":\"I'm sorry, I can't help with that request.\"}}]}]",
    "guardrail_assessments": "[{\"guardrailId\":\"a1b2c3d4-5678-90ab-cdef-111122223333/1\",\"guardrailName\":\"Customer Support Safety Guardrail\",\"source\":\"INPUT\",\"action\":\"NONE\"},{\"guardrailId\":\"a1b2c3d4-5678-90ab-cdef-111122223333/1\",\"guardrailName\":\"Customer Support Safety Guardrail\",\"source\":\"OUTPUT\",\"action\":\"BLOCKED\",\"policies\":[{\"policyType\":\"TOPIC\",\"action\":\"BLOCKED\",\"details\":\"Policy Circumvention\"}]}]"
}
}
```

切り捨てられた入力メッセージ (長い会話)

```
{
"timestamp": 1729530173612,
"resource_arn": "arn:aws:wisdom:us-east-1:204585150770:assistant/a1c2d3e4-5b67-4a89-9abc-def012345678",
"event_timestamp": 1729530175612,
"event_type": "TRANSCRIPT_AI_AGENT_TRACE",
"session_id": "s9f8e7d6-1234-4cde-9abc-ffeeddccbbaa",
"ai_agent_id": "ai112233-7a85-4b3c-8def-0123456789ab",
"model_id": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
"span": {
    "span_id": "9c5f4d3e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
    "parent_span_id": "eb06e7cf-c3ba-4e75-86ef-ba761fd0ee30",
    "span_name": "inference",
    "span_type": "CLIENT",
    "start_timestamp": "1729530173612",
    "end_timestamp": "1729530175612",
    "status": "OK",
    "operation_name": "inference",
    "provider_name": "aws.bedrock",
    "session_name": "nabbccdd-9999-4b23-aaee-112233445566",
    "request_model": "us.anthropic.claude-4-5-sonnet-20250929-v1:0",
    "response_finish_reasons": "[\"end_turn\"]",
    "usage_input_tokens": "48000",
    "usage_output_tokens": "500",
    "usage_total_tokens": "48500",
    "input_messages": "[{\"messageId\":\"msg-98\",\"participant\":\"CUSTOMER\",\"timestamp\":1729530173000,\"values\":[{\"text\":{\"value\":\"What about the shipping timeline?\"}}]}]",
    "input_messages_truncated": "true",
    "output_messages": "[{\"messageId\":\"msg-99\",\"participant\":\"BOT\",\"timestamp\":1729530175612,\"values\":[{\"text\":{\"value\":\"Based on your location, delivery takes 3-5 business days after shipping.\"}}]}]",
    "guardrail_assessments": "[{\"guardrailId\":\"a1b2c3d4-5678-90ab-cdef-111122223333/1\",\"guardrailName\":\"Customer Support Safety Guardrail\",\"source\":\"INPUT\",\"action\":\"NONE\"},{\"guardrailId\":\"a1b2c3d4-5678-90ab-cdef-111122223333/1\",\"guardrailName\":\"Customer Support Safety Guardrail\",\"source\":\"OUTPUT\",\"action\":\"NONE\"}]"
}
}
```

## アシスタントログをデバッグするための一般的なクエリの例
<a name="example2-assistant-log"></a>

クエリを使用してログを操作できます。例えば、`SESSION_NAME` を使用して、セッション内のすべてのイベントをクエリすることができます。

以下は、特定のセッション用に生成されたすべてのログを返すための 2 つの一般的なクエリです。
+  `filter session_name = "{{SessionName}}"`
+ `filter session_id = "{{SessionId}}"`