Instalação
pydantic-ai-slim 2.0 a 3.0. A versão 2.0 removeu Agent(instrument=...) e introduziu o protocolo de capacidade no qual este adaptador é construído, portanto a versão 1.x não pode ser instrumentada dessa forma.
Instrumentar
root_capability, portanto não existe um atributo agent.capabilities para ser lido.
Agentes construídos enquanto a instrumentação estava ativa mantêm a capacidade, então você pode chamar uninstrument() e reinstrumentar sem precisar recriá-los.
O que é registrado
Não há par de hooks nem par de interação humana aqui. O Pydantic AI não possui limite de nó ou etapa para delimitar e nem pausa humana integrada, portanto não há nada a mapear. Se você implementar qualquer um desses recursos, emita os eventos manualmente — veja Custom agents.
output_type não faz diferença no trace. Uma execução tipada e uma execução com string produzem os mesmos eventos.
Exemplo
restock_eta aparece como um tool_result contendo um erro, seguido de outra chamada ao modelo onde o agente contorna o problema, e a execução ainda termina com success. Ambas as informações são preservadas.
Erros, retentativas e fluxo de controle
O Pydantic AI lança exceções para três situações distintas, e o adaptador as separa:ModelRetry está no primeiro grupo intencionalmente. Significa que uma tentativa genuinamente falhou e o modelo foi solicitado a tentar novamente, que é exatamente para isso que serve o campo de erro de um span de ferramenta. Classificá-lo como fluxo de controle ocultaria falhas reais de ferramentas por trás de uma execução bem-sucedida.
Nomeie seus spans
O próprio span de execução do Pydantic AI é chamado deagent. Envolva a chamada para atribuir um rótulo de sua escolha:
inventory, e é lá que os eventos de modelo e ferramenta ficam pendurados.
Mantenha agent_id com baixa cardinalidade. Ele é a faceta principal em todas as superfícies do dashboard, portanto use um nome de função, nunca um UUID ou uma string específica por execução.
Controle a sessão
Resolvido nesta ordem, com o primeiro match vencendo:instrument("pydantic_ai", session_id=...)- O escopo
failproofai_sdk.session()envolvente - O
conversation_idda execução, depois seurun_id - Um
uuid4().hexgerado automaticamente
Opções
Problemas comuns
A execução funciona, mas nenhum evento aparece
A execução funciona, mas nenhum evento aparece
O
Agent foi construído antes de instrument() ser executado. Veja o aviso acima e verifique agent.root_capability.capabilities.Uma exceção simples em uma ferramenta encerra a execução
Uma exceção simples em uma ferramenta encerra a execução
Um
raise sem tratamento se propaga; esse é o design do Pydantic AI. Para permitir que o modelo contorne o problema, levante ModelRetry com uma mensagem que ele possa usar. A falha é registrada de qualquer forma.Há um span de agente aninhado que eu não criei
Há um span de agente aninhado que eu não criei
Esse filho é o próprio span de execução do Pydantic AI, e é onde os eventos de modelo e ferramenta ficam. Remova seu próprio escopo se quiser um único span, ao custo do nome personalizado.
Os tracebacks começam com um marcador de truncamento
Os tracebacks começam com um marcador de truncamento
O stack do grafo assíncrono do Pydantic AI é mais longo do que o limite do campo de payload, e a última linha de um traceback é a própria exceção. Este campo é cortado a partir do início, e não do final, para que a linha que você precisa seja preservada.
Próximos passos
Como funciona
Pares, ids, ciclo de vida da sessão e entrega.
Leia um trace
Siga a causalidade através da sessão que você acabou de capturar.
Outros frameworks
LangGraph, CrewAI, LlamaIndex e agentes personalizados.

