Engenharia de prompts — falar com as IA como um profissional — 9. Avaliar e testar os teus prompts

20 min read min de lecture
Capítulo 09

Avaliar e testar os teus prompts

Capítulo 9 de 10 · 90%

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.

Para as tarefas de resposta verificável (classificação, extração), anota também a saída esperada de cada entrada — a sua «resposta de ouro». A avaliação torna-se então uma simples contagem: 14 respostas certas em 15. Para as tarefas abertas como uma resposta a uma avaliação, não há resposta única: é a grelha de critérios que toma o relevo.

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 --> M
O ciclo de iteração: uma modificação, uma passagem completa, uma decisão quantificada — e cada lição documentada.

O 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.

PROMPT
É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.

Um juiz LLM tem vieses documentados: favorece as respostas longas, as formulações seguras, e — se lhe mostrares duas respostas lado a lado — a apresentada em primeiro. Defesas: critérios binários com citações em vez de nota global, avaliação de uma única resposta de cada vez, e inversão da ordem quando comparas duas versões. E sobretudo: verifica tu mesmo uma amostra dos veredictos dele antes de lhe confiares.

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.

PROMPT
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.

PROMPT
[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.

🛠️ É a tua vez

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

  1. 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.
  2. 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.
  3. Avalia tu mesmo as saídas da versão atual na grelha: é a tua pontuação de referência.
  4. 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.
  5. 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.
  6. 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.
Dica — Começa por avaliar tu mesmo antes de delegar ao juiz: a calibração é o que separa uma medida fiável de um número decorativo. E à mínima divergência recorrente, é a formulação do critério que é preciso precisar.

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?

A avaliação número quatrocentos — furiosa e de má-fé — não se parece com os exemplos lisonjeiros. O conjunto de testes amostra a realidade, armadilhas incluídas.

2. Porquê preferir critérios binários a uma nota de 1 a 10?

A fiabilidade da medida prima sobre a sua finura aparente: um critério binário ancorado no texto reproduz-se, uma impressão numérica não.

3. O que é uma regressão de prompt?

A v3 da Sofia ganhava em calor mas ultrapassava o limite de palavras noutras entradas. Só a passagem completa do conjunto de testes revela este jogo de empurra.

4. Que vieses conhecidos afetam um juiz LLM?

Daí as defesas: uma resposta de cada vez, critérios binários com citações, inversão da ordem em comparação, e amostragem humana de controlo.

5. Como calibrar um juiz LLM?

A divergência recorrente assinala um critério ambíguo, não um mau juiz. Quando o acordo atinge 4/5, a delegação com amostragem torna-se razoável.

6. O que contém uma boa entrada de diário de versões?

O diário evita retestar as mesmas ideias, transmite as lições (a v3 rejeitada alimenta a v4 adotada) e tornar-se-á o changelog do prompt na biblioteca.

Auteur(s)

R

REHOUMA Haythem

Haythem Rehouma est un ingénieur et architecte IA et cloud, formateur et enseignant technique, avec un profil orienté IA médicale, AWS, MLOps, LLM/RAG et vision par ordinateur.