Avaliação (evals) e alucinação: como saber se está bom
Sem evals você está no escuro. Como medir qualidade, custo e alucinação de um sistema de IA.
6 min de leitura
Escolha como aprender
combine como quiserDica: o vídeo é um resumo visual rápido; o áudio e o texto trazem a aula completa. Terminar o áudio ou o vídeo, ou passar no quiz, já conta a aula como concluída.
Você testou o sistema, as respostas pareceram boas, e foi para produção. Duas semanas depois, um usuário reporta que o modelo inventou uma política que não existe. Sem avaliação sistemática, você não tem como saber se o sistema está funcionando, você só descobre quando algo quebra em produção. Evals não são burocracia: são o único instrumento que transforma 'parece bom' em 'sabemos que está bom'.
Por que 'parece bom' não é uma métrica
Quando você avalia um sistema de IA manualmente, lê uns dez outputs, acha razoável, segue em frente, você está fazendo amostragem de viés de confirmação. Você tende a notar o que funciona e a normalizar o que falha.
O problema se agrava com LLMs porque eles são fluentes por natureza. Uma resposta errada escrita com confiança e boa gramática parece mais certa do que uma resposta correta escrita de forma hesitante. Fluência não é factualidade.
Além disso, sistemas de IA têm superfície de falha não-determinística: o mesmo prompt pode gerar outputs diferentes dependendo de temperatura, versão do modelo, mudança no contexto. Uma avaliação manual pontual captura um momento, não um comportamento.
O que você precisa é de um conjunto de casos de teste com gabarito: entradas conhecidas, saídas esperadas, critérios de aceitação claros, e de um processo que rode esses casos toda vez que você muda algo: o prompt, o modelo, o chunking do RAG, a ordem das ferramentas. Sem isso, cada mudança é um salto no escuro. Com isso, cada mudança tem um placar.
Ciclo de avaliação contínua de um sistema de IA
Evals não são um passo único antes do deploy, são um ciclo que fecha o loop entre mudança e evidência.
- Dataset de referência · entradas + gabarito
- Novos casos · de falhas em prod
- Eval runner · executa todos os casos
- LLM-as-judge · correção / alucinação
- Métricas de tarefa · F1, ROUGE, exact match
- Scorecard · correção, custo, latência
- Detector de regressão · compara com baseline
- Decisão · promoter ou bloquear
- Produção · observabilidade ativa
Os quatro tipos de avaliação, e quando usar cada um
Dataset de referência com gabarito é o tipo mais confiável. Você tem pares (pergunta, resposta esperada) criados por humanos, e compara o output do modelo contra esse gabarito usando métricas determinísticas (exact match, F1, ROUGE). É barato de rodar, reproduzível e ótimo para regressão. A limitação: construir o dataset custa tempo, e ele fica desatualizado se o domínio muda.
LLM-as-judge usa um modelo (geralmente mais capaz, como Claude Opus ou GPT-4o) para avaliar o output de outro modelo segundo critérios que você define em um prompt de avaliação: 'a resposta está factualmente correta? está fundamentada no contexto fornecido? é concisa?'. É escalável e funciona bem para dimensões subjetivas, tom, completude, ausência de alucinação, que métricas automáticas não capturam. O risco é viés do juiz: o modelo avaliador tem preferências próprias e pode ser enganado por outputs fluentes.
Métricas de tarefa são específicas ao que o sistema faz. Um sistema de extração de entidades tem precisão e recall. Um sistema de classificação tem acurácia e F1. Um sistema de geração de código tem taxa de compilação e taxa de testes passando. Defina essas métricas antes de construir, elas forçam clareza sobre o que 'funcionar' significa.
Avaliação humana é o padrão-ouro, mas não escala. Use para calibrar os outros métodos (você descobre que seu LLM-judge concorda com humanos em 87% dos casos), para casos-limite e para decisões de go/no-go em lançamentos críticos.
Tipos de avaliação: comparativo
| Tipo | Custo de setup | Escala | Objetividade | Melhor para |
|---|---|---|---|---|
| Dataset + gabarito | Alto (criação humana) | Alta | Alta | Regressão, CI/CD |
| LLM-as-judge | Médio (prompt de eval) | Alta | Média (viés do juiz) | Dimensões subjetivas, alucinação |
| Métricas de tarefa | Baixo (automático) | Alta | Alta | Tarefas estruturadas (extração, classificação) |
| Avaliação humana | Alto (tempo de especialistas) | Baixa | Alta (padrão-ouro) | Calibração, go/no-go crítico |
Na prática, o maior erro que vejo é esperar ter um dataset perfeito antes de começar a medir. Comece com 30 casos representativos, cobrindo os cenários mais críticos e os casos-limite que você já conhece. Um LLM-as-judge com um prompt de avaliação bem escrito rodando nesses 30 casos já é infinitamente melhor do que nenhuma avaliação. Você vai iterar e crescer o dataset com o tempo. No meu site tenho estudos de caso específicos sobre como estruturar evals para sistemas construídos com Bedrock AgentCore, incluindo como usar os recursos nativos de observabilidade da plataforma para fechar o loop entre produção e avaliação.
O que medir: além da correção
Correção e factualidade são o núcleo, a resposta está certa? Está fundamentada em fontes verificáveis? Não inventou dados? mas um sistema de produção exige mais dimensões.
Alucinação merece atenção especial. Existem dois tipos principais: alucinação factual (o modelo afirma algo falso sobre o mundo) e alucinação de fundamentação (o modelo cita ou parafraseia algo que não está no contexto que recebeu). Em sistemas RAG, o segundo tipo é mais traiçoeiro porque o modelo pode ignorar os documentos recuperados e gerar do seu próprio conhecimento, ou pior, misturar os dois. Um LLM-judge bem calibrado consegue detectar isso comparando o output com o contexto fornecido.
Custo em tokens é uma métrica de negócio disfarçada de métrica técnica. Se o seu prompt de sistema tem 4.000 tokens e você faz 1 milhão de chamadas por dia, isso importa. Meça tokens de entrada e saída por chamada, e projete o custo por caso de uso. Mudanças de prompt que parecem inocentes podem dobrar o custo.
Latência afeta UX diretamente. Meça p50 e p95, a mediana esconde os casos lentos que frustram usuários. Latência também é afetada por escolha de modelo, tamanho do contexto e se você está usando streaming.
Segurança como dimensão de eval significa: o sistema recusou corretamente inputs maliciosos? Vazou dados do system prompt? Executou tool calls que não deveria? Isso se conecta diretamente com a Lição 10, onde tratamos guardrails.
Tipos de avaliação
Toque num conceito e depois na definição.
O que você precisa saber sobre evals
Evals como ativo de engenharia, e a conexão com produção
Um dataset de avaliação bem construído é um ativo de engenharia tão valioso quanto o código do sistema. Ele documenta o comportamento esperado, serve como especificação executável e protege contra regressões.
A cada mudança relevante, novo modelo, prompt revisado, chunking diferente no RAG, nova ferramenta adicionada ao agente, você roda os evals e compara com o baseline anterior. Se a pontuação de correção caiu 3 pontos e o custo subiu 20%, você tem evidência para decidir se vale a pena. Sem evals, você está tomando essa decisão no escuro.
O ciclo completo fecha quando você conecta evals com observabilidade em produção. Logs de produção revelam casos que você não antecipou no dataset, usuários fazem perguntas que você não imaginou, em idiomas que você não testou, com contextos que quebram suposições do seu prompt. Esses casos viram novos itens no dataset de eval. O sistema fica mais robusto a cada iteração.
Essa conexão entre evals offline e observabilidade online é o que diferencia um sistema de IA gerenciado de um sistema de IA que você torce para funcionar. No Módulo 5 vamos aprofundar a instrumentação de produção, traces, métricas e alertas, mas o fundamento é este: você precisa medir antes de chegar lá, e continuar medindo depois.
Perguntas frequentes sobre evals
Quantos casos de teste eu preciso para começar?
30 a 50 casos bem escolhidos já são suficientes para detectar regressões grosseiras e calibrar um LLM-judge. Priorize cobertura dos cenários críticos e dos casos-limite conhecidos, não volume. Você vai crescer o dataset com o tempo.
LLM-as-judge é confiável?
É útil, não é infalível. O juiz tem viés por posição (prefere a primeira opção), viés de verbosidade (prefere respostas mais longas) e pode ser enganado por outputs fluentes. Calibre sempre comparando com avaliação humana em uma amostra. Use prompts de avaliação com critérios explícitos e peça ao juiz para justificar a pontuação, isso reduz o viés.
Devo usar as mesmas evals para modelos diferentes?
Sim, é exatamente para isso que servem. Um dataset de eval estável permite comparar modelos em condições controladas. Se você mudar o dataset ao mesmo tempo que muda o modelo, você perde a capacidade de isolar o que causou a mudança na qualidade.
Alucinação é sempre detectável?
Não. Alucinações sutis, especialmente em domínios onde você não tem especialistas para revisar, podem passar por qualquer método automatizado. É por isso que evals não substituem revisão humana periódica, especialmente em domínios de alto risco como saúde, jurídico e financeiro.