Como Otimizar Tokens de Prompt (Corte Custos Sem Quebrar Seus Prompts)
Otimização de tokens é a prática de reduzir o comprimento do prompt para cortar custos de API sem degradar a qualidade do output. O princípio central: cada palavra em um prompt tem um custo, mas nem toda palavra contribui valor. Identifique quais tokens justificam seu preço — e corte o resto.
Um system prompt de produção que roda 500 vezes por dia com 300 tokens cada custa cerca de 150.000 tokens diários. Corte para 180 tokens — completamente factível — e você reduz esse item em 40%. Em um ano, são milhões de tokens. Com o câmbio do dólar, isso representa uma diferença real no custo mensal das APIs para times brasileiros.
O problema é que a maioria dos conselhos de otimização é vaga. "Deixe seus prompts mais curtos" não é uma técnica. O que segue são 7 técnicas específicas, ordenadas por esforço e economia, com exemplos antes/depois.
Por que contagem de tokens importa mais que comprimento (a matemática de custo)
Você é cobrado por token, não por caractere. Um token é aproximadamente 4 caracteres ou 0,75 palavras em inglês — em português, a relação varia levemente. Código, JSON e terminologia técnica tokenizam diferente de prosa comum.
A estrutura de custo se acumula rapidamente:
- Tokens de input — cobrados toda vez que você manda o prompt
- Tokens de output — geralmente 2–3x mais caros por token que input
- Uso da janela de contexto — prompts maiores reduzem o espaço para histórico de conversa, forçando truncamento mais cedo
As 7 técnicas de otimização de tokens — ordenadas por esforço vs. economia
| Técnica | Tokens economizados | Risco de qualidade | Esforço |
|---|---|---|---|
| Cortar definições de papel verbosas | Alto (20–30 tokens) | Mínimo | Baixo |
| Remover linguagem de preenchimento | Alto (15–30 tokens) | Zero | Baixo |
| Comprimir instruções do system prompt | Alto (30–80 tokens) | Baixo | Médio |
| Reduzir exemplos few-shot | Médio (40–140 tokens) | Médio | Médio |
| Especificar formato de output explicitamente | Médio (tokens de output) | Zero | Baixo |
| Usar notação estruturada compacta | Médio (10–25 tokens) | Baixo | Baixo |
| Implementar prompt caching | 90% em chamadas repetidas | Zero | Alto |
1. Cortar definições de papel verbosas
Definições de papel são a fonte mais comum de inchaço de tokens. Elas crescem por iteração — alguém adiciona "experiente", depois "sênior", depois uma lista de tecnologias, depois uma declaração de filosofia. Nada disso muda o comportamento do modelo de forma significativa para tarefas diretas.
"Você é um engenheiro de software sênior experiente com 15 anos de experiência em Python, JavaScript e infraestrutura cloud que se especializa em escrever código limpo e manutenível..."
"Você é um engenheiro de software Python/JS."
2. Remover linguagem de preenchimento
"Por favor", "cuidadosamente", "abrangente", "detalhado", "certifique-se de" — essas palavras custam tokens e não contribuem nada. O modelo não responde a marcadores de cortesia. Não tenta mais porque você disse "cuidadosamente". São hábitos da escrita humana sem efeito na qualidade do output de LLM.
3. Comprimir instruções do system prompt
System prompts longos geralmente repetem a mesma restrição de três formas diferentes. "Seja conciso. Mantenha as respostas breves. Não explique demais." Escolha uma. Consolide regras repetidas em uma única instrução direta. Use bullets em vez de parágrafos para listas de instruções.
4. Reduzir exemplos few-shot
Exemplos few-shot são caros — 60 tokens por exemplo somam rápido. Avalie se você realmente precisa de todos eles. Dois exemplos bem escolhidos geralmente superam cinco mediocres. O objetivo é cobrir os padrões mais importantes, não volume.
5. Especificar formato de output explicitamente
Tokens de output custam mais que tokens de input na maioria das APIs. Se você não restringir o output, o modelo vai gerar tanto quanto achar útil — geralmente 2–3x mais do que você precisa. Diga exatamente o que retornar: "Retorne apenas o objeto JSON. Sem explicação. Sem preâmbulo."
6. Usar notação estruturada compacta
Instruções escritas como prosa usam mais tokens que a mesma informação em bullets ou notação estruturada compacta. "Você deve responder primeiro reconhecendo a pergunta do usuário, depois fornecendo a resposta, e então oferecendo uma sugestão de acompanhamento" → três bullets. Mesmo significado, menos tokens.
7. Implementar prompt caching para prefixos repetidos
Anthropic e OpenAI oferecem prompt caching — um recurso que armazena prefixos de prompt repetidos no servidor. A primeira chamada custa o preço normal. Cada chamada seguinte que reutiliza o mesmo prefixo recebe 90% de desconto nos tokens em cache. Para aplicações que enviam o mesmo system prompt milhares de vezes por dia, esta é de longe a otimização de maior impacto. Requer uma mudança de código (parâmetro cache_control no Anthropic), mas a economia é difícil de ignorar.
Importante: qualidade antes de otimizar
Uma advertência: compressão de tokens e qualidade estrutural de prompt podem entrar em conflito. Cortar tokens de especificidade — as restrições concretas que dizem ao modelo o que fazer — destrói consistência mesmo economizando custo.
A regra prática: optimize tokens de papel e preenchimento livremente. Otimize tokens de instrução com cuidado. Pontue o prompt antes e depois para verificar que clareza, especificidade e estrutura não caíram. O guia de avaliação de qualidade de prompt cobre como fazer isso sistematicamente em menos de 10 segundos.
Se quiser ver o antes/depois em tokens reais do seu prompt, o PromptEval inclui um otimizador de tokens que comprime sem perder intenção — disponível gratuitamente com até 12k caracteres.
Score your prompts before they hit production
PromptEval scores prompts 0–100 across 4 dimensions — clarity, structure, context, and output spec — and tells you exactly what to fix.
Try free →