View a markdown version of this page

Surveillez les agents IA à l'aide de CloudWatch - Client Amazon Connect

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Surveillez les agents IA à l'aide de CloudWatch

Pour obtenir une visibilité sur les recommandations en temps réel que les agents IA fournissent à vos agents et sur les intentions des clients qu'ils détectent grâce à la compréhension du langage naturel, vous pouvez interroger CloudWatch les journaux. CloudWatch Les journaux vous donnent une visibilité sur l'ensemble du parcours de contact : la conversation, les déclencheurs, les intentions, les recommandations. Vous pouvez également utiliser ces informations pour le débogage ou les fournir Support lorsque vous les contacterez pour obtenir de l'aide.

Cette rubrique explique comment activer la journalisation pour les agents IA.

Autorisations IAM requises

Avant d'activer la journalisation pour un assistant Connect, vérifiez que vous disposez des Gestion des identités et des accès AWS autorisations suivantes. Ils sont requis pour le compte utilisateur connecté à la console Connect Customer :

  • wisdom:AllowVendedLogDeliveryForResource : Nécessaire pour autoriser la livraison des journaux pour la ressource d’assistant.

Pour afficher un exemple de rôle IAM avec toutes les autorisations requises pour votre destination de journalisation spécifique, consultez la section Journalisation nécessitant des autorisations supplémentaires [V2]. Cette rubrique contient des exemples pour différentes destinations de journalisation, telles que les journaux envoyés à CloudWatch Logs et les journaux envoyés à Amazon S3. Les exemples montrent comment autoriser les mises à jour de votre ressource de destination de journalisation spécifique.

Activer la journalisation pour les agents IA

