Por Que Seus Prompts São Inconsistentes (E Como Corrigir)
A inconsistência tem duas fontes. Uma você não controla: o não-determinismo da inferência, que faz o mesmo prompt variar um pouco até com temperatura zero. A outra é o motivo real da dor e é sua: o prompt deixa lacunas para o modelo preencher. As correções que resolvem: (1) papel e contexto, (2) formato de saída declarado, (3) restrições mensuráveis no lugar de adjetivos vagos e (4) separar instrução fixa do input variável.
Você escreve um prompt. Funciona. Roda de novo no dia seguinte e recebe algo bem diferente. Soa familiar?
Inconsistência é um dos problemas mais frustrantes de quem trabalha com LLM, e a maioria diagnostica errado. Culpa o modelo por ser "aleatório". Existe de fato uma fonte de aleatoriedade que você não controla, mas ela é pequena. A parte que estraga o seu trabalho é estrutural: o prompt deixa decisão demais para o modelo tomar.
As duas fontes de inconsistência (e qual delas é sua)
Antes de corrigir, vale separar as duas causas, porque elas pedem respostas diferentes. Uma é técnica e está fora do seu alcance. A outra é a que você resolve com o prompt.
| Fonte | O que é | Tamanho do efeito | Você controla? |
|---|---|---|---|
| Não-determinismo da inferência | A ordem dos cálculos muda conforme o servidor processa sua requisição | Pequeno | Não |
| Subespecificação do prompt | Cada lacuna vira um ponto onde o modelo escolhe diferente | Grande | Sim |
A fonte técnica. Muita gente acredita que temperatura 0 congela a resposta. Não congela. Em setembro de 2025, a Thinking Machines Lab (laboratório fundado por Mira Murati, ex-CTO da OpenAI) mostrou por quê: a inferência depende do tamanho do lote (batch) em que a sua requisição cai no servidor. Como o batch varia com a carga do serviço, a ordem das operações de ponto flutuante muda em três pontos do transformer (RMSNorm, multiplicação de matrizes e atenção), e o resultado numérico muda junto. Eles conseguiram reprodutibilidade total só reescrevendo esses cálculos para serem invariantes ao batch, com um custo de desempenho de cerca de 60%. Tradução prática: nem os pesquisadores tratam isso de graça, e você, usando ChatGPT ou a API padrão, não tem como desligar. É ruído de fundo.
A fonte que importa. LLM não executa instrução como código; ele interpreta. Quando o prompt é subespecificado, o modelo preenche a lacuna, às vezes do jeito que você queria, às vezes não. O output parece aleatório, mas a variação foi você que autorizou ao deixar espaço para interpretação. Essa é a fonte grande, e é 100% corrigível.
Por que a inconsistência quase sempre é de robustez
Existe uma dimensão do prompt que mede exatamente "isto aguenta variação sem mudar de comportamento?". É a robustez. E ela é a mais negligenciada de longe. No relatório State of Prompt Quality, que avaliou 1.018 prompts reais, a robustez teve média de 31,5 sobre 100 e foi a dimensão mais fraca em 96% dos prompts. Para comparar: clareza, especificidade e estrutura ficaram todas na casa dos 60.
Esse degrau é a explicação em uma frase. A maioria escreve o prompt pensando no input limpo de hoje e não testa o input torto de amanhã. Quando o input muda um pouco, o prompt frágil responde diferente, e você chama isso de inconsistência. Detalhamos como fortalecer essa dimensão no guia de como deixar prompts de IA robustos e no passo a passo de como testar a robustez antes de produção.
As três lacunas que geram inconsistência
Na prática, quase toda inconsistência de especificação cabe em três lacunas. As três aparecem juntas em prompt fraco.
1. Ausência de papel
Prompt sem papel claro força o modelo a adivinhar em que "modo" operar. "Resuma este artigo" pode virar um resumo de uma frase para tweet, um sumário executivo, uma lista de bullets ou um parágrafo de newsletter. Sem saber quem pede e para quê, o modelo escolhe uma leitura ao acaso.
Correção: dê papel e contexto. "Você é editor de conteúdo. Resuma este artigo em 3 bullets para uma newsletter de SaaS B2B." Agora o modelo tem limite de decisão. Definir uma persona vale, na base do PromptEval, +17 pontos na nota média.
2. Formato de saída não declarado
Dizer o que produzir sem dizer como formatar é como pedir para um dev "só fazer alguma coisa". Vem alguma coisa, mas não a mesma duas vezes.
Correção: seja explícito. "Retorne um JSON com as chaves: resumo (string), pontos (array de 3 strings), tom (um de: formal, casual, técnico)." Foi o hábito mais poderoso dos dados: declarar o formato de saída sozinho vale +29 pontos na nota média, o maior ganho isolado medido.
3. Sinais de qualidade vagos
"Bom", "claro", "profissional", "conciso" significam coisas diferentes a cada execução. Não são restrições, são vibrações.
Correção: troque o adjetivo por um critério mensurável. No lugar de "escreva uma explicação clara", use "explique em no máximo 100 palavras, sem jargão, para quem nunca usou o produto". Agora existe algo concreto para o modelo mirar. Se quiser aprofundar essa troca, o guia de como escrever prompts específicos tem mais exemplos.
A divisão system/user: o maior ganho de consistência na API
Se você usa a API e joga tudo na mensagem do usuário, está desperdiçando o mecanismo de consistência mais forte que existe: o system prompt. O system prompt é onde mora o comportamento permanente (papel, formato, restrição, tom). A mensagem do usuário é só o input que muda por requisição.
Misturar os dois faz suas instruções "fixas" competirem com o input toda vez. O modelo não separa uma coisa da outra sozinho: para ele é tudo contexto, pesado por posição e formulação. Ponha o que nunca muda no system prompt e deixe na mensagem do usuário apenas o que varia.
Exemplo real: o mesmo pedido, antes e depois
Um caso concreto vale mais que a regra. Este é um prompt de gerador de resposta para suporte, primeiro do jeito que a maioria escreve, depois com as quatro lacunas fechadas. As notas são das quatro dimensões estruturais que o PromptEval pontua.
| Versão | O que está faltando | Nota |
|---|---|---|
| "Responda a este cliente de forma educada e resolva o problema dele." | Sem papel, sem formato, sem tom mensurável, sem separar instrução do input | 34/100 |
| System: "Você é agente de suporte N2. Responda em no máximo 120 palavras, tom cordial e direto, em 3 partes: reconhecer, solução em passos, próximo passo. Se faltar dado para resolver, peça exatamente o que falta em vez de supor." User: apenas a mensagem do cliente. | Papel, formato, restrição de tamanho e regra para input incompleto | 86/100 |
O pedido é o mesmo. O que mudou foi quanta decisão sobrou para o modelo. A primeira versão vai gerar respostas de tamanho, tom e estrutura diferentes toda vez. A segunda encaixota a resposta num molde estreito, então roda após roda ela cai no mesmo lugar. Repare na última regra: dizer o que fazer quando o input vem pela metade é exatamente a robustez que puxa a nota da base para baixo.
Checklist de auditoria de inconsistência
Antes de subir um prompt para produção, passe por estas quatro perguntas. Cada "sim" é um ponto onde o output vai variar:
- Se eu apagasse todos os adjetivos, o prompt ainda seria específico?
- Duas pessoas leriam isto e esperariam saídas diferentes?
- Existe algum lugar onde o modelo precisa "escolher" algo que eu não especifiquei?
- O prompt diz o que fazer quando o input vier fora do formato esperado?
Reler no olho raramente aponta essas lacunas, porque o prompt parece óbvio para quem escreveu. É por isso que vale um segundo par de olhos objetivo. Quando você cola um prompt no PromptEval, ele devolve a nota separada de cada uma das quatro dimensões e aponta onde o modelo ainda tem margem para escolher, sem precisar criar conta. O recurso de mapa vai além e desenha o prompt como um grafo: os nós em vermelho são justamente as instruções ambíguas ou em conflito, que são os pontos de inconsistência antes mesmo de você rodar. Se você quer um framework completo das quatro dimensões, elas estão em as 4 dimensões de um bom prompt; para montar o processo de avaliação antes de publicar, veja como avaliar prompts antes da produção.
A regra de uma frase
Se você não resume o que o prompt pede em uma frase (papel, tarefa, formato), ele ainda não está específico o bastante. Prompt fácil de descrever é fácil de executar de forma consistente. Ruído de inferência sempre vai existir, e é minúsculo. A inconsistência que atrapalha o seu trabalho é de especificação, e especificação é algo que você conserta.
Mais artigos
Avalie seus prompts antes de ir para produção
PromptEval pontua prompts de 0–100 em 4 dimensões — clareza, estrutura, contexto e especificação de saída.
Testar grátis →