SDK do Claude Agent
Esta página explica como instrumentar um agente do SDK do Claude
Tópicos
Instrumente seu agente
Você pode instrumentar um agente SDK do Claude Agent com a biblioteca de OpenInferenceinstrumentação (). openinference-instrumentation-claude-agent-sdk Essa biblioteca emite telemetria sob o nome do escopo, openinference.instrumentation.claude_agent_sdk que o Amazon Bedrock AgentCore Evaluations lê.
Quando seu agente é executado com a AWS Distro for OpenTelemetry (ADOT), como no Amazon Bedrock AgentCore Runtime, você não precisa adicionar código de instrumentação explícito. Adicionar a biblioteca de instrumentação às dependências do seu projeto é suficiente. O ADOT o descobre na inicialização e o ativa automaticamente.
Adicione a biblioteca de instrumentação às suas dependências.
nota
Use a versão 0.1.3 ou posterior. Essa é a versão mais antiga testada com o serviço de avaliação.
requirements.txt:
openinference-instrumentation-claude-agent-sdk>=0.1.3
pyproject.toml:
[project] dependencies = [ "openinference-instrumentation-claude-agent-sdk>=0.1.3", ]
nota
A instrumentação é uma etapa na configuração da observabilidade. Para exportar a telemetria para avaliação, conclua a configuração completa em Configurar observabilidade.
Como os vãos são identificados
O Claude Agent SDK é instrumentado com a OpenInference convenção, então as AgentCore avaliações classificam as extensões usando o atributo. openinference.span.kind
| Tipo de extensão | Atributo de identificação |
|---|---|
|
Invocar agente |
|
|
Ferramenta de execução |
|
O SDK do Claude Agent emite somente AGENT e TOOL abrange; ele não emite períodos separados de inference (). LLM Os metadados do modelo (nome do modelo, uso do token) e a resposta do agente são transmitidos no próprio AGENT span.
Como os campos de avaliação são extraídos
O SDK do Claude Agent produz entrada e saída de agente em texto simples e sem formatação, portanto, o prompt do usuário e a resposta do agente não exigem análise especial. Os resultados da ferramenta, no entanto, chegam como blocos de conteúdo antrópico no formulário[{"type": "text", "text": "…"}]. AgentCore As avaliações desembrulham esses blocos e concatenam seu texto.
A localização desse conteúdo depende de como a telemetria foi coletada. O atributo de identificação (openinference.span.kind) está no intervalo em ambos os casos. Para obter mais informações, consulte Espaços, registros de eventos e sinais de telemetria.
A partir de registros de eventos
Quando a telemetria é dividida, o AgentCore Evaluations lê o conteúdo do registro do evento correlacionado a cada período:
-
Solicitação do usuário e resposta do agente: do registro de eventos do invoke agent span, em
body.inpute.body.output -
Chamada de ferramenta: o nome da ferramenta do
tool.nameatributo e o ID da chamada da ferramentatool.idna extensão da ferramenta de execução. Os argumentos e o resultado da ferramenta vêm do registro de eventos desse intervalo, embody.inputbody.outpute. AgentCore As avaliações revelam os blocos de conteúdo antrópico no resultado da ferramenta.
Para ver exemplos, consulte Exemplos de períodos com registros de eventos.
A partir de atributos de extensão
Quando a telemetria não é dividida, o mesmo conteúdo permanece na extensão como atributos:
-
Solicitação do usuário e resposta do agente: de
input.valueeoutput.valuesobre o período de invocação do agente. -
Chamada de ferramenta: o nome da ferramenta
tool.name, o ID da chamada da ferramenta detool.idinput.value, os argumentos e o resultado deoutput.value, na extensão da ferramenta de execução. AgentCore As avaliações revelam os blocos de conteúdo antrópico no resultado da ferramenta.
Por exemplo, consulte Exemplos de períodos sem registros de eventos.
Exemplos de períodos com registros de eventos
Quando a telemetria é dividida, o intervalo carrega os atributos de identificação e o conteúdo fica em um registro de evento correlacionado. Os exemplos a seguir são de um agente de planejamento de viagens do Claude Agent SDK implantado no Amazon Bedrock Runtime. AgentCore
nota
Esses exemplos não são extensões completas. Eles mostram dados representativos de uma interação real do agente, com alguns campos omitidos e valores longos truncados para facilitar a leitura.
exemplo
Exemplos de períodos sem registros de eventos
Quando a telemetria não é dividida, o mesmo conteúdo permanece nos atributos de span e nenhum registro de evento separado é produzido. Os exemplos a seguir são de um agente de planejamento de viagens do Claude Agent SDK.
nota
Esses exemplos não são extensões completas. Eles mostram dados representativos de uma interação real do agente, com alguns campos omitidos e valores longos truncados para facilitar a leitura.