Portées, enregistrements d'événements et signaux de télémétrie
Amazon Bedrock AgentCore Evaluations traite deux signaux de télémétrie pour comprendre le comportement de votre agent :
-
Les travées décrivent des opérations individuelles. Un span contient des métadonnées relatives à une opération : son nom, sa portée, ses horodatages et ses attributs. Un span peut également contenir le contenu de la conversation, ou ce contenu peut figurer dans un enregistrement d'événement distinct.
-
Les enregistrements d'événements contiennent le contenu de la charge utile dans un
bodychamp : les entrées et sorties des modèles, des outils et de l'agent. Un enregistrement d'événement est corrélé à sa durée par untraceIdetspanIdpartagé. Les enregistrements des événements sont conformes à la convention OpenTelemetry des événements. Pour plus d'informations, consultez la section Références.
Pour évaluer une session, le service a besoin à la fois des durées et, le cas échéant, de leurs enregistrements d'événements corrélés. Pour chaque intervalle, le service effectue les opérations suivantes :
-
Identifie le type de la plage à partir des attributs spécifiques au framework. Pour plus de détails, consultez les pages par framework.
-
Lit les valeurs dont il a besoin, telles que l'invite utilisateur, la réponse de l'agent et les entrées et sorties de l'outil. Ces valeurs proviennent des attributs de la plage ou de son enregistrement d'événements corrélé.
Rubriques
Comment ADOT divise la télémétrie
Lorsque votre agent s'exécute avec le AWS Distro for OpenTelemetry (ADOT), la télémétrie est divisée. Au fur et à mesure que les intervalles sont exportés, ADOT extrait le contenu volumineux de la conversation (instructions et terminaisons du modèle, entrées et sorties des outils) des attributs de l'intervalle et l'émet sous forme d'enregistrements d'événements distincts. La plage résultante ne contient que des métadonnées et de petits attributs.
Cette division permet de réduire la taille des documents, tout en préservant le contenu complet de la conversation dans les enregistrements d'événements.
ADOT collection (split) Instrumented agent | | span with attributes + content v +--------------------+ | ADOT | extracts conversation content +--------------------+ | | | span | event record(s) | (metadata, attributes) | (body: input / output messages) v v +--------------------+ +-----------------------+ | aws/spans | | event-record | | log group | | log group | +--------------------+ +-----------------------+ | | +-----------+--------------+ v Evaluation service (joins span + event record by traceId / spanId)
Après la séparation, le contenu de la conversation se trouve dans l'enregistrement de l'événement body (par exemple, body.input.messages etbody.output.messages), et l'intervalle contient les attributs d'identification utilisés pour le classer.
Où sont stockés les intervalles et les enregistrements d'événements
Lorsqu'ADOT collecte des données télémétriques, il exporte les spans et les enregistrements d'événements vers Amazon CloudWatch, mais vers des emplacements différents.
-
Les plages sont stockées dans le groupe de
aws/spansjournaux. Ce groupe de journaux est créé lorsque la recherche de transactions est activée, ce qui est une condition préalable à l'évaluation. Pour plus de détails sur l'activation de la recherche de transactions, consultez AgentCore Observabilité. -
Les enregistrements d'événements sont stockés dans un groupe de journaux qui dépend de l'endroit où votre agent est hébergé :
-
Sur Amazon Bedrock AgentCore Runtime : le Runtime émet des enregistrements d'événements dans son groupe de journaux
/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>, dans le flux deotel-rt-logsjournaux, et configure cette exportation pour vous. -
Hébergé en dehors de AgentCore Runtime (par exemple, sur Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS AWS ) ou Lambda) : votre agent envoie des enregistrements d'événements au groupe de journaux que vous configurez via la variable d'environnement.
OTEL_EXPORTER_OTLP_LOGS_HEADERS
-
Pour évaluer une session, le service lit les intervalles aws/spans et les joint à leurs enregistrements d'événements corrélés dans le groupe de journaux approprié.
Où le service lit le contenu
Le contenu des conversations peut se trouver à différents endroits, en fonction du cadre et de la bibliothèque d'instruments. Le service d'évaluation le lit quel que soit l'endroit où il se trouve :
-
Corps de l'enregistrement d'événement : lorsqu'ADOT divise le contenu en un enregistrement d'événement distinct (décrit ci-dessus), le service le lit à partir de l'enregistrement d'événement
bodycorrélé à la durée. -
Attributs d'étendue : certaines bibliothèques d'instrumentation conservent le contenu de la plage sous forme d'attributs.
-
Événements d'intervalle intégrés : certaines bibliothèques d'instrumentation associent le contenu au span sous forme d'événements en ligne.
Les attributs d'identification utilisés pour classer une plage restent toujours sur la plage dans tous les cas. Cela inclut l'attribut qui marque un intervalle comme un intervalle d'agent d'appel ou un intervalle d'outil d'exécution. Seul l'emplacement du contenu de conversation le plus important est différent. Les pages par framework répertorient à la fois les attributs d'identification et les emplacements de contenu pour chaque bibliothèque d'instrumentation.
Références
Ces OpenTelemetry spécifications décrivent les conventions sur lesquelles AgentCore Evaluations s'appuie :
-
Conventions sémantiques des traces
: structure et sémantique des étendues et des traces. -
Conventions sémantiques des événements
: structure et sémantique des enregistrements d'événements. -
Generative-AI conventions sémantiques
: les gen_ai.*attributs utilisés pour décrire les opérations des agents, des modèles et des outils.