Intervalos, registros de eventos y señales de telemetría
Amazon Bedrock AgentCore Evaluations procesa dos señales de telemetría para comprender el comportamiento de su agente:
-
Los intervalos describen las operaciones individuales. Un intervalo contiene metadatos sobre una operación: su nombre, alcance, marcas de tiempo y atributos. Un intervalo también puede incluir el contenido de la conversación o ese contenido puede estar en un registro de eventos independiente.
-
Los registros de eventos contienen el contenido de carga útil de un
bodycampo: las entradas y salidas de los modelos, las herramientas y el agente. Un registro de eventos se correlaciona con su alcance mediante una y compartidatraceId.spanIdLos registros de eventos siguen la convención de OpenTelemetry eventos. Para obtener más información, consulte Referencias.
Para evaluar una sesión, el servicio necesita tanto los intervalos como, cuando proceda, sus registros de eventos correlacionados. Para cada intervalo, el servicio hace lo siguiente:
-
Identifica el tipo de tramo a partir de los atributos específicos del marco. Para obtener más información, consulte las páginas por marco.
-
Lee los valores que necesita, como el mensaje del usuario, la respuesta del agente y las entradas y salidas de la herramienta. Estos valores provienen de los atributos del intervalo o de su registro de eventos correlacionados.
Temas
Cómo divide ADOT la telemetría
Cuando su agente utiliza la AWS distribución para OpenTelemetry (ADOT), la telemetría se divide. A medida que se exportan los intervalos, ADOT extrae el gran contenido de la conversación (instrucciones y terminaciones del modelo, entradas y salidas de las herramientas) de los atributos del intervalo y lo emite como registros de eventos independientes. El intervalo resultante contiene solo metadatos y atributos pequeños.
Esta división reduce el tamaño de los documentos de extensión, aunque conserva todo el contenido de la conversación en los registros de eventos.
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)
Tras la división, el contenido de la conversación permanece en el registro del evento body (por ejemplo, body.input.messages ybody.output.messages) y el intervalo contiene los atributos de identificación utilizados para clasificarlo.
Dónde se almacenan los intervalos y los registros de eventos
Cuando ADOT recopila datos telemétricos, exporta los intervalos y los registros de eventos a Amazon CloudWatch, pero a diferentes ubicaciones.
-
Los intervalos se almacenan en el grupo de registros.
aws/spansEste grupo de registros se crea cuando la búsqueda de transacciones está habilitada, lo cual es un requisito previo para la evaluación. Para obtener más información sobre cómo habilitar la búsqueda de transacciones, consulte AgentCore Observabilidad. -
Los registros de eventos se almacenan en un grupo de registros que depende del lugar donde esté alojado el agente:
-
En Amazon Bedrock AgentCore Runtime: Runtime emite los registros de eventos a su grupo de registros
/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>, en el flujo deotel-rt-logsregistros, y configura esta exportación por usted. -
Alojado fuera AgentCore de Runtime (por ejemplo, en Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS AWS ) o Lambda): su agente emite registros de eventos al grupo de registros que configure mediante la variable de entorno.
OTEL_EXPORTER_OTLP_LOGS_HEADERS
-
Para evaluar una sesión, el servicio lee los intervalos del grupo de registros correspondiente aws/spans y los une a sus registros de eventos correlacionados.
Dónde lee el contenido el servicio
El contenido de la conversación puede estar en diferentes lugares, según el marco y la biblioteca de instrumentación. El servicio de evaluación lo lee desde cualquier lugar en el que se encuentre:
-
Cuerpo del registro de eventos: cuando ADOT divide el contenido en un registro de eventos independiente (descrito anteriormente), el servicio lo lee del registro de eventos
bodycorrelacionado con el intervalo. -
Atributos del intervalo: algunas bibliotecas de instrumentación mantienen el contenido del intervalo como atributos.
-
Eventos de intervalo en línea: algunas bibliotecas de instrumentación adjuntan el contenido al intervalo como eventos integrados.
Los atributos de identificación utilizados para clasificar un intervalo siempre permanecen en el intervalo en todos los casos. Esto incluye el atributo que marca un intervalo como intervalo de agente de invocación o intervalo de herramienta de ejecución. Solo difiere la ubicación del contenido más amplio de la conversación. Las páginas por marco enumeran tanto los atributos de identificación como las ubicaciones del contenido de cada biblioteca de instrumentación.
Referencias
Estas OpenTelemetry especificaciones describen las convenciones en las que se basa AgentCore Evaluations:
-
Convenciones semánticas de trazas
: la estructura y la semántica de los tramos y trazas. -
Convenciones semánticas de eventos
: estructura y semántica de los registros de eventos. -
Generative-AI convenciones semánticas: los
gen_ai.*atributos que se utilizan para describir las operaciones de los agentes, los modelos y las herramientas.