Strands Agents
Esta página explica cómo instrumentar un agente de Strands Agents
Temas
Instrumente a su 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 AWS Distro for OpenTelemetry (ADOT), Runtime inyecta el session.id atributo y exporta los intervalos y los registros de eventos automáticamente.
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 utiliza este atributo para clasificar los tramos:
| Tipo de tramo | Atributo identificativo | Ejemplo de nombre de tramo |
|---|---|---|
|
Invoca 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 de cómo se recopiló la telemetría. Cuando ADOT divide la telemetría, el contenido se encuentra en un registro de eventos independiente. Cuando la telemetría no está dividida, el contenido permanece en el intervalo como eventos en línea. Para obtener más información, consulte Intervalos, registros de eventos y señales de telemetría. El atributo de identificación (gen_ai.operation.name) está en el intervalo en ambos casos.
De los registros de eventos
Cuando se divide la telemetría, el servicio lee el contenido del registro de eventos correlacionado con cada intervalo:
-
Mensaje de usuario: a partir de los mensajes de entrada del agente (
input.messages), el contenido del mensaje con un rol de usuario. -
Respuesta del agente: a partir de los mensajes de salida del agente (
output.messages), el contenido del mensaje con una función de asistente. -
Llamada de herramienta: el nombre de la herramienta a partir del
gen_ai.tool.nameatributo del intervalo de herramientas de ejecución. Los argumentos y el resultado de la herramienta provienen del registro de eventos de ese intervalo (inputyoutput).
Para ver ejemplos, consulte Ejemplos de intervalos con registros de eventos.
A partir de eventos de intervalo en línea
Cuando la telemetría no está dividida, se incluye el mismo contenido en los eventos de extensión en línea en lugar de en un registro de eventos independiente:
-
Solicitud de usuario: del
gen_ai.user.messageevento, el atributo.content -
Respuesta del agente: a partir del
gen_ai.choiceevento, elmessageatributo. -
Llamada de herramienta: el nombre de la herramienta que
gen_ai.tool.nameaparece en el atributo del intervalo. Los argumentos de la herramienta provienen delgen_ai.tool.messageevento y el resultado proviene delgen_ai.choiceevento.
Para ver ejemplos, consulte Ejemplos de intervalos sin registros de eventos.
Un ejemplo de tramos con registros de eventos
Cuando se divide la telemetría, el intervalo contiene los atributos de identificación y el contenido reside en un registro de eventos correlacionado. Los siguientes ejemplos provienen de un agente de planificación de viajes de Strands implementado en Amazon Bedrock AgentCore Runtime.
nota
Estos ejemplos no son períodos completos. Muestran datos representativos de una interacción real entre agentes, omitiendo algunos campos y truncando los valores largos para facilitar la lectura.
ejemplo
El ejemplo abarca espacios sin registros de eventos
Cuando la telemetría no está dividida, el mismo contenido se incluye en los eventos de intervalo en línea del intervalo, sin registro de eventos independiente. Los siguientes ejemplos son de un agente de planificación de viajes de Strands.
nota
Estos ejemplos no son tramos completos. Muestran datos representativos de una interacción real entre agentes, omitiendo algunos campos y truncando los valores largos para facilitar la lectura.