Ao revisar um app open source com um assistente de IA no chat, eu queria evidência de que um prompt reescrito era mesmo melhor, e não só uma impressão. Montei uma bancada local de testes: 96 respostas, cada uma gerada de forma isolada para que os casos não se contaminassem, e depois avaliadas às cegas por juízes independentes. A reescrita ajudou claramente o modelo mais forte, sobretudo ao impedir que ele inventasse fatos, e não fez diferença confiável no modelo menor.
Resultado: O prompt reescrito subiu as respostas sem afirmação inventada de 75% para 92% no Sonnet (teste de sinais p≈0,04), sem ganho confiável no Haiku.
Detalhe técnico
Desenho: 2 modelos (Haiku, Sonnet) × 2 variantes de prompt (A base, B reescrita) × 8 casos × 3 repetições = 96 respostas. As fixtures foram geradas chamando o próprio código construtor de contexto do app sobre dados de seed, então o modelo recebeu exatamente o contexto que produção enviaria. Um subagente por resposta, lendo só o prompt e um único arquivo de caso, para eliminar vazamento entre casos. Quatro juízes Opus cegos deram nota de 1 a 5 e marcaram afirmações fora do contexto fornecido.
Resultados (nota média / ≥4 / sem afirmação inventada): Haiku A 3,75 / 54% / 58%; Haiku B 4,08 / 71% / 62%; Sonnet A 4,54 / 96% / 75%; Sonnet B 4,92 / 100% / 92%. A dispersão entre repetições foi de 0,07 a 0,14, pequena o bastante para separar efeito do prompt de acaso.
Estatística: pareado por caso e repetição, teste de sinais. Sonnet: B ganhou 10, perdeu 2, empatou 12 (p≈0,04). Haiku: 9/5/10 (p≈0,4), sem suporte. O modelo pesou mais que o prompt: o pior Sonnet superou o melhor Haiku.
Achados: um erro de contagem se repetiu em 6/6 respostas do Haiku com qualquer prompt, então a correção é mandar o número pronto do servidor em vez de insistir no prompt. Os exemplos da variante B causaram um efeito colateral (4/24 respostas passaram do limite de negritos). Os juízes também expuseram uma inconsistência na fixture da demo.
Trade-offs/ressalvas: os subagentes recebem o prompt como arquivo, não como system prompt real, e o deploy-alvo roda modelo de outro fornecedor, então o resultado vale para Claude; o próximo passo é uma rodada cross-vendor. ~4,5M de tokens de subagente, quase tudo overhead do harness; uma rodada direta via API com o system prompt verdadeiro seria bem mais barata e fiel.