10 Técnicas de Economia de Tokens para Desenvolvedores de IA
Cada token que você envia para uma API de LLM é uma unidade faturável. Nos preços do GPT-4o de $2,50 por milhão de tokens de entrada, um prompt de sistema inchado de 200 tokens repetido em 500.000 requisições diárias custa $250 extras por mês — por tokens que não fazem nada útil. Este guia oferece dez técnicas concretas que você pode implementar hoje.
Remover Palavras de Preenchimento e Cortesias
Modelos não precisam de "por favor", "gentilmente", "como modelo de IA" ou "gostaria que". Essas frases consomem tokens sem afetar a qualidade da saída. Corte-as sem piedade.
# ANTES — 80 tokens
Você é um assistente de suporte ao cliente muito útil. Por favor
seja sempre educado e profissional. Quando o usuário fizer uma
pergunta, certifique-se de fornecer uma resposta clara e detalhada.
Se não souber a resposta, diga honestamente.
# DEPOIS — 22 tokens
Suporte ao cliente. Seja conciso e preciso.
Se não souber, diga isso.
Usar Formatos Estruturados em vez de Prosa
Instruções em prosa como "Por favor responda em formato JSON com os seguintes campos..." são verbosas. Mostrar o esquema diretamente é mais conciso e frequentemente mais eficaz.
# ANTES — 58 tokens
Por favor responda à pergunta do usuário em formato JSON.
O JSON deve ter um campo "resposta" com sua resposta,
um campo "confiança" com um número entre 0 e 1, e um array
"fontes" se você tiver fontes relevantes.
# DEPOIS — 18 tokens
Responda JSON: {"resposta":"...","confianca":0.0-1.0,"fontes":[]}
Usar Abreviações em Prompts do Sistema
Em prompts do sistema longos, defina abreviações uma vez e use-as em todo o texto. "IU" em vez de "interface do usuário", "req" em vez de "requisito", "BC" em vez de "base de conhecimento".
# ANTES — 40 tokens
Quando o usuário enviar um ticket de suporte, consulte a base
de conhecimento para encontrar documentação relevante. Se a base
de conhecimento contiver uma resposta, forneça-a com um link.
# DEPOIS — 22 tokens
Com ticket de suporte: consultar BC para docs relevantes.
Se houver correspondência: resposta + link ao artigo.
Comprimir Contexto com Resumos Progressivos
À medida que as conversas crescem, você reenvia todo o histórico a cada turno. Após 6–8 turnos, substitua mensagens mais antigas por um resumo compacto. Use um modelo barato (Gemini Flash) para a síntese.
async def comprimir_historico(mensagens, max_tokens=1500):
if contar_tokens(mensagens) < max_tokens:
return mensagens
a_resumir = mensagens[1:-6]
prompt_resumo = f"Resuma esta conversa em ≤100 palavras: {a_resumir}"
resumo = await chamar_llm(prompt_resumo, model="gemini-2.5-flash")
return [
mensagens[0], # prompt do sistema
{"role": "assistant", "content": f"[Contexto anterior: {resumo}]"},
*mensagens[-6:]
]
Usar Exemplos Few-Shot de Forma Eficiente
Exemplos few-shot são poderosos mas caros se estiverem inchados. Use os exemplos mais curtos que demonstrem o padrão. O modelo infere o padrão apenas com os pares entrada/saída.
# ANTES — 79 tokens
Aqui estão alguns exemplos de como classificar mensagens:
Exemplo 1: Quando o cliente diz "Meu pedido não chegou ainda"
isso deve ser classificado como problema de "entrega".
Exemplo 2: Quando diz "Fui cobrado duas vezes" → "faturamento".
# DEPOIS — 27 tokens
Classifique o tipo de mensagem.
"Meu pedido não chegou" → entrega
"Fui cobrado duas vezes" → faturamento
"{mensagem}" →
Dividir Prompts Complexos em Chamadas Menores
Um único prompt complexo que pede 5 coisas frequentemente produz resultados piores que 5 prompts focados. Mais importante, você pode rotear subtarefas para modelos mais baratos.
Eliminar Espaços em Branco e Linhas Vazias
Linhas em branco, espaços no final e indentação excessiva se tokenizam como tokens separados. É uma economia pequena, mas não custa nada implementar e se acumula em milhões de chamadas.
import re
def comprimir_espacos(prompt: str) -> str:
# Remover espaços no final de cada linha
prompt = re.sub(r'[ \t]+$', '', prompt, flags=re.MULTILINE)
# Colapsar 2+ linhas em branco em uma
prompt = re.sub(r'\n{3,}', '\n\n', prompt)
return prompt.strip()
Usar Otimizações Específicas de Cada Modelo
Cada modelo tem recursos projetados para reduzir a sobrecarga de tokens:
- OpenAI: Use
response_format: {"type": "json_object"}em vez de pedir JSON no prompt - Anthropic: Use tags XML (
<instrucoes>,<contexto>) para maior clareza com menos palavras - Gemini: Use
generationConfig.responseMimeType: "application/json"para saída JSON direta
Cachear Prompts do Sistema com o Cache da Anthropic
O cache de prompts da Anthropic marca parte do seu prompt como cacheável. Em requisições subsequentes, as porções em cache são lidas a $0,30/1M tokens em vez de $3,00/1M — redução de 90%.
import anthropic
client = anthropic.Anthropic()
resposta = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
system=[
{
"type": "text",
"text": prompt_sistema_longo, # ex: 4000 tokens
"cache_control": {"type": "ephemeral"} # cache de 5 min
}
],
messages=[{"role": "user", "content": mensagem_usuario}]
)
# Primeira chamada: grava cache (preço cheio)
# Chamadas 2-N: lê cache ($0,30/1M vs $3,00/1M)
Medir Antes e Depois com um Contador de Tokens
Todas as técnicas acima só são úteis se você mede seu efeito. Diferentes modelos tokenizam texto de forma diferente. Antes de implantar qualquer otimização de prompt, verifique as contagens reais de tokens com o Tokenia.
import tiktoken
enc = tiktoken.encoding_for_model("gpt-4o")
tokens_antes = len(enc.encode(prompt_antes))
tokens_depois = len(enc.encode(prompt_depois))
print(f"Antes: {tokens_antes} tokens")
print(f"Depois: {tokens_depois} tokens")
print(f"Economia: {(tokens_antes - tokens_depois)/tokens_antes:.0%}")
Resumo das Economias Esperadas
| Técnica | Economia típica | Esforço de implementação |
|---|---|---|
| Remover palavras de preenchimento | 15–30% | Minutos |
| Formatos estruturados | 20–40% | Minutos |
| Abreviações | 10–20% | Minutos |
| Resumos progressivos | 40–70% | 1–2 horas |
| Few-shot eficiente | 30–50% | 30 minutos |
| Dividir prompts complexos | Variável + ganhos de qualidade | 2–4 horas |
| Eliminar espaços | 2–8% | 5 minutos |
| Recursos do modelo | 10–25% | 1 hora |
| Cache de prompts (Anthropic) | Até 90% no prompt do sistema | 30 minutos |
| Medir com contador de tokens | Valida tudo acima | Contínuo |
Meça suas economias com o Tokenia
Cole seus prompts antes e depois no Tokenia para ver a diferença exata na contagem de tokens e economia de custos em todos os modelos principais — grátis, instantâneo, sem cadastro.
Experimente o Tokenia Grátis →