Shopping cart

Subtotal $0.00

View cartCheckout

Building better devs

TnewsTnews
  • Home
  • IA
  • O Prompt Perfeito Existe — e Ele Custa 80% Menos Tokens do que o Seu
IA

O Prompt Perfeito Existe — e Ele Custa 80% Menos Tokens do que o Seu

Email : 68

A maioria dos prompts que circulam por aí são inchados. Cheios de polidez desnecessária, contexto redundante e instruções que o modelo nem precisa para entregar o que você quer. Eu sei porque já escrevi centenas deles assim — até perceber que estava pagando por tokens que não faziam diferença nenhuma no resultado.

A engenharia de prompt não é sobre escrever mais. É sobre escrever melhor. E “melhor”, nesse contexto, significa três coisas: resultado mais preciso, saída mais consistente e custo menor. As três andam juntas.

Esse artigo é um guia prático. Sem teoria genérica, sem “depende do caso”. Técnicas concretas, com exemplos reais de antes e depois, para você aplicar hoje — seja usando Claude, GPT, Gemini ou qualquer outro LLM.

Por Que Seu Prompt Está Gordo

Vamos começar com um fato incômodo: a performance de raciocínio dos LLMs começa a degradar por volta de 3.000 tokens de entrada. O sweet spot para a maioria das tarefas é entre 150 e 300 palavras de instrução, segundo pesquisas da IBM sobre otimização de tokens. Depois disso, cada token adicional tem retorno decrescente — e frequentemente negativo.

Existe também o chamado “lost in the middle problem”, documentado extensivamente pela Anthropic e pelo Google DeepMind. Quando o contexto fica grande, as informações que estão no meio do prompt sofrem uma queda de mais de 30% em precisão de recall. O modelo presta mais atenção no começo e no final — o meio vira terra de ninguém.

Traduzindo: se você escreve um prompt de 800 palavras, o modelo provavelmente está ignorando boa parte do que está no meio. Você paga por aqueles tokens, mas eles não trabalham para você.

A Anatomia do Prompt Eficiente

Todo prompt eficiente tem no máximo quatro componentes. Não mais. Se você precisa de mais, provavelmente deveria estar usando prompt chaining em vez de um prompt monolítico.

ComponenteObrigatório?FunçãoExemplo
PapelRecomendadoDefine o enquadramento e tom da resposta“Você é um engenheiro de dados sênior”
TarefaSimO que fazer — verbo no imperativo“Analise esta query SQL e otimize”
ContextoQuando necessárioDados ou restrições relevantesA query SQL, schema, volume de dados
FormatoRecomendadoComo entregar o resultado“Responda em JSON com os campos X, Y, Z”

Repare no que não está na lista: saudações, explicações sobre por que você precisa disso, pedidos de desculpa, ou frases como “por favor, seria possível…”. LLMs não têm ego. Polidez não melhora a resposta — só custa tokens.

Antes e Depois: Um Exemplo Real

Prompt inchado (87 tokens):

Olá! Eu estou trabalhando em um projeto e preciso da sua ajuda.
Seria possível você analisar o seguinte código Python e me dizer
se há algum problema de performance? Se possível, sugira melhorias.
O código é o seguinte:
[código]
Muito obrigado pela ajuda!

Prompt otimizado (22 tokens):

Analise este código Python. Liste problemas de performance
e reescreva otimizado.
[código]

Mesmo resultado. 75% menos tokens. Numa API que cobra $3/milhão de tokens de entrada, isso é dinheiro que volta para o seu bolso em cada chamada.

As 7 Técnicas que Fazem Diferença Real

1. Tags XML para Estrutura

A Anthropic documentou isso extensivamente no seu guia de prompt engineering: usar tags XML para separar seções do prompt melhora a aderência às instruções drasticamente. Funciona com todos os modelos, não só com Claude.

<role>Engenheiro de dados sênior</role>
<task>Otimize esta query SQL para tabelas com mais de 10M de linhas</task>
<context>
  <schema>users(id, name, email, created_at), orders(id, user_id, total, created_at)</schema>
  <query>SELECT * FROM users u JOIN orders o ON u.id = o.user_id WHERE o.created_at > '2025-01-01'</query>
</context>
<format>
  1. Query otimizada
  2. Explicação das mudanças (máximo 3 frases)
  3. Índices recomendados
