Você colocou seu primeiro agente em produção — uma IA que não apenas responde perguntas, mas realmente faz coisas: encadeia 50–200 chamadas de ferramentas (requisições a serviços externos como Slack, Linear, GitHub), escreve código, envia mensagens, cria tickets. Um cliente depende do resultado. A vida é boa.
Aí um cliente recebe uma resposta errada. Seu agente escreveu no projeto errado do Linear, mergeu um PR quebrado, mandou um DM no Slack pro CEO em vez de mandar pro estagiário. Você precisa descobrir por quê — antes que aconteça de novo.
Então você vai atrás das ferramentas de observabilidade novinhas que todas as grandes plataformas lançaram em abril de 2026. No dia 8 de abril, a Anthropic lançou os Managed Agents com rastreamento de sessão e logs de chamadas de ferramentas integrados. No dia 10, o Zed lançou o Agent Metrics — dashboards monitorando 2 milhões de sessões, 15,4 milhões de turnos, histogramas de latência de 536 agentes distintos. No dia 15, a OpenAI atualizou seu Agents SDK com auto-tracing que registra cada chamada de ferramenta, handoff e saída do modelo — sem instrumentação adicional — além de compatibilidade total com OpenTelemetry (o padrão da indústria para coleta de dados de performance, tipo um encaixe universal para ferramentas de monitoramento).
Todo mundo resolveu o mesmo problema: me mostra o que aconteceu. E fizeram bem feito. Você abre os traces — spans (registros individuais de cada operação) para cada invocação de LLM, cada chamada de ferramenta, cada token (um pedaço de palavra que a IA processa). Diagramas waterfall lindos. Números de latência precisos.
Mas é aqui que quebra. Um trace de agente não é um trace de microsserviço. Microsserviços — os programas pequenos e independentes que fazem a maioria dos apps web funcionar — são determinísticos: mesma entrada, mesma saída, mesmo bug, correção reproduzível. Agentes são não-determinísticos: rode a mesma tarefa de novo, e ele toma decisões diferentes no passo 47. O agente escolheu o caminho A, mas você não consegue ver como seria o caminho B, nem por que ele escolheu A em vez de B com 80.000 tokens de contexto acumulado (a "memória de trabalho" da IA — tudo que ela leu e gerou até aquele ponto).
Como o Simon Willison escreveu no seu guia Agentic Engineering Patterns de 3 de abril: "Não podemos garantir que um agente está agindo fielmente nem diagnosticar problemas se suas operações são completamente opacas." E o post-mortem do Sentry de 16 de abril acertou em cheio no modo de falha: cada span reporta status: ok, mas a saída está completamente errada. O bug mora entre os agentes — uma chamada de ferramenta silenciosamente degrada a entrada de outro agente dois passos depois.
Debugar a decisão errada de um agente pelo trace dele é como debugar a decisão de uma pessoa olhando o Google Agenda — você vê quais reuniões ela teve, não o que ela estava pensando.
O workaround do mercado: LLM-as-judge — usar um segundo modelo de IA para avaliar as decisões do primeiro. Braintrust (captou US$80M em fevereiro com valuation de US$800M), trajectory evals do LangSmith e Arize Phoenix todos acoplam avaliação aos traces. Mas cada um adiciona uma nova dependência, custo extra de tokens por ponto de decisão, e — a cereja do bolo — o modelo juiz compartilha os mesmos pontos cegos arquiteturais do agente que está julgando.
O workaround prático hoje: forçar seu agente a emitir raciocínio estruturado em cada ponto de ramificação. Não só o registro da chamada de ferramenta, mas uma justificativa em JSON:
import json
def log_decision(step: int, options: list[str], chosen: str, reasoning: str):
"""Emit a searchable reasoning trail at every branch."""
entry = {
"step": step,
"options_considered": options,
"chosen_action": chosen,
"reasoning": reasoning,
"context_tokens_used": get_current_context_length(),
}
logger.info("agent_decision", extra=entry)
return entry
# Dentro do loop do seu agente:
log_decision(
step=47,
options=["post to #general", "post to #engineering", "DM the assignee"],
chosen="DM the assignee",
reasoning="Ticket is labeled 'confidential', channel posting violates policy"
)
Sim, custa tokens extras. Sim, deixa a execução mais lenta. Mas é a única forma de construir um rastro de raciocínio pesquisável que um humano consiga auditar depois de uma falha — porque os traces sozinhos não vão te dizer por que o passo 47 deu ruim.
Toda plataforma entregou o "o que aconteceu". Ninguém entregou o "por que esse caminho e não aquele". A primeira empresa que construir observabilidade nativa de raciocínio — não nativa de trace, nativa de raciocínio — vai dominar a camada de debugging de todo agente em produção, do mesmo jeito que o Datadog domina o monitoramento de microsserviços. Até lá, você está olhando a agenda do seu agente e tentando adivinhar o que ele estava pensando.





