𝗦𝗰𝗼𝗿𝗶𝗻𝗴 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀: 𝗗𝗲𝘁𝗲𝗿𝗺𝗶𝗻𝗶𝘀𝘁𝗶𝗰 𝗠𝗲𝘁𝗿𝗶𝗰𝘀 + 𝗮𝗻 𝗟𝗟𝗠 𝗝𝘂𝗱𝗴𝗲
You run many small AI agents. You have agents for backend, frontend, mobile, and devops. Each agent has one job.
When you have many agents, you face a problem. You do not know if they are good. You do not know if a prompt edit makes them better or worse. Saying "it looks fine" does not work at scale.
I built a framework to solve this. It uses numbers to measure performance and improves prompts automatically.
The Strategy
Measure what you can measure with math first. Use an LLM judge only when you must. Deterministic metrics are fast and free. An LLM judge is slow and costs money.
How the system works:
• The harness runs each agent as a separate process. • It feeds a task to the agent. • It captures the output. • It scores the result against expected data.
The agent only needs to read from stdin and write to stdout. It can be Python or a shell script. The harness does not care.
Five core metrics to track:
- Accuracy: Does the output match the goal?
- Fuzzy score: How similar is the text to the target?
- Timeout rate: How often does the agent fail to finish?
- Safety violations: Does the output match unsafe patterns?
- Reproducibility variance: Does the agent give the same answer every time?
If an agent is correct but inconsistent, it is a bug.
The LLM Judge
Some things are hard to measure with math. You need to know if an agent stayed in its role or followed constraints.
For these cases, an LLM judge reviews the work. It receives a rubric and the agent output. It returns a structured verdict. I validate this verdict against a JSON schema so it does not break the report.
The judge does more than just grade. It must suggest fixes. A critique like "this is weak" is useless. A critique like "add a JSON block to the prompt" is actionable.
The Improvement Loop
Failures go into a file. This file feeds an automated loop. The system looks at the weakest part of a prompt and tries to fix it. It keeps a pool of good candidates. It writes the best versions back to the code.
A single score is a snapshot. Use history to track trends. This tells you if you are getting better over time.
Build your foundation on deterministic metrics. Use the judge as a scalpel, not a hammer.
Avaliando Agentes de IA: Métricas Determinísticas vs. um Juiz LLM
Avaliar agentes de IA é significativamente mais complexo do que avaliar saídas padrão de LLMs. Enquanto a avaliação de um LLM geralmente se concentra na qualidade da resposta a um prompt, a avaliação de um agente envolve monitorar um fluxo de trabalho de múltiplas etapas, o uso de ferramentas e a capacidade de atingir um objetivo final.
Neste artigo, exploraremos as duas principais abordagens para a avaliação de agentes: Métricas Determinísticas e LLM-as-a-Judge (LLM como Juiz).
O Desafio da Avaliação de Agentes
Diferente de um chatbot simples, um agente de IA opera em um loop de:
- Percepção: Receber uma tarefa ou entrada.
- Raciocínio: Planejar os próximos passos.
- Ação: Executar uma ferramenta ou chamada de API.
- Observação: Analisar o resultado da ação e decidir se a tarefa foi concluída.
Essa natureza não-determinística torna a definição de um "ground truth" (referência real) extremamente difícil.
Abordagem 1: Métricas Determinísticas
As métricas determinísticas baseiam-se em regras fixas e lógica matemática para verificar se a saída do agente está correta.
Exemplos Comuns:
- Correspondência Exata (Exact Match): Verifica se a saída é idêntica a uma resposta esperada. Útil para comandos simples ou códigos específicos.
- Expressões Regulares (Regex): Verifica se a saída segue um padrão específico (ex: um formato de data ou um número de telefone).
- Validação de Esquema (JSON/XML): Garante que a saída do agente seja um objeto estruturado válido que possa ser processado por outros sistemas.
- Execução de Código: Se o agente deve escrever código, a métrica pode ser se o código passa em testes unitários específicos.
Prós e Contras
| Prós | Contras |
|---|---|
| Velocidade: Extremamente rápidas de executar. | Frágilidade: Qualquer pequena variação na formatação pode causar uma falha. |
| Custo: Praticamente zero. | Falta de Nuance: Não consegue entender se a resposta é semanticamente correta, apenas se é sintaticamente correta. |
| Reprodutibilidade: O resultado será sempre o mesmo para a mesma entrada. | Limitação de Escopo: Inútil para avaliar criatividade, tom ou raciocínio complexo. |
Abordagem 2: LLM-as-a-Judge
A abordagem de "LLM-as-a-Judge" utiliza um modelo de linguagem mais potente (como o GPT-4o ou Claude 3.5 Sonnet) para avaliar as saídas de um agente. O juiz recebe a tarefa original, a resposta do agente e, às vezes, uma referência, e então atribui uma nota ou feedback qualitativo.
Como funciona:
O juiz pode avaliar critérios como:
- Acurácia Semântica: A resposta é factualmente correta, mesmo que as palavras sejam diferentes?
- Raciocínio (Reasoning): O agente seguiu uma lógica coerente para chegar à conclusão?
- Tom e Estilo: A resposta está de acordo com a persona definida para o agente?
- Segurança e Alinhamento: O agente tentou realizar ações proibidas ou gerou conteúdo inadequado?
Prós e Contras
| Prós | Contras |
|---|---|
| Compreensão Semântica: Consegue entender o significado por trás das palavras. | Custo: Pode ser caro, especialmente em larga escala. |
| Nuance: Capaz de avaliar sutilezas de linguagem e tom. | Latência: É muito mais lento do que métricas baseadas em código. |
| Flexibilidade: Pode avaliar tarefas subjetivas onde não há uma resposta única "certa". | Viés e Alucinação: O próprio juiz pode ser tendencioso ou alucinar sobre a qualidade da resposta. |
Comparação Direta
| Característica | Métricas Determinísticas | LLM-as-a-Judge |
|---|---|---|
| Velocidade | Ultra-rápida | Lenta |
| Custo | Irrelevante | Significativo |
| Nuance Semântica | Nula | Alta |
| Reprodutibilidade | Total | Variável |
| Melhor Uso | Verificação de formato, sintaxe e lógica rígida | Avaliação de qualidade, raciocínio e intenção |
Conclusão: A Estratégia Híbrida
Para construir sistemas de agentes de IA robustos, você não deve escolher apenas uma abordagem. A melhor prática é utilizar uma estratégia híbrida:
- Use Métricas Determinísticas como primeira linha de defesa: Valide se o JSON é válido, se as ferramentas foram chamadas com os argumentos corretos e se o formato de saída está correto. Isso economiza dinheiro e tempo.
- Use LLM-as-a-Judge para a avaliação de qualidade: Uma vez que a estrutura esteja correta, use um modelo superior para avaliar se o agente realmente resolveu o problema de forma inteligente e útil.
Ao combinar a precisão matemática das métricas determinísticas com a inteligência semântica dos LLMs, você cria um pipeline de avaliação que é ao mesmo tempo eficiente e profundo.