</format>

Por que funciona? Porque elimina ambiguidade. O modelo sabe exatamente onde termina o contexto e começa a instrução. Sem tags, tudo vira um bloco de texto onde o modelo precisa inferir a estrutura — e inferência custa tokens de raciocínio.

2. Few-shot com Exemplos Diversos (3 a 5)

Mostrar exemplos do que você quer é mais eficiente do que descrever o que você quer. Parece contraintuitivo — exemplos usam mais tokens, certo? Sim, mas eles reduzem drasticamente a necessidade de re-prompting e retry, que é onde o custo real mora.

A regra é: 3 a 5 exemplos diversos. Não 1, não 10. Três exemplos cobrem a maioria dos edge cases. Acima de cinco, o retorno marginal despenca.

Classifique o sentimento como positivo, negativo ou neutro.

Texto: "Esse produto mudou minha vida" → positivo
Texto: "Não funciona, quero reembolso" → negativo
Texto: "Chegou no prazo" → neutro

Texto: "A bateria dura menos do que prometido mas a câmera é ótima" →

O modelo aprende o padrão dos exemplos e replica. Você não precisou explicar que “sentimentos mistos devem ser classificados pelo aspecto dominante” — o exemplo já comunica isso.

3. Chain of Thought — Mas Só Quando Necessário

Chain of thought (CoT) é a técnica de pedir ao modelo que “pense passo a passo” antes de dar a resposta final. Funciona bem para raciocínio lógico, matemática e problemas multi-step.

Mas tem um detalhe que muita gente ignora: modelos de raciocínio (o-series da OpenAI, Claude com extended thinking) já fazem isso internamente. Pedir para eles “pensarem passo a passo” é redundante — e segundo o próprio guia de reasoning da OpenAI, pode até piorar a performance.

ModeloCoT explícito?Por quê
GPT-4oSim, ajudaNão raciocina internamente
GPT-o3/o4Não, prejudicaJá faz CoT interno
Claude SonnetSim, ajudaBeneficia de instruções explícitas
Claude com thinkingDependeThinking já é CoT, mas direcionamento ajuda

Regra prática: se o modelo tem capacidade de raciocínio nativo, pule o “pense passo a passo”. Se não, inclua.

4. Formato de Saída Explícito

Definir exatamente como você quer a resposta é a técnica com melhor custo-benefício. Reduz pós-processamento, elimina texto desnecessário na saída (menos tokens de saída = menos custo), e facilita automação.

Responda APENAS com um JSON válido neste formato:
{"severity": "low|medium|high", "fix": "string", "lines": [int]}
Sem explicação. Sem markdown. Só o JSON.

A OpenAI vai além e oferece Structured Outputs nativo — você passa um JSON Schema e o modelo garante aderência ao formato. A Anthropic tem funcionalidade similar via tool use com schema. Se sua API suporta structured output nativo, use. Se não, a instrução explícita no prompt funciona na maioria dos casos.

5. Posicionamento Estratégico da Informação

Lembra do “lost in the middle”? Use isso a seu favor:

  • Início do prompt: instruções críticas, papel, formato de saída
  • Meio: contexto e dados (o que o modelo precisa ler, mas que pode tolerar leitura parcial)
  • Final: a tarefa em si, reforço das restrições mais importantes

Essa estrutura em U maximiza a atenção do modelo nos pontos que mais importam.

[INÍCIO — papel e formato]
Você é um revisor de código sênior. Responda em bullet points, máximo 5.

[MEIO — contexto]
<code>
  ... 200 linhas de código ...
</code>

[FINAL — tarefa + restrição]
Liste apenas bugs que causem crash em produção. Ignore style e naming.

6. Eliminação de Tokens Parasitas

Tokens parasitas são palavras que não adicionam informação para o modelo. Elimine sistematicamente:

Token parasitaAlternativa
“Por favor, poderia…”(remover — use imperativo)
“Gostaria que você…”(remover — use imperativo)
“É importante notar que…”(remover — diga direto)
“Neste contexto…”(remover — o contexto já está lá)
“Tendo em mente que…”(remover — inclua como restrição)
“Como um especialista em…”“Papel: [especialidade]”

