View a markdown version of this page

Spannweiten, Ereignisaufzeichnungen und Telemetriesignale - Amazon Grundgestein AgentCore

Spannweiten, Ereignisaufzeichnungen und Telemetriesignale

Amazon Bedrock AgentCore Evaluations verarbeitet zwei Telemetriesignale, um das Verhalten Ihres Agenten zu verstehen:

  • Spans beschreiben einzelne Operationen. Eine Spanne enthält Metadaten zu einer Operation: ihren Namen, Umfang, Zeitstempel und Attribute. Ein Bereich kann auch den Inhalt der Konversation enthalten, oder dieser Inhalt kann sich in einem separaten Ereignisdatensatz befinden.

  • Ereignisdatensätze enthalten Nutzdateninhalte in einem body Feld: die Eingaben und Ausgaben von Modellen, Tools und dem Agenten. Ein Ereignisdatensatz wird mit seiner Spanne durch ein gemeinsames traceId und korreliert. spanId Für die Aufzeichnung von OpenTelemetry Ereignissen gelten die üblichen Regeln. Weitere Informationen finden Sie unter Referenzen.

Um eine Sitzung auszuwerten, benötigt der Service sowohl die Zeitspannen als auch gegebenenfalls die zugehörigen Ereignisdatensätze. Für jede Spanne führt der Service Folgendes aus:

  1. Identifiziert den Typ der Spanne anhand von Framework-spezifischen Attributen. Einzelheiten finden Sie auf den einzelnen Framework-Seiten.

  2. Liest die benötigten Werte, z. B. die Benutzeraufforderung, die Antwort des Agenten sowie die Eingaben und Ausgaben des Tools. Diese Werte stammen aus den Attributen der Spanne oder aus dem zugehörigen Ereignisdatensatz.

Topics

Wie teilt ADOT Telemetrie

Wenn Ihr Agent mit der AWS Distribution for OpenTelemetry (ADOT) ausgeführt wird, wird die Telemetrie aufgeteilt. Beim Export von Spans extrahiert ADOT den umfangreichen Inhalt der Konversation (Eingabeaufforderungen und -abschlüsse im Modell, Eingaben und Ausgaben von Tools) aus den Span-Attributen und gibt ihn als separate Ereignisdatensätze aus. Die resultierende Spanne enthält nur Metadaten und kleine Attribute.

Durch diese Aufteilung wird die Anzahl der Dokumente klein gehalten, obwohl der gesamte Inhalt der Konversation in den Ereignisdatensätzen erhalten bleibt.

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)

Nach der Aufteilung befindet sich der Inhalt der Konversation im Ereignisdatensatz body (z. B. body.input.messages undbody.output.messages), und der Bereich enthält die identifizierenden Attribute, mit denen er klassifiziert wurde.

Wo Zeitspannen und Ereignisdatensätze gespeichert werden

Wenn ADOT Telemetriedaten erfasst, exportiert es Spannweiten und Ereignisaufzeichnungen nach Amazon CloudWatch, jedoch an verschiedene Standorte.

  • Spans werden in der Protokollgruppe gespeichert. aws/spans Diese Protokollgruppe wird erstellt, wenn die Transaktionssuche aktiviert ist. Dies ist eine Voraussetzung für die Auswertung. Einzelheiten zur Aktivierung der Transaktionssuche finden Sie unter AgentCore Observability.

  • Ereignisdatensätze werden in einer Protokollgruppe gespeichert, die davon abhängt, wo Ihr Agent gehostet wird:

    • Auf Amazon Bedrock AgentCore Runtime: Die Runtime gibt Ereignisdatensätze an ihre Protokollgruppe im otel-rt-logs Protokollstream aus und konfiguriert diesen Export für Sie. /aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>

    • Außerhalb von AgentCore Runtime gehostet (z. B. auf Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS) oder AWS Lambda): Ihr Agent sendet Ereignisdatensätze an die Protokollgruppe, die Sie über die Umgebungsvariable konfigurieren. OTEL_EXPORTER_OTLP_LOGS_HEADERS

Um eine Sitzung auszuwerten, liest der Service Spans aus aws/spans und verknüpft sie mit ihren korrelierten Ereignisdatensätzen aus der entsprechenden Protokollgruppe.

Wo der Dienst Inhalte liest

Konversationsinhalte können sich je nach Framework und Instrumentierungsbibliothek an verschiedenen Orten befinden. Der Bewertungsdienst liest sie von dem Ort aus, an dem sie gespeichert sind:

  • Hauptteil des Ereignisdatensatzes: Wenn ADOT den Inhalt in einen separaten Ereignisdatensatz aufteilt (oben beschrieben), liest der Dienst ihn aus dem Ereignisdatensatz, der der Spanne body entspricht.

  • Span-Attribute: In einigen Instrumentierungsbibliotheken wird der Inhalt des Bereichs als Attribute gespeichert.

  • Inline-Span-Ereignisse: Einige Instrumentierungsbibliotheken fügen den Inhalt dem Span als Inline-Ereignisse hinzu.

Die identifizierenden Attribute, die zur Klassifizierung einer Spanne verwendet werden, verbleiben in jedem Fall in der Span. Dazu gehört auch das Attribut, das einen Bereich als Span für Invoke Agent oder Execute Tool kennzeichnet. Lediglich der Speicherort der größeren Konversationsinhalte unterscheidet sich. Auf den Framework-Seiten werden sowohl die identifizierenden Attribute als auch die Inhaltsverzeichnisse für jede Instrumentierungsbibliothek aufgeführt.

Referenzen

Diese OpenTelemetry Spezifikationen beschreiben die Konventionen, auf denen AgentCore Evaluationen aufbauen: