Claude Agent SDK
Auf dieser Seite wird erklärt, wie ein Claude Agent SDK-Agent
Topics
Instrumentieren Sie Ihren Agenten
Sie können einen Claude Agent SDK-Agenten mit der OpenInferenceInstrumentierungsbibliothek (openinference-instrumentation-claude-agent-sdk) instrumentieren. Diese Bibliothek sendet Telemetrie unter dem Bereichsnamen ausopeninference.instrumentation.claude_agent_sdk, den Amazon Bedrock AgentCore Evaluations liest.
Wenn Ihr Agent mit AWS Distro for OpenTelemetry (ADOT) ausgeführt wird, z. B. auf Amazon Bedrock AgentCore Runtime, müssen Sie keinen expliziten Instrumentierungscode hinzufügen. Es reicht aus, die Instrumentierungsbibliothek zu den Abhängigkeiten Ihres Projekts hinzuzufügen. ADOT erkennt es beim Start und aktiviert es automatisch.
Fügen Sie die Instrumentierungsbibliothek zu Ihren Abhängigkeiten hinzu.
Anmerkung
Verwenden Sie Version 0.1.3 oder höher. Dies ist die früheste Version, die mit dem Evaluierungsservice getestet wurde.
requirements.txt:
openinference-instrumentation-claude-agent-sdk>=0.1.3
pyproject.toml:
[project] dependencies = [ "openinference-instrumentation-claude-agent-sdk>=0.1.3", ]
Anmerkung
Die Instrumentierung ist ein Schritt zur Schaffung der Beobachtbarkeit. Um Telemetrie zur Auswertung zu exportieren, schließen Sie die vollständigen Einstellungen unter Beobachtbarkeit einrichten ab.
Wie werden Spannweiten identifiziert
Das Claude Agent SDK ist mit dieser OpenInference Konvention ausgestattet, sodass AgentCore Evaluations die Spans anhand des Attributs klassifiziert. openinference.span.kind
| Art der Spanne | Identifizierendes Attribut |
|---|---|
|
Agent aufrufen |
|
|
Tool ausführen |
|
Das Claude Agent SDK sendet nur TOOL Spans AGENT und gibt keine separaten Inference () LLM -Spans aus. Die Modell-Metadaten (Modellname, Token-Verwendung) und die Antwort des Agenten werden im Span selbst übernommen. AGENT
Wie werden Bewertungsfelder extrahiert
Das Claude Agent SDK erzeugt saubere Agenteneingabe und -ausgabe im Klartext, sodass die Benutzeraufforderung und die Antwort des Agenten keine spezielle Analyse erfordern. Die Werkzeugergebnisse werden jedoch als anthropische Inhaltsblöcke im Formular angezeigt. [{"type": "text", "text": "…"}] AgentCore Evaluations entpackt diese Blöcke und verkettet ihren Text.
Der Speicherort dieser Inhalte hängt davon ab, wie die Telemetriedaten erfasst wurden. Das identifizierende Attribut (openinference.span.kind) befindet sich in beiden Fällen auf der Spanne. Weitere Informationen finden Sie unter Spans, Ereignisdatensätze und Telemetriesignale.
Aus Ereignisaufzeichnungen
Wenn die Telemetrie aufgeteilt wird, liest AgentCore Evaluations Inhalte aus den Ereignisdatensätzen, die den einzelnen Bereichen zugeordnet sind:
-
Benutzeraufforderung und Antwort des Agenten: aus dem Ereignisdatensatz des Invoke Agent Span, in und.
body.inputbody.output -
Werkzeugaufruf: der Werkzeugname aus dem
tool.nameAttribut und die Tool-Aufruf-ID austool.iddem Bereich „Tool ausführen“. Die Werkzeugargumente und das Ergebnis stammen aus dem Ereignisdatensatz dieser Spanne, inbody.inputundbody.output. AgentCore Evaluationen entschlüsselt die inhaltlichen Blöcke der Anthropics im Tool-Ergebnis.
Beispiele finden Sie unter Beispielbereiche mit Ereignisdatensätzen.
Aus Span-Attributen
Wenn die Telemetrie nicht aufgeteilt wird, verbleibt derselbe Inhalt als Attribute im Bereich:
-
Benutzeraufforderung und Agentenantwort: von
input.valueund nachoutput.valuedem Agentenaufruf. -
Werkzeugaufruf: der Werkzeugname von
tool.name, die Tool-Aufruf-ID vontool.idinput.value, die Argumente von und das Ergebnis vonoutput.valueim Bereich „Tool ausführen“. AgentCore Evaluationen entschlüsselt die inhaltlichen Blöcke von Anthropic im Tool-Ergebnis.
Beispiele finden Sie unter Beispiel für Zeitspannen ohne Ereignisdatensätze.
Beispiel für Zeitspannen mit Ereignisdatensätzen
Wenn die Telemetrie aufgeteilt wird, enthält die Spanne die identifizierenden Attribute und der Inhalt befindet sich in einem korrelierten Ereignisdatensatz. Die folgenden Beispiele stammen von einem Reiseplanungsagenten des Claude Agent SDK, der auf Amazon AgentCore Bedrock Runtime eingesetzt wurde.
Anmerkung
Bei diesen Beispielen handelt es sich nicht um vollständige Zeitspannen. Sie zeigen repräsentative Daten aus einer echten Agenteninteraktion, wobei einige Felder weggelassen und lange Werte aus Gründen der Lesbarkeit gekürzt wurden.
Beispiel
Beispiel für Bereiche ohne Ereignisdatensätze
Wenn die Telemetrie nicht aufgeteilt wird, verbleibt derselbe Inhalt in den Span-Attributen und es wird kein separater Ereignisdatensatz erstellt. Die folgenden Beispiele stammen von einem Reiseplanungsbüro von Claude Agent SDK.
Anmerkung
Bei diesen Beispielen handelt es sich nicht um vollständige Zeitspannen. Sie zeigen repräsentative Daten aus einer echten Agenteninteraktion, wobei einige Felder weggelassen und lange Werte aus Gründen der Lesbarkeit gekürzt wurden.