O agente de IA que eu lancei passou por 23 testes unitários, mas em menos de uma hora após entrar em produção, ele inventou um recurso de produto e citou um preço três vezes menor que a realidade. Quando o usuário o questionou, o bot insistiu no erro, a conversa terminou e eu perdi um cliente. O erro provou que um conjunto de testes unitários determinísticos não pode garantir a confiabilidade de um agente.

Por que os testes unitários são insuficientes para agentes de IA

Os testes unitários funcionam para código tradicional porque a mesma entrada sempre gera a mesma saída. “2 + 2 = 4” é uma garantia que você pode verificar com uma simples checagem de igualdade. Um agente impulsionado por LLM, no entanto, altera sua saída com base no prompt, no contexto circundante e no estado de quaisquer ferramentas externas que ele chama. Um teste que verifica a igualdade exata de strings ignora alucinações, mudanças de tom ou violações de guardrails. A falha silenciosa que custou um cliente mostra que você deve avaliar a interação completa, não apenas funções isoladas.

Construindo um harness de avaliação antes de qualquer código de funcionalidade

Eu inverti a ordem de desenvolvimento: primeiro projetei um harness de avaliação de quatro camadas e depois escrevi o agente. O harness executa 131 testes em uma única passagem, custa aproximadamente três centavos por execução e termina em cerca de onze minutos. Eu atribuo cada teste ao menor modelo capaz de lidar com ele, reservando modelos maiores e mais caros para os momentos em que eles realmente agregam valor.

Camada 1 – Funcionalidade de ferramentas

A primeira linha de defesa verifica se o agente consegue chamar suas ferramentas corretamente. Os testes cobrem buscas bem-sucedidas, consultas deliberadamente malformadas e falhas simuladas de API. Como o uso de ferramentas é amplamente determinístico — ou a requisição é formada corretamente ou a API retorna um erro — asserções simples em Python são suficientes. Capturar uma requisição malformada aqui evita confusões em etapas posteriores.

Camada 2 – Seguimento de instruções

Em seguida, o harness verifica se o agente respeita os guardrails. Um LLM menor atua como avaliador, escaneando a resposta do agente em busca de conformidade: manter o personagem, evitar tópicos proibidos e emitir o esquema JSON exigido. Esta camada captura a deriva semântica que os testes unitários perdem, como deslizar para uma persona não pretendida ou vazar prompts internos.

Camada 3 – Comportamento orientado a objetivos

A terceira camada é a mais crítica. Ela questiona se o agente realmente cumpre seu propósito. Para um bot de geração de leads, isso significa confirmar se ele faz as perguntas de qualificação corretas e escala para um humano quando apropriado. Eu uso um modelo orientado ao raciocínio aqui porque ele pode avaliar o fluxo geral sem inflar os custos. Se o bot falhar em atingir seu objetivo — mesmo passando pelas duas primeiras camadas — ele é sinalizado para redesenho.

Camada 4 – Desempenho

Finalmente, o harness registra a latência e a velocidade de geração de tokens. Respostas lentas prejudicam a experiência do usuário, especialmente em chats em tempo real. Ao rastrear essas métricas junto com a correção funcional, garanto que o agente seja preciso e responsivo.

Escolhas de economia de custos

O valor de US$ 0,03 por execução não é um truque de marketing; ele vem do ajuste da complexidade do teste ao tamanho do modelo. Verificações determinísticas de ferramentas rodam no runtime mais barato, a conformidade de instruções usa um modelo leve e apenas as avaliações orientadas a objetivos invocam um modelo mais capaz, embora mais caro. Essa abordagem em camadas mantém a despesa total baixa o suficiente para rodar o conjunto completo a cada alteração de código.

O trade-off: velocidade versus segurança

Introduzir um harness adicionou uma fricção inicial. Os ciclos de desenvolvimento se estenderam e o cronograma de lançamento atrasou.

O que observar a seguir

  • Avaliadores baseados em modelos: À medida que os LLMs melhoram, o avaliador na Camada 2 pode se tornar mais refinado, reduzindo falsos positivos enquanto ainda detecta violações sutis de política.

Conclusão

Se você constrói agentes de IA para produção, um harness de avaliação em camadas não é opcional; é fundamental. Ao antecipar o custo de testes abrangentes — US$ 0,03 por execução, onze minutos por conjunto — você se protege contra as falhas silenciosas que os testes unitários simplesmente não conseguem detectar.