Por que avaliar agente é mais difícil que avaliar LLM
Avaliar um chat single-turn: você tem prompt → resposta → compara com gold. Avaliar um agente: planejou? escolheu a tool certa? interpretou o resultado? executou o número correto de passos? recuperou de erro intermediário? Avaliar agente = avaliar trajetória inteira, não só o output final.
Um agente pode chegar na resposta certa por caminhos errados — usando 20 chamadas redundantes a APIs externas, gastando 10x o orçamento, vazando dados pra contextos errados. Output correto ≠ trajetória correta.
Os 3 níveis de avaliação
Golden trajectories — o que é e como construir
Golden trajectory é a trajetória esperada de um agente: prompt inicial + sequência canônica de (thought → action → observation) + output final. Você cura ~50-200 dessas amostras para cobrir cenários críticos (happy path + edge cases + failure modes).
# Exemplo simplificado — golden trajectory para agente de e-commerce
{
"id": "track_order_happy_path",
"input": "Onde está meu pedido #12345?",
"expected_trajectory": [
{"step": 1, "action": "tool:order_lookup", "args": {"order_id": "12345"}},
{"step": 2, "action": "tool:tracking_lookup", "args": {"tracking_id": "BR123ABC"}},
{"step": 3, "action": "respond", "args": {"message_pattern": "Seu pedido .* está em (trânsito|preparação|entregue)"}}
],
"expected_outcome": "user_informed_with_status",
"max_steps": 5,
"max_cost_usd": 0.05
}LLM-as-judge — o trade-off prático
A ideia de Zheng et al (NeurIPS 2023, "MT-Bench"): use um LLM forte (Claude Opus, GPT-4) como árbitro de respostas geradas por um LLM menor. Velocidade humano-like sem o custo. Mas vem com vieses:
| Viés conhecido | Como mitigar |
|---|---|
| Position bias | Avaliar (A, B) e (B, A); reportar só se ambas concordam |
| Length bias (favorece verbose) | Normalizar por length na rubrica explícita |
| Self-bias (mesma família vence) | Usar juiz de família diferente do produto avaliado |
| Sycophancy | Pedir crítica explícita; rubrica que penaliza ambiguidade |
| Calibragem ao longo do tempo | Re-validar com 5-10% human eval semanal |
Regression eval em CI — stack moderna
O subset estratificado é a chave do custo controlado: pegue trajetórias de cada categoria (auth, search, checkout, support) e do cada nível de dificuldade. ~30 trajetórias bem escolhidas detectam 80% das regressões.
Frameworks 2026 — qual usar
| Tool | Foco | Quando escolher |
|---|---|---|
| LangSmith | Trace + eval + dataset, integração LangChain/LangGraph nativa | Já usa LangChain stack |
| Phoenix Arize | Open-source, tracing OpenTelemetry, RAG-eval forte | Quer self-host + OTel |
| Braintrust | DX moderna, scoring custom, diff visual entre runs | Time pequeno, foco em iteração rápida |
| Langfuse | OSS, self-host friendly, prompts versionados | Self-host + EU/LGPD-friendly |
| Promptfoo | CLI-first, ótimo pra CI | Pipelines simples, eval declarativa em YAML |
| Helicone | Mais sobre observabilidade que eval | Visibilidade rápida sem instrumentação pesada |
Métricas que realmente importam
Agent Arena — comparação head-to-head
Padrão emergente em 2026: agent arenas (LMArena-style para agentes) — duas versões do agente respondem em paralelo, usuário/juiz vota qual foi melhor, Elo score acumula. Bom para evolução contínua entre versões; ruim para acceptance gates absolutos.