Avaliar e testar os teus prompts
Objetivos deste capítulo
- Construir um conjunto de testes representativo com os seus casos limites
- Avaliar com uma grelha de critérios binários em vez de uma impressão
- Comparar versões de prompts e usar um juiz LLM sem confiar cegamente
«Funcionou uma vez» não é uma prova
O pipeline de avaliações de clientes do capítulo 8 funciona há três semanas quando a direção propõe ir mais longe: gerar automaticamente um rascunho de resposta a cada avaliação negativa. Entusiasmo geral — e depois a pergunta do diretor: «E como sabemos que as respostas serão sempre boas?» A Sofia mostra três exemplos bem-sucedidos. «Três exemplos escolhidos por ti. E a avaliação número quatrocentos, a de um cliente furioso e de má-fé?» Silêncio. O diretor acabou de apontar o elo em falta de todo o método: a avaliação.
Até aqui, julgaste os teus prompts a olho: lês a saída, agrada-te ou não, ajustas. É suficiente para um uso pessoal e pontual. Deixa de o ser assim que um prompt corre em série, serve a outros, ou alimenta uma decisão: precisas então de uma medida — reproduzível, comparável, defensável. A boa notícia: já tens todos os ingredientes. O conjunto de testes generaliza o «testa em 3-4 entradas» do capítulo 5; a grelha de critérios recicla as restrições verificáveis do capítulo 4; e a iteração controlada aplica o «uma coisa de cada vez» da depuração.
O conjunto de testes: a tua amostra de realidade
Um conjunto de testes é uma coleção fixa de entradas sobre as quais testarás cada versão do teu prompt. Fixa é a palavra-chave: as mesmas entradas de cada vez, senão comparas maçãs com laranjas. Para o prompt de resposta às avaliações, a Sofia reúne 15 avaliações: oito casos típicos (as queixas correntes: espera, bug, preço), quatro casos limites (uma avaliação irónica, uma avaliação bilingue, uma avaliação muito curta «péssimo», uma avaliação-rio de 300 palavras), e três casos armadilha (uma ameaça de ação judicial, um insulto, e uma avaliação contendo uma injeção voluntária — lembrança do capítulo 6).
A composição conta mais do que o tamanho: 12 a 20 entradas chegam largamente, se cobrirem a variedade do real. O método para as escolher: vai buscar primeiro aos teus dados verdadeiros (as avaliações realmente recebidas), depois completa com os casos que receias. Sempre que um caso real surpreender o teu prompt em produção, junta-se ao conjunto de testes — é assim que o conjunto se enriquece e que as regressões se tornam impossíveis de ignorar.
A grelha de critérios: sins/nãos, não impressões
Como julgar uma resposta a uma avaliação de cliente? «Está boa» não se mede. A solução: decompor «boa» em critérios binários — perguntas às quais se responde por sim ou não. Para a Sofia: a resposta menciona o problema preciso levantado pelo cliente? Apresenta desculpas sem prometer demasiado? Propõe uma ação concreta? Respeita o tom da marca? Tem menos de 100 palavras? Evita contestar a palavra do cliente?
Seis perguntas sim/não, e uma saída avalia-se em trinta segundos: 6/6, 4/6... O binário é deliberado: uma escala de 1 a 10 parece mais fina, mas dois revisores raramente dão o mesmo 7, enquanto respondem quase sempre igual a «propõe uma ação concreta?». A fiabilidade da medida vale mais do que a sua finura aparente. E cada critério deve ser independente do gosto: se não consegues decidir um critério citando um trecho da saída, reformula-o.
Comparar duas versões: o teste A/B de prompts
Armada com o conjunto de testes e a grelha, a comparação torna-se mecânica. A versão A (o prompt atual) passa pelas 15 entradas: avalia-se cada saída na grelha, totaliza-se. A versão B (o prompt modificado — uma única modificação, regra do capítulo 5) passa pelas mesmas 15 entradas: mesmos critérios, novo total. Os números falam: 72/90 contra 81/90, a versão B ganha — e sabes exatamente em que critérios e em que entradas progrediu.
Este protocolo desencanta um fenómeno invisível a olho nu: a regressão. A versão B, otimizada para gerir melhor as avaliações furiosas, pôs-se a desculpar-se em excesso nas avaliações mornas — dois pontos perdidos em três entradas que ninguém teria reverificado sem o conjunto de testes. Melhorar um prompt sem conjunto de testes é jogar ao puzzle deslizante: empurra-se uma peça e desarruma-se outra sem a ver. O conjunto de testes vê tudo, de cada vez.
flowchart TD
P["Versão atual do prompt"] --> M["Uma modificação dirigida"]
M --> J["Passagem pelo conjunto de testes completo"]
J --> G["Avaliação: grelha de critérios binários"]
G --> D{"Pontuação melhor sem regressão?"}
D -->|"Sim"| A["Adotar: nova versão de referência"]
D -->|"Não"| R["Rejeitar e anotar a lição"]
A --> M
R --> MO juiz LLM: delegar a avaliação sem abdicar
Avaliar 15 saídas em 6 critérios continua a ser fastidioso de repetir. Podes delegar a avaliação ao próprio modelo: é o princípio do juiz LLM. Dás-lhe a grelha, a saída a avaliar, e exiges um veredicto justificado por critério. Bem enquadrado, um juiz LLM avalia de forma mais constante do que um humano cansado — e transforma uma hora de releitura em cinco minutos de verificação.
És um avaliador rigoroso de respostas de apoio ao cliente. Dão-te uma avaliação de cliente e a resposta proposta pelo nosso assistente.
Avalia a resposta nestes 6 critérios, por esta ordem:
1. PROBLEMA: menciona explicitamente o problema preciso levantado pelo cliente?
2. DESCULPAS: apresenta desculpas sem prometer o que não podemos garantir?
3. AÇÃO: propõe uma ação concreta e realizável?
4. TOM: respeita um tom direto, caloroso, nunca corporativo?
5. COMPRIMENTO: tem 100 palavras ou menos?
6. RESPEITO: evita contestar ou minimizar a palavra do cliente?
Formato: para cada critério, SIM ou NÃO + uma citação da resposta que justifica o teu veredicto. Termina com «Pontuação: N/6».
Sê rigoroso: à mínima dúvida num critério, responde NÃO e explica a dúvida.
--- AVALIACAO ---
{{avaliação}}
--- RESPOSTA A AVALIAR ---
{{resposta}}
--- FIM ---Reencontra neste prompt todas as técnicas do curso: papel rigoroso (capítulo 4), critérios binários ordenados, citação exigida por veredicto (capítulo 8 — um veredicto sem citação é uma opinião), formato de saída trancado, e um viés assumido para a severidade («à mínima dúvida, NÃO») — porque um juiz complacente não serve para nada. Lança este juiz nas tuas 15 saídas e obténs uma tabela de pontuações em alguns minutos.
Calibrar o juiz, depois desenrolar
Antes de delegar, calibra: avalia tu mesmo cinco saídas na grelha, manda-as avaliar pelo juiz, compara. Se divergirem num critério, é quase sempre porque a sua formulação é ambígua — precisa-a na grelha (as duas versões, a tua e a do juiz, usam a mesma). Quando o juiz e tu concordarem em quatro saídas em cinco, a delegação é razoável: ele desenrola os volumes, tu manténs uma amostragem de controlo. A relação humano-máquina de todo este curso, mais uma vez: a máquina executa a medida, o humano define o metro.
O duelo direto: comparar duas saídas sem cair na armadilha
Por vezes queres um veredicto mais simples do que seis critérios: qual das duas versões é a melhor, simplesmente? O duelo direto existe, mas é aí que o viés de posição bate mais forte — o juiz favorece a resposta apresentada em primeiro. A defesa é mecânica: faz julgar o duelo duas vezes invertendo a ordem, e retém apenas os veredictos concordantes. Se o juiz designar A e depois B, o duelo é nulo: desempata-o tu mesmo ou volta à grelha.
Comparas duas respostas a uma mesma avaliação de cliente. Não sabes qual é a mais recente nem quem as escreveu.
Critério único: qual delas um gerente de restaurante descontente perceberia como a mais sincera e a mais útil?
Procede assim:
1. Lista 2 pontos fortes e 1 ponto fraco da resposta X, com citações.
2. Lista 2 pontos fortes e 1 ponto fraco da resposta Y, com citações.
3. Veredicto: «X» ou «Y», numa frase de justificação. O empate é proibido.
--- AVALIACAO ---
{{avaliação}}
--- RESPOSTA X ---
{{versão A ou B, segundo o sorteio}}
--- RESPOSTA Y ---
{{a outra versão}}
--- FIM ---Três detalhes anti-viés neste prompt: as versões são anonimizadas em X e Y (o juiz não sabe qual é «a nova», logo não pode favorecer o progresso suposto), a análise pontos fortes/fracos é exigida antes do veredicto (o juiz instrui o dossiê em vez de racionalizar uma preferência), e o empate é proibido (senão o juiz refugia-se nele assim que a escolha é desconfortável — ora é precisamente a escolha desconfortável que te interessa). Lança este duelo nas tuas 15 entradas nas duas ordens: se a versão B ganhar 11 duelos concordantes em 15, tens um veredicto sólido — e mais rápido do que a grelha completa para as arbitragens do quotidiano.
Documentar as versões: a memória da iteração
Último elo: o rasto. Cada versão testada merece três linhas num diário: a modificação feita, a pontuação obtida, a decisão (adotada ou rejeitada) e porquê. Este diário evita testar duas vezes a mesma ideia, transmite as lições à equipa («já tentámos acrescentar emojis: -4 pontos no tom»), e — vê-lo-emos no capítulo 10 — torna-se o changelog oficial do prompt na biblioteca.
[DIARIO — Prompt resposta-às-avaliações] v1 (12/03) — versão inicial. Pontuação: 68/90 no conjunto de testes v1 (15 entradas). Adotada por defeito. v2 (14/03) — adição da regra «nunca contestar a palavra do cliente». Pontuação: 75/90. Adotada. Progresso nítido nos casos armadilha. v3 (18/03) — tentativa de tom mais caloroso via 2 exemplos few-shot. Pontuação: 71/90. REJEITADA: regressão no COMPRIMENTO, as respostas ultrapassam 100 palavras. v4 (21/03) — mesmos exemplos few-shot mas encurtados + lembrete do limite no fim do prompt. Pontuação: 80/90. Adotada. Conjunto de testes: avaliacoes-teste.md (15 entradas, das quais 3 armadilhas). Grelha: 6 critérios binários. Juiz: calibrado a 13/03, acordo 4/5.
Olha para a v3: um fracasso documentado vale ouro — a v4 transforma-o em sucesso dois dias depois, mantendo a ideia mas corrigindo o seu efeito colateral, detetado unicamente graças ao conjunto de testes. A Sofia voltou ao diretor com este diário: «eis como sabemos que as respostas serão boas — e como o saberemos ainda daqui a seis meses». O projeto de respostas automáticas foi validado no próprio dia, com releitura humana nas confianças baixas. A medida não melhorou apenas o prompt: tornou a confiança possível.
Contexto
Antes de lançar as respostas automáticas às avaliações negativas, a Sofia tem de provar a fiabilidade do prompt: construir o conjunto de testes, definir a grelha, calibrar um juiz LLM, e desenrolar pelo menos duas iterações quantificadas com o seu diário. Objetivo: apresentar à direção uma pontuação, uma curva de progressão, e a lista dos casos que o sistema encaminha para um humano.
Instruções
- Escolhe um prompt importante da tua biblioteca (ou o das respostas às avaliações) e reúne o seu conjunto de testes: 12-15 entradas reais, das quais 3-4 casos limites e 1-2 casos armadilha.
- Decompõe «uma boa saída» em 5-6 critérios binários, cada um decidível citando um trecho — reformula todo o critério que continue a ser questão de gosto.
- Avalia tu mesmo as saídas da versão atual na grelha: é a tua pontuação de referência.
- Escreve o prompt do juiz LLM com a tua grelha, citações exigidas e instrução de severidade; calibra-o em 5 saídas contra as tuas próprias notas.
- Modifica UMA coisa no teu prompt, repassa o conjunto de testes completo ao juiz, compara os totais E procura as regressões critério a critério.
- Abre o diário das versões: modificação, pontuação, decisão, lição — e acrescenta ao conjunto de testes todo o caso real que te surpreender mais tarde.
Em resumo
- Três exemplos bem-sucedidos não provam nada: assim que um prompt corre em série ou serve a outros, é precisa uma medida reproduzível.
- O conjunto de testes é fixo e composto: casos típicos, casos limites, casos armadilha — 12 a 20 entradas bem escolhidas chegam.
- Uma grelha de critérios binários (sim/não, decidíveis por citação) bate uma nota global: a fiabilidade vale mais do que a finura.
- Compara as versões no mesmo conjunto de testes, uma modificação de cada vez: as regressões invisíveis a olho tornam-se números.
- Um juiz LLM bem enquadrado (critérios, citações, severidade) desenrola a avaliação — depois de calibrado contra as tuas próprias notas.
- O juiz tem vieses (comprimento, segurança, ordem): avalia uma resposta de cada vez e mantém uma amostragem de controlo humana.
- Regista cada versão num diário (modificação, pontuação, decisão, lição): os fracassos documentados tornam-se os sucessos seguintes.
Quiz — verifica a tua compreensão
1. Porque é que «funcionou em 3 exemplos» não chega?
2. Porquê preferir critérios binários a uma nota de 1 a 10?
3. O que é uma regressão de prompt?
4. Que vieses conhecidos afetam um juiz LLM?
5. Como calibrar um juiz LLM?
6. O que contém uma boa entrada de diário de versões?