Parece pedantismo, mas em chamadas de API repetidas (automação, pipelines, batch processing), esses tokens se acumulam. Num pipeline que processa 10.000 documentos, eliminar 50 tokens por chamada economiza 500.000 tokens — que a $3/M é $1.50 por rodada. Roda diariamente? $45/mês. Só eliminando polidez desnecessária.

7. Prompt Chaining em Vez de Prompt Monolítico

Se sua tarefa precisa de mais de 300 palavras de instrução, você não precisa de um prompt melhor — precisa de prompts menores encadeados.

A documentação da Anthropic recomenda explicitamente prompt chaining para tarefas complexas. Cada passo tem um prompt focado, e a saída de um alimenta a entrada do próximo.

# Passo 1: Extrair
"Extraia todas as entidades (pessoas, empresas, datas) deste texto. JSON."

# Passo 2: Classificar
"Classifique estas entidades por relevância para o tema 'fusões e aquisições'. JSON."

# Passo 3: Resumir
"Com base nestas entidades classificadas, escreva um resumo de 3 parágrafos."

Cada passo usa menos tokens, tem menos chance de erro, e permite retry granular (se o passo 2 falhar, você não precisa refazer o 1 e o 3).

Otimizações de Nível Arquitetural

Além das técnicas de escrita de prompt, existem otimizações que acontecem na camada de infraestrutura e que podem reduzir custos em até 90%, segundo um artigo publicado por Yuval Ben-Itzhak no Medium:

Semantic Caching: guarde respostas para queries semanticamente similares. Se alguém já perguntou algo parecido, retorne o cache em vez de chamar a API novamente. Reduz custo em até 73%.

Batching: processe múltiplos inputs num único prompt em vez de fazer uma chamada por input. A técnica BatchPrompt, documentada pela Portkey, reduz overhead de tokens de sistema e instrução que seriam repetidos em cada chamada individual.

Context Engineering: a evolução natural da engenharia de prompt. Em vez de otimizar só o prompt, otimize tudo que o modelo vê — system prompt, histórico de conversa, tools disponíveis, exemplos injetados dinamicamente. A Anthropic publicou um guia específico sobre isso focado em agentes de IA.

O Erro Mais Caro: Retry por Prompt Ruim

Nenhuma otimização de token supera o custo de um prompt que precisa ser refeito. Se o modelo entende errado e você precisa re-promptar, duplicou o custo. Se o resultado é inconsistente e precisa de validação + retry, triplicou.

O investimento de tempo para escrever um prompt preciso na primeira vez se paga exponencialmente em escala. Cada retry evitado é economia pura.

Uma prática que ajuda: mantenha uma biblioteca de prompts testados. Quando encontrar um prompt que funciona bem para uma tarefa recorrente, salve-o. Versione-o. Trate prompts como código — porque em 2026, eles são.

O Prompt Generator que Você Deveria Estar Usando

Tanto a Anthropic quanto a OpenAI agora oferecem ferramentas nativas para otimizar prompts. O Prompt Generator da Anthropic, disponível no developer console, recebe seu prompt cru e devolve uma versão estruturada com tags XML, formato de saída definido e instruções redundantes removidas.

Não é perfeito, mas é um excelente ponto de partida — especialmente se você está começando e ainda não tem intuição sobre o que funciona e o que é gordura.

Checklist Rápido

Antes de enviar qualquer prompt para produção, passe por essa checklist:

  • Tem menos de 300 palavras de instrução?
  • Usa imperativo em vez de pedidos educados?
  • Define formato de saída explícito?
  • Informações críticas estão no início e no final (não no meio)?
  • Inclui 3-5 exemplos diversos para tarefas de classificação/extração?
  • Não pede CoT para modelos que já raciocinam nativamente?
  • Pode ser quebrado em prompts menores encadeados?
  • Está versionado e salvo numa biblioteca?

Se você respondeu “não” para mais de dois itens, seu prompt provavelmente está custando mais do que deveria. A engenharia de prompt não é um talento — é uma habilidade técnica. E como toda habilidade técnica, melhora com prática deliberada e medição rigorosa. Comece medindo: quantos tokens sua chamada consome? Quantos retries você faz? Quanto custa por tarefa completada? Os números vão te surpreender — e motivar.


👉 Leia também: O Documento de Uma Página que Faz Qualquer IA Responder 10x Melhor

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts