Amazon ConnectのコンタクトIDごとにAmazon Q in Connectのログを確認する方法
はじめに
Amazon in Connectのログは、Amazon CloudWatch Logsのロググループ内のログストリーム(名前:QiCAssistantTranscript)に保存されます。
Amazon Connectフローログとは異なり、コンタクトごとにログストリームは作成されず、すべてQiCAssistantTranscriptログストリーム内に保存されます。
実際にAmazon Q in Connectのセルフサービスのログは以下のとおりです。
{
"assistant_id": "a1793008-f4de-481b-a9ed-3697ef373ff2",
"event_timestamp": 1753769454663,
"event_type": "TRANSCRIPT_CREATE_SESSION",
"session_id": "9538c045-217c-4105-8b80-4aae0f2557dc",
"session_name": "587804a7-90e0-496b-9435-41d264672411"
}
{
"assistant_id": "a1793008-f4de-481b-a9ed-3697ef373ff2",
"event_timestamp": 1753769461114,
"event_type": "TRANSCRIPT_UTTERANCE",
"session_id": "9538c045-217c-4105-8b80-4aae0f2557dc",
"utterance": "[CUSTOMER] メールアドレスの変更方法を教えてください",
"session_event_id": "e24d3a34-1b08-4a85-a3b5-bb1b596913e4"
}
{
"assistant_id": "a1793008-f4de-481b-a9ed-3697ef373ff2",
"event_timestamp": 1753769481918,
"event_type": "TRANSCRIPT_SELF_SERVICE_MESSAGE",
"session_id": "9538c045-217c-4105-8b80-4aae0f2557dc",
"utterance": "[CUSTOMER] メールアドレスの変更方法を教えてください",
"prompt": "省略",
"prompt_type": "SELF_SERVICE_PRE_PROCESS",
"completion": "{\"output\":{\"message\":{\"role\":\"assistant\",\"content\":[{\"text\":\"メールアドレスの変更方法についての質問は、対応可能な質問リストの1番目に該当しますので、ANSWERツールを使用して回答いたします。\"},{\"toolUse\":{\"toolUseId\":\"tooluse_gMJg8tKwTVCgUsF9bXo1WA\",\"name\":\"ANSWER\",\"input\":{\"message\":\"メールアドレスの変更方法をご案内いたします。まず、当サービスにログインしていただき、アカウント設定のページにお進みください。そちらで、メールアドレスの変更という項目をお選びいただき、新しいメールアドレスをご入力ください。その後、確認手続きを完了していただければ、変更が完了いたします。\"}}}]}},\"stopReason\":\"tool_use\",\"usage\":{\"inputTokens\":4091,\"outputTokens\":219,\"totalTokens\":4310},\"metrics\":{\"latencyMs\":7067}}",
"model_id": "apac.anthropic.claude-3-5-sonnet-20241022-v2:0",
"session_message_id": "b94693c3-fef9-40c1-a746-374a25e78be3",
"parsed_response": "メールアドレスの変更方法をご案内いたします。まず、当サービスにログインしていただき、アカウント設定のページにお進みください。そちらで、メールアドレスの変更という項目をお選びいただき、新しいメールアドレスをご入力ください。その後、確認手続きを完了していただければ、変更が完了いたします。"
}
上記のログから、どのコンタクトIDに紐づいたQ in Connectログなのかを特定する方法について、AWSドキュメントにも記載がないため解説します。
解説
コンタクトID「587804a7-90e0-496b-9435-41d264672411」の場合を検証したところ、session_name
に通話のコンタクトIDが設定されていることが確認できました。
{
"assistant_id": "a1793008-f4de-481b-a9ed-3697ef373ff2",
"event_timestamp": 1753769454663,
"event_type": "TRANSCRIPT_CREATE_SESSION",
"session_id": "9538c045-217c-4105-8b80-4aae0f2557dc",
"session_name": "587804a7-90e0-496b-9435-41d264672411"
}
ただし、event_type
がTRANSCRIPT_CREATE_SESSION
の場合のみsession_name
が出力されます。
ログイベント2、3にはsession_name
は存在しません。
ログイベント1、2、3に存在するsession_id
に設定される値は、各通話(通話のコンタクトID)ごとに共通の値が設定されることを確認できました。
{
"event_type": "TRANSCRIPT_CREATE_SESSION",
"session_id": "9538c045-217c-4105-8b80-4aae0f2557dc",
"session_name": "587804a7-90e0-496b-9435-41d264672411"
}
"event_type": "TRANSCRIPT_UTTERANCE",
"session_id": "9538c045-217c-4105-8b80-4aae0f2557dc",
"session_event_id": "e24d3a34-1b08-4a85-a3b5-bb1b596913e4"
{
"event_type": "TRANSCRIPT_SELF_SERVICE_MESSAGE",
"event_type": "TRANSCRIPT_SELF_SERVICE_MESSAGE",
"session_id": "9538c045-217c-4105-8b80-4aae0f2557dc",
"session_message_id": "b94693c3-fef9-40c1-a746-374a25e78be3",
}
session_id
は、共通の「9538c045-217c-4105-8b80-4aae0f2557dc」であることがわかります。
上記の結果から、どのコンタクトIDに紐づいたQ in Connectログなのかを確認する方法は以下のとおりです。
session_name
が対象の通話のコンタクトIDと一致するログを取得する- 1で取得したログの
session_id
に設定されている値と一致する値がsession_id
に設定されているログをすべて取得する
AWSマネジメントコンソールから、CloudWatch Logsのログイベントをフィルターでそれぞれ確認できます。
{ $.session_name = "587804a7-90e0-496b-9435-41d264672411" }
{ $.session_id = "9538c045-217c-4105-8b80-4aae0f2557dc" }