TokenSaver TOKENSAVER

Como escrever prompts de debug que funcionam de primeira

Publicado em 24 de junho de 2026 · ⚡ 6 min de leitura

A diferença entre "gastei 20 minutos brigando com a IA" e "resolveu na primeira" quase nunca é o modelo. É como você estrutura o pedido. Colar 300 linhas e escrever "não funciona, arruma" é a receita do vai-e-volta infinito. Existe um formato que resolve isso — e ele cabe em quatro blocos.

Por que "não funciona, arruma" falha

Quando você joga só o código e uma reclamação vaga, o modelo precisa adivinhar três coisas: o que deveria acontecer, o que está acontecendo, e onde. Ele chuta. Às vezes acerta; na maioria das vezes devolve uma pergunta ("qual erro aparece?") ou conserta o problema errado. Cada chute é um round a mais — e cada round reenvia o código inteiro, custando tokens.

A estrutura de quatro blocos

Debug bom se resume a responder quatro perguntas, na ordem:

  1. Stack / Ambiente — qual linguagem, versão, framework, banco. Um bug de async em Node 18 é diferente do mesmo código em Node 22;
  2. Comportamento esperado — o que deveria acontecer, em uma frase clara;
  3. Comportamento atual / erro — o que de fato acontece, com a mensagem de erro exata (stack trace, código HTTP, o que for);
  4. Código-fonte isolado — só o trecho relevante, limpo, sem o resto do projeto.

💡 Dica de Dev: a mensagem de erro exata vale mais que dez linhas de descrição. TypeError: Cannot read properties of undefined (reading 'id') diz ao modelo exatamente onde olhar. "Tá dando erro" não diz nada.

Publicidade

Exemplo lado a lado

Ruim:

arruma esse login que ta dando erro
[300 linhas de código coladas]

Bom:

Stack: Node.js 20 + Express + PostgreSQL
Esperado: POST /login retorna 200 com o token JWT no body
Atual: retorna 500 — TypeError: Cannot read properties
       of undefined (reading 'id')
Código: [só a função login, limpa]

O segundo prompt tem menos texto e resolve mais rápido. O modelo já sabe que o user está vindo undefined do banco, e vai direto para a query e o tratamento do resultado — em vez de gastar um round perguntando qual é o erro.

Isole o código de verdade

"Código isolado" é literal: mande a função com o bug, não o arquivo de 500 linhas onde ela mora. Contexto irrelevante não ajuda o diagnóstico e ainda polui a janela de contexto. Se o bug depende de outra função, mande as duas — mas não o módulo inteiro "por garantia".

Por que a ordem importa

Modelos de linguagem processam melhor quando o contexto vem antes do dado. Stack e comportamento esperado enquadram o problema; o erro aponta o sintoma; o código é onde ele aplica tudo isso. Inverter — jogar o código primeiro e o contexto depois — faz o modelo ler 300 linhas sem saber o que procurar.

Publicidade

Não decore o formato — deixe a ferramenta montar

O TokenSaver tem os quatro campos prontos: você preenche stack, esperado, erro e código, e ele monta o prompt estruturado (e higienizado) para colar direto na IA.

Montar meu prompt de debug — 2 usos grátis