Comprendre l'observabilité des ressources agentiques dans AgentCore
Cette section définit les concepts de sessions, de traces et de spans liés à la surveillance et à l'observabilité des agents.
Séances
Une session représente un contexte d'interaction complet entre un utilisateur et un agent. Les sessions encapsulent l'intégralité du flux de conversation ou d'interaction, en maintenant l'état et le contexte des multiples échanges. Chaque session possède un identifiant unique et capture le cycle de vie complet de l'engagement de l'utilisateur avec l'agent, de l'initialisation à la fin.
Les sessions fournissent les fonctionnalités suivantes aux agents :
-
Persistance du contexte dans plusieurs interactions au sein d'une même conversation
-
Gestion de l'état pour la gestion des informations spécifiques à l'utilisateur
-
Suivi de l'historique des conversations pour une compréhension contextuelle
-
Allocation et gestion des ressources pendant la durée de l'interaction
-
Isolation entre les différentes interactions des utilisateurs avec le même agent
Du point de vue de l'observabilité, les sessions fournissent une vue d'ensemble des modèles d'engagement des utilisateurs, ce qui vous permet de surveiller les performances des agents en fonction des métriques, des traces et des intervalles et de comprendre comment les utilisateurs interagissent avec vos agents au fil du temps et selon différents cas d'utilisation.
AgentCore Fournit par défaut un ensemble de mesures d'observabilité au niveau de la session pour les agents qui s'exécutent au moment de l' AgentCore exécution. Vous pouvez consulter les métriques d'exécution dans la CloudWatch console Amazon sur la page d'observabilité de l'IA générative. Cette page propose une variété de graphiques et de visualisations pour vous aider à interpréter les données de vos agents. AgentCore génère également un ensemble de mesures par défaut pour les ressources de mémoire, les ressources de passerelle et les outils intégrés. Toutes ces mesures peuvent être consultées dans CloudWatch. Outre les métriques fournies, des journaux et des intervalles sont fournis par défaut pour les ressources de mémoire. En instrumentant le code de votre agent, vous pouvez capturer des métriques, des journaux et des intervalles personnalisés pour votre agent, qui peuvent également être consultés sur la page d'observabilité CloudWatch générative de l'IA. Consultez les sections suivantes et consultez les données d'observabilité de vos AgentCore agents Amazon Bedrock pour en savoir plus.
Suivis
Une trace représente un enregistrement détaillé d'un cycle de demande-réponse unique commençant par l'invocation d'un agent et peut inclure des appels supplémentaires à d'autres agents. Les traces capturent le chemin d'exécution complet d'une demande, y compris toutes les étapes de traitement internes, les appels de service externes, les points de décision et l'utilisation des ressources. Chaque trace est associée à une session spécifique et fournit une visibilité granulaire sur le comportement de l'agent lors d'une interaction particulière.
Les traces incluent les composants suivants pour les agents :
-
Détails de la demande, y compris les horodatages, les paramètres d'entrée et le contexte
-
Étapes de traitement indiquant la séquence des opérations effectuées
-
Invocations d'outils avec input/output paramètres et temps d'exécution
-
Mesures d'utilisation des ressources telles que le temps de traitement
-
Informations sur les erreurs, y compris les détails des exceptions et les tentatives de restauration
-
Détails de la génération de réponses et sortie finale
Du point de vue de l'observabilité, les traces fournissent des informations approfondies sur le fonctionnement interne de vos agents, ce qui vous permet de résoudre les problèmes, d'optimiser les performances et de comprendre les modèles de comportement. En analysant les données de suivi, vous pouvez identifier les goulots d'étranglement, détecter les anomalies et vérifier que votre agent fonctionne comme prévu dans différents scénarios et entrées.
Pour collecter des données de suivi, vous devez instrumenter le code de votre agent à l'aide du AWS Distro for Open Telemetry (ADOT). Pour en savoir plus, consultez Activation de l'observabilité dans le code AgentCore-hosted des agents pour les agents et Activation de l'observabilité pour les agents hébergés en dehors du code AgentCore des agents.
Spans
Un intervalle représente une unité de travail discrète et mesurable au sein du flux d'exécution d'un agent. Les spans capturent les opérations précises qui se produisent pendant le traitement des demandes, offrant ainsi une visibilité détaillée sur les composants internes et les étapes qui constituent une trace complète. Chaque période a une heure de début et de fin définie, ce qui crée une chronologie précise des activités des agents et de leur durée.
Les spans incluent les attributs essentiels suivants pour l'observabilité des agents :
-
Nom de l'opération identifiant la fonction ou le processus spécifique en cours d'exécution
-
Horodatages indiquant les heures exactes de début et de fin de l'opération
-
Parent-child relations montrant comment les opérations s'intègrent dans des processus plus vastes
-
Balises et attributs fournissant des métadonnées contextuelles sur l'opération
-
Événements marquant des événements importants survenus au cours de la durée de vie de l'intervalle
-
Informations d'état indiquant le succès, l'échec ou d'autres états d'achèvement
-
Mesures d'utilisation des ressources spécifiques à l'opération
Les espaces forment une structure hiérarchique au sein des traces, les espaces parents englobant les espaces enfants qui représentent des opérations plus détaillées. Par exemple, une « requête utilisateur de traitement » de haut niveau peut contenir des intervalles secondaires pour « analyser les entrées », « récupérer le contexte », « générer une réponse » et « formater la sortie ». Cette organisation hiérarchique crée un arbre d'exécution détaillé qui révèle le flux complet des opérations au sein de l'agent.
Par défaut, AgentCore génère un ensemble de données d'intervalle pour les ressources de mémoire uniquement. Ces données peuvent être consultées dans les CloudWatch journaux et les signaux CloudWatch d'application. Pour enregistrer les données de durée pour vos agents ou les ressources de votre passerelle, vous devez équiper votre agent. Pour en savoir plus, consultez Activation de l'observabilité dans le code AgentCore-hosted des agents pour les agents et Activation de l'observabilité pour les agents hébergés en dehors du code AgentCore des agents.
Relation entre les sessions, les traces et les intervalles
Les sessions, les traces et les intervalles forment une relation hiérarchique à trois niveaux dans le cadre d'observabilité pour les agents. Une session contient plusieurs traces, chaque trace représentant une interaction discrète dans le contexte plus large de la session. Chaque trace contient à son tour plusieurs étendues qui capturent les opérations détaillées et les étapes de cette interaction. Cette structure hiérarchique vous permet d'analyser le comportement des agents à différents niveaux de granularité, qu'il s'agisse de modèles de session de haut niveau, de flux d'interaction de niveau intermédiaire ou de chemins d'exécution détaillés pour des opérations spécifiques.
La relation entre ces trois composantes d'observabilité peut être visualisée comme suit :
-
Sessions (niveau le plus élevé) : représentent des conversations utilisateur complètes ou des contextes d'interaction
-
Traces (niveau intermédiaire) : représentent les cycles de demande-réponse individuels au sein d'une session
-
Spans (niveau le plus bas) : représentent des opérations ou des étapes spécifiques au sein d'une trace
Cette relation à plusieurs niveaux permet plusieurs fonctionnalités d'observabilité importantes :
-
Analyse contextuelle des interactions individuelles dans le cadre de leur flux de conversation plus large
-
Corrélation des demandes connexes tout au long du parcours d'interaction d'un utilisateur
-
Résolution progressive des problèmes, qu'il s'agisse d'anomalies au niveau de la session, de modèles au niveau des traces ou de causes profondes au niveau de l'étendue
-
Profilage complet des performances selon différentes dimensions temporelles et fonctionnelles
-
Compréhension holistique des modèles de comportement des agents et de leur évolution tout au long d'une conversation
-
Identification précise des goulots d'étranglement liés aux performances au niveau de l'exploitation grâce à une analyse de la durée
Alors que les traces fournissent une visibilité sur les cycles complets de demande-réponse, les spans fournissent des informations plus approfondies sur le fonctionnement interne de ces cycles. Les spans indiquent exactement quelles opérations prennent le plus de temps, d'où proviennent les erreurs et comment les différents composants interagissent au sein d'une même trace. Cette granularité est particulièrement utile pour résoudre des problèmes complexes ou optimiser les performances dans le cadre d'implémentations d'agents sophistiquées.
En exploitant les données de session, de trace et d'intervalle dans votre stratégie d'observabilité, vous pouvez obtenir des informations complètes sur le comportement, les performances et l'efficacité de votre agent à plusieurs niveaux de détail. Cette approche multicouche de l'observabilité favorise l'amélioration continue, le dépannage robuste et l'optimisation éclairée de la mise en œuvre de vos agents, qu'il s'agisse de modèles de conversation de haut niveau ou de performances opérationnelles individuelles.