Pour activer la journalisation pour les agents IA, vous utilisez l' CloudWatch API. Procédez comme suit :

  1. Obtenez l'ARN de votre assistant (également appelé son domaine ). Après avoir créé un assistant, vous pouvez obtenir son ARN depuis la console Connect Customer ou en appelant l'GetAssistantAPI. L’ARN suit le format suivant :

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

  2. Appel PutDeliverySource  : utilisez cette CloudWatch API pour créer une source de diffusion pour l'assistant. Transmettez l’ARN de l’assistant en tant que resourceArn. Pour logType, indiquez à EVENT_LOGS de collecter les journaux auprès de votre assistant.

    { "logType": "EVENT_LOGS", "name": "your-assistant-delivery-source", "resourceArn": "arn:aws:wisdom:your-region:your-account-id:assistant/assistant_id }
  3. Appel PutDeliveryDestination  : utilisez cette CloudWatch API pour configurer l'emplacement de stockage des journaux. Vous pouvez choisir CloudWatch Logs, Amazon S3 ou Amazon Data Firehose comme destination pour le stockage des journaux. Vous devez spécifier l’ARN de l’une des options de destination pour l’emplacement de stockage de vos journaux. Vous pouvez choisir le outputFormat des journaux parmi les suivants : json, plain, w3c, raw, parquet.

    L'exemple suivant montre comment configurer les journaux pour qu'ils soient stockés dans un groupe Amazon CloudWatch Logs et au format JSON.

    { "deliveryDestinationConfiguration": { "destinationResourceArn": "arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*" }, "name": "string", "outputFormat": "json", "tags": { "key": "value" } }
  4. Appel CreateDelivery  : utilisez cette CloudWatch API pour lier la source de livraison à la destination de livraison que vous avez créée lors des étapes précédentes. Cette opération d’API associe la source de livraison à la destination finale.

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

L'exemple suivant montre comment exécuter les étapes précédentes sous la forme d'une séquence de commandes AWS CLI. Cet exemple active la journalisation des événements pour un assistant et envoie les journaux à un groupe de CloudWatch journaux Amazon Logs. Exécutez les commandes dans l'ordre et remplacez-les value par vos propres noms de ressources et ARN.

  1. Créez une source de diffusion pour l'assistant. Utilisez l'ARN de l'assistant comme ARN de ressource et EVENT_LOGS spécifiez-le comme type de journal.

    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
  2. Créez une destination de livraison qui pointe vers votre groupe de journaux. Pour envoyer les journaux à Amazon S3 ou Amazon Data Firehose à la place, spécifiez l'ARN de cette ressource.

    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
  3. Liez la source de livraison à la destination de livraison. Utilisez l'ARN de destination renvoyé par la commande précédente.

    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

Après avoir créé la diffusion, vous pouvez consulter les événements enregistrés dans votre groupe de journaux. Pour vérifier que la journalisation fonctionne, générez l'activité de l'assistant, puis interrogez le groupe de journaux comme décrit dansExemples de requêtes courantes pour déboguer les journaux d’assistant.

Types de journaux pris en charge

Les agents IA prennent en charge le type de journal suivant :

  • EVENT_LOGS: journaux qui suivent les événements d'un assistant Connect pendant les appels, les discussions, les tâches et les e-mails.

Vérifiez les quotas de CloudWatch journaux

Nous vous recommandons de vérifier les points de terminaison et les quotas Amazon CloudWatch Logs pour voir s'il existe des quotas pour les appels d'API liés à la diffusion CloudWatch des journaux. Les quotas définissent un nombre maximum de fois que vous pouvez appeler une API ou créer une ressource. Le dépassement de cette limite entraîne une erreur ServiceQuotaExceededException.

Documentation des CloudWatch événements à l'aide d'Interactive Handler

Définitions des types d’événements

Le tableau suivant décrit chaque type d’événement. Notez que les différents types d’événements contiennent des champs différents. Reportez-vous à la section Définitions des champs pour obtenir des informations détaillées sur chaque champ.

EventType Définition
TRANSCRIPT_CREATE_SESSION Enregistré lorsqu'une nouvelle session d'agents IA est créée. Cela marque le début d’une conversation.
TRANSCRIPT_INTENT_TRIGGERING_REFERENCE Enregistré lorsqu'une intention spécifique du client est détectée dans la conversation, ce qui peut déclencher des réponses ou des flux de travail automatisés.
TRANSCRIPT_LARGE_LANGUAGE_MODEL_INVOCATION Journalisé lorsqu’un grand modèle de langage (LLM) est invoqué pour générer des réponses ou traiter le contenu d’une conversation. Enregistre les entrées et les sorties du LLM.
TRANSCRIPT_QUERY_ASSISTANT Enregistré lorsque l'un des agents IA suivants est invoqué : AnswerRecommendation CaseSummarization, EmailGenerativeAnswer, EmailOverview, EmailResponse, ManualSearch, NoteTaking.
TRANSCRIPT_RECOMMENDATION Enregistré lorsque le système fournit une recommandation à un agent ou à un client, qui peut inclure des articles de connaissances, des réponses générées ou des actions suggérées.
TRANSCRIPT_RESULT_FEEDBACK Journalisé lorsque des commentaires sont fournis sur l’utilité ou la pertinence d’une recherche ou d’un résultat de requête.
TRANSCRIPT_SELF_SERVICE_MESSAGE Enregistré lorsqu'un client interagit avec un agent SelfService IA
TRANSCRIPT_SESSION_POLLED Enregistré lorsque le système détecte qu'un agent est connecté à une session (une session est interrogée lorsqu'un appel d' GetRecommendations API a été effectué)
TRANSCRIPT_TRIGGER_DETECTION_MODEL_INVOCATION Journalisé lorsque le modèle de détection du déclencheur est invoqué pour déterminer si une conversation a des intentions
TRANSCRIPT_UTTERANCE Journalisé lorsqu’un message est envoyé par un participant à la conversation, enregistrement du contenu réel de la conversation.
TRANSCRIPTION_ORCHESTRATION_MESSAGE Consigné pour chaque étape d'une boucle d'orchestration, y compris le message initial du client, les réponses textuelles du bot, le raisonnement, les demandes d'utilisation de l'outil et les résultats de l'outil. Capture tous les détails du raisonnement agentique multitour effectué par un agent d'orchestration AI.
ERREUR_D'ORCHESTRATION DE LA TRANSCRIPTION Consigné en cas d'erreur lors de l'orchestration, telle qu'un dépassement du nombre maximum d'itérations d'orchestration, des contraintes de capacité du système ou une défaillance générale de l'orchestration.
TRANSCRIPT_AI_AGENT_TRACE Consigné pour chaque période d'exécution lors de l'orchestration des agents d'IA, capturant des traces détaillées, notamment la configuration LLM, l'utilisation des jetons, les messages et les résultats de l'évaluation du garde-corps.

Définitions des champs

Le tableau suivant décrit chaque champ.

Champ Définition
ai_agent_id Identifiant unique pour la ressource d'agent d'IA.
assistant_id Identifiant unique pour la ressource de l'assistant Connect.
completion Le texte de complétion brut renvoyé par le LLM ou généré pour le message.
connect_user_arn Amazon Resource Name (ARN) de l’utilisateur Connect accédant à la session.
event_timestamp Horodatage Unix (en millisecondes) lorsque l’événement s’est produit.
event_type Type de l’événement, indiquant l’action ou le processus qui s’est produit dans le système.
generation_id Identifiant unique pour une AI-generated réponse spécifique.
intent Le texte ou la description de l’intention.
intent_clicked Booléen indiquant si la recommandation a été déclenchée par une intention cliquée.
intent_id Identifiant unique de l’intention détectée.
issue_probability Probabilité numérique (0,0-1,0) qu’un problème ait été détecté dans la conversation (une probabilité supérieure à 0,5 invoquera la génération d’une intention)
is_recommendation_useful Booléen indiquant si l’utilisateur a trouvé le résultat utile.
is_valid_trigger Booléen indiquant si l’analyse du modèle de détection a abouti à un déclencheur valide.
model_id Identifiant du modèle d’IA utilisé pour invoquer le LLM.
parsed_response processed/parsed Version de la réponse du modèle linguistique, souvent dans un format structuré.
prompt L’invite de saisie utilisée pour invoquer le LLM.
prompt_type Type d'invite IA utilisée pour traiter le message ou la requête.
recommendation Le contenu réel du texte de recommandation fourni à l’utilisateur
recommendation_id Identifiant unique de la recommandation.
response Le texte de réponse final généré pour l’utilisateur après traitement.
session_event_id Identifiant unique pour un événement spécifique au cours de la session.
session_event_ids Liste des identifiants d’événements de session.
session_id Identifiant unique pour la session des agents IA.
session_message_id Identifiant unique pour un message en libre-service au cours d’une session.
session_name Nom de la session.
utterance Le texte réel du message échangé au cours de la conversation.
identifiant_d'orchestration Identifiant unique pour l'orchestration exécutée. Correspond à l'ID du message client initial qui a déclenché l'orchestration.
itération d'orchestration Le numéro d'itération dans la boucle d'orchestration.
cas d'utilisation d'ai_agent_orchestration Le cas d'utilisation de l'orchestrateur, tel que CONNECT_AGENT_ASSISTANCE ouCONNECT_SELF_SERVICE.
participant Le rôle du participant pour le message, tel que CUSTOMER ouBOT.
values JSON-serialized liste des valeurs des messages. Chaque entrée possède un type : text (avec une valeur de texte), tool_use (avec outilUseId, ToolID, nom et arguments), tool_result (avec outilUseId, ToolID, nom, valeurs et erreur) ou reasoning (avec une valeur de texte).
garde-corps bloqué Booléen indiquant si la réponse a été bloquée par un garde-corps IA.
erreur_d'orchestration JSON-serialized détails de l'erreur contenant errorMessage et un errorDetails objet facultatif (avec estimatedInputTokens etestimatedOutputTokens).
envergure JSON-serialized carte de l'objet sur toute sa portée. Chaque clé est snake_case. Les clés les plus importantes incluent input_messages (historique des conversations envoyé au modèle), output_messages (messages de réponse du modèle), guardrail_assessments (liste des résultats de l'évaluation du garde-corps avecguardrailId, guardrailName sourceaction, etpolicies) et input_messages_truncated ("true"lorsque les messages d'entrée ont été tronqués pour correspondre à la limite d'enregistrement de 256 Ko). Présent uniquement quand event_type c'est le casTRANSCRIPT_AI_AGENT_TRACE.

