Glossário · IA em testes
Avaliação de LLM (LLM evals)
Em inglês: LLM evaluation
Também chamado de: avaliação de LLMs, LLM evals, evals, avaliação de modelos de linguagem
Definição
Medir sistematicamente a qualidade de uma funcionalidade com LLM em um conjunto fixo de entradas e critérios, já que as saídas variam e asserções exatas raramente servem.
A avaliação de LLM (“evals”) é como você testa uma funcionalidade construída sobre um modelo de linguagem de grande porte: roda-a sobre um conjunto fixo de entradas, pontua cada saída segundo critérios definidos e acompanha as pontuações ao longo do tempo. Testes tradicionais verificam um único valor esperado exato. A saída de um LLM é texto livre que varia entre execuções, então a avaliação troca a igualdade exata por uma mistura de verificações determinísticas, notas e revisão humana, e julga a funcionalidade pelas taxas de aprovação em muitos casos, e não por um único exemplo.
Exemplo
Um classificador de chamados de suporte avaliado contra um dataset rotulado:
import { readFileSync } from 'node:fs';
import { classifyTicket } from '../src/classifier';
type Case = { input: string; expected: 'billing' | 'bug' | 'account' | 'other' };
const cases: Case[] = JSON.parse(readFileSync('evals/tickets.json', 'utf8'));
let correct = 0;
for (const c of cases) {
const result = await classifyTicket(c.input);
if (result.label === c.expected) correct++;
else console.log(`MISS expected=${c.expected} got=${result.label} :: ${c.input}`);
}
const accuracy = correct / cases.length;
console.log(`accuracy ${(accuracy * 100).toFixed(1)}% over ${cases.length} cases`);
if (accuracy < 0.9) process.exit(1); // regression gate
Tipos de verificação, da mais à menos confiável
- Determinísticas. JSON válido, corresponde a um schema, contém um campo obrigatório, fica abaixo de um limite de tamanho, escolhe um rótulo de um conjunto permitido. Baratas e repetíveis; use-as sempre que se encaixarem.
- Baseadas em referência. Comparar com uma resposta sabidamente boa: igualdade exata para rótulos, ou pontuações de sobreposição e similaridade para texto livre. As pontuações de similaridade são aproximadas e precisam de calibração.
- Avaliadas por modelo. Outro LLM pontua a saída segundo uma rubrica (LLM-as-judge). Escala para texto aberto, mas traz os seus próprios erros.
- Revisão humana. A mais confiável para qualidade com nuances, e a referência contra a qual você calibra as verificações automáticas.
O que já está consolidado e o que ainda está mudando
Consolidado: avaliar sobre um dataset versionado, rodar evals a cada mudança de prompt ou de modelo, acompanhar as pontuações ao longo do tempo e incluir casos adversariais como prompt injection. Ainda mudando: a escolha de métricas para geração aberta, o quanto confiar em notas dadas por modelos e o ferramental, que muda rápido.
Erros comuns
Julgar uma mudança a partir de meia dúzia de conversas manuais; usar casos de menos para distinguir uma mudança real de ruído; rodar cada caso uma única vez quando as saídas variam (rode várias vezes e informe a dispersão); e deixar o conjunto de avaliação ficar desatualizado enquanto o tráfego real dos usuários muda.