Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configurar la telemetría de Strands Agents para las evaluaciones AgentCore
En esta página se explica cómo utilizar un agente de
Temas
AgentCore Evaluations admite los agentes de Strands creados con el SDK y el TypeScript SDK de Python. Los dos producen los mismos tipos de segmentos, atributos de identificación y diseño de contenido, con diferentes nombres de ámbito, por lo que el servicio de evaluación los lee de la misma manera. Esta página trata cada idioma por separado: para Python, consulte la compatibilidad con agentes de Python; para ello TypeScript, consulte la compatibilidad con TypeScript agentes.
Soporte de agentes de Python
Un agente de Python Strands produce intervalos bajo el nombre strands.telemetry.tracer del ámbito.
Instrumenta a tu agente
El SDK de Strands Agents incluye telemetría integrada y no requiere ninguna biblioteca de instrumentación adicional. Genera intervalos y registros de eventos con el nombre del ámbito. strands.telemetry.tracer Cuando se implementa en Amazon Bedrock AgentCore Runtime con la AWS distribución para OpenTelemetry (ADOT), el Runtime inyecta el session.id atributo y exporta automáticamente los intervalos y los registros de eventos.
nota
La instrumentación es un paso para configurar la observabilidad. Para exportar la telemetría para su evaluación, complete la configuración completa en Configurar la observabilidad.
Cómo se identifican los intervalos
Strands establece el gen_ai.operation.name atributo en cada tramo. El servicio de evaluación usa este atributo para clasificar los tramos:
| Tipo de intervalo | Atributo identificativo | Ejemplo de nombre de intervalo |
|---|---|---|
|
Invocar al agente |
|
|
|
Ejecute la herramienta |
|
|
|
Inferencia |
|
|
Cómo se extraen los campos de evaluación
La ubicación del contenido de la conversación depende del modo de entrega de la telemetría. Con la telemetría dividida, el contenido está en un registro de eventos independiente. Con la telemetría unificada, el contenido permanece en el espacio, ya que los eventos se adjuntan a él. Para obtener más información, consulte Configuración y entrega de telemetría. El atributo de identificación (gen_ai.operation.name) está en el intervalo en ambos modos.
De los registros de eventos
Con la telemetría dividida, el servicio lee el contenido del registro de eventos en relación con cada intervalo:
-
Solicitud de usuario: a partir de los mensajes introducidos por el agente (
input.messages), el contenido del mensaje con un rol de usuario. -
Respuesta del agente: de los mensajes de salida del agente (
output.messages), el contenido del mensaje con función de asistente. -
Llamada a la herramienta: el nombre de la herramienta del
gen_ai.tool.nameatributo del conjunto de herramientas de ejecución. Los argumentos y el resultado de la herramienta provienen del registro de eventos de ese intervalo (inputyoutput).
Para obtener más información, consulte el ejemplo de intervalos en telemetría dividida.
A partir de eventos de intervalo en línea
Con la telemetría unificada, los eventos de intervalo en línea contienen el mismo contenido en lugar de en un registro de eventos independiente:
-
Solicitud de usuario: desde el
gen_ai.user.messageevento, el atributo.content -
Respuesta del agente: desde el
gen_ai.choiceevento, elmessageatributo. -
Llamada a la herramienta: el nombre de la herramienta del
gen_ai.tool.nameatributo del intervalo. Los argumentos de la herramienta provienen delgen_ai.tool.messageevento y el resultado proviene delgen_ai.choiceevento.
Para obtener más información, consulte Ejemplos de intervalos en telemetría unificada.
Ejemplos de intervalos en telemetría dividida
Con la telemetría dividida, el intervalo contiene los atributos de identificación y el contenido se encuentra en un registro de eventos correlacionado. Los siguientes ejemplos provienen de un agente de planificación de viajes de Python Strands implementado en Amazon Bedrock Runtime. AgentCore
nota
Estos ejemplos no son tramos completos. Muestran datos representativos de una interacción real con un agente; se omiten algunos campos y se truncan los valores largos para facilitar la lectura.
ejemplo
Los ejemplos abarcan la telemetría unificada
Con la telemetría unificada, el mismo contenido se incluye en los eventos interconectados del mismo intervalo, sin ningún registro de eventos independiente. Los siguientes ejemplos provienen de un agente de planificación de viajes de Python Strands.
nota
Estos ejemplos no son tramos completos. Muestran datos representativos de una interacción real con un agente; se omiten algunos campos y se truncan los valores largos para facilitar la lectura.
ejemplo
TypeScript soporte de agentes
Un agente de TypeScript Strands produce tramos con el nombre strands-agents de alcance. Emite los mismos tipos de extensión y diseño de contenido que un agente de Python, por lo que el servicio de evaluación lo lee de la misma manera.
Instrumente a su agente
El SDK de TypeScript Strands Agents (@strands-agents/sdk>= 1.5.0) incluye telemetría integrada y no requiere ninguna biblioteca de instrumentación adicional. Cuando se implementa en Amazon Bedrock AgentCore Runtime con AWS Distro for OpenTelemetry (ADOT), el Runtime inyecta el session.id atributo y exporta los intervalos y los registros de eventos automáticamente. El TypeScript SDK produce intervalos bajo el nombre del ámbito. strands-agents
nota
La instrumentación es un paso para configurar la observabilidad. Para exportar la telemetría para su evaluación, complete la configuración completa en Configurar la observabilidad.
Cómo se identifican los intervalos
La identificación del intervalo es la misma que la de un agente de Python. El gen_ai.operation.name atributo clasifica cada intervalo. Para ver los valores y ejemplos de nombres de grupos, consulte Cómo se identifican los intervalos en la sección Compatibilidad con Python.
Cómo se extraen los campos de evaluación
La extracción de campos es la misma que la de un agente de Python. El contenido de la conversación se incluye en eventos interconectados (gen_ai.user.message,gen_ai.choice, ygen_ai.tool.message). Para saber desde dónde se lee cada campo, consulte Desde eventos de intervalo en línea, en la sección Soporte para Python.
Ejemplos de intervalos de un agente TypeScript
Los siguientes ejemplos provienen de un agente de planificación de viajes de TypeScript Strands implementado en Amazon Bedrock Runtime. AgentCore
nota
Estos ejemplos no son tramos completos. Muestran datos representativos de una interacción real con un agente; se omiten algunos campos y se truncan los valores largos para facilitar la lectura.