Exemples de journaux d’assistant

Vous trouverez ci-dessous des exemples de journaux d’événements différents pour chaque type d’événement. Reportez-vous à la section Définitions des types d’événements pour obtenir des explications détaillées sur chaque type d’événement.

CreateSession

{ "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

{ "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

Reformulation de requêtes

{ "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" }

Détection d’intention

{ "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" }

Génération de réponse d’intention

{ "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" }

Génération de recherche manuelle

{ "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

{ "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" }

Recommendation

{ "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

{ "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

{ "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

{ "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

{ "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

{ "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

Message du client

{ "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?\"}]" }

Réponse textuelle du bot

{ "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.\"}]" }

Utilisation d’outil

{ "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\"}}]" }

Résultat de l'outil

{ "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}]" }

Raisonnement

{ "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

Nombre maximal d'itérations d'orchestration dépassé

{ "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" }

Contraintes de capacité du système

{ "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

Durée d'orchestration réussie (aucune intervention de garde-corps)

{ "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.\"}}]}]" } }

Guardrail bloque la sortie (violation de la politique thématique)

{ "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\"}]}]" } }

Messages d'entrée tronqués (longue conversation)

{ "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\"}]" } }

Exemples de requêtes courantes pour déboguer les journaux d’assistant

Vous pouvez interagir avec les journaux à l’aide de requêtes. Par exemple, vous pouvez rechercher tous les événements d’une session en utilisant SESSION_NAME.

Voici deux requêtes courantes pour renvoyer tous les journaux générés pour une session spécifique.

  • filter session_name = "SessionName"

  • filter session_id = "SessionId"