As cinco técnicas se acumulam. Cada uma reduz uma parte diferente da conta — combinar três delas alcança realisticamente uma redução de 70% sem qualquer perda de qualidade; usar as cinco chega mais perto de 85–90%. Este guia é o menu completo, com economias medidas e código executável para cada técnica. Cada técnica tem um link para um guia detalhado específico na parte inferior.
As cinco técnicas, classificadas por ROI
| # | Técnica | O que reduz | Economia realista |
|---|---|---|---|
| 1 | cache de prompts | Tokens de entrada em prompts repetidos | 60–90% de desconto na entrada |
| 2 | Escolha do nível do modelo | Taxa por chamada em tarefas simples | ~10 vezes mais barato |
| 3 | Limites de saída | Tokens de saída, o custo dominante em tarefas criativas | A saída custa 4–5 vezes a entrada |
| 4 | Paralelismo + processamento em lote | Tempo de execução, não custo por token | Permite timeouts mais rígidos e menos novas tentativas |
| 5 | Higiene de novas tentativas | Gastos descontrolados com novas tentativas | Limita a cauda, não a média |
1. Cache de prompts — de longe, a técnica com maior ROI
Se o seu prompt de sistema tiver mais de 1.000 tokens e você chamar o mesmo prompt mais de duas vezes em uma janela de 5 minutos, o cache de prompts é dinheiro fácil. A Anthropic cobra entradas em cache a 10% da taxa de entrada (2.5% on Claude Fable 5.1, 5% on Claude Opus 5.5); a OpenAI faz o equivalente automaticamente em 10%. Um campo adicionado:
# Prompt caching: 1 extra field = 10% rate on cached input
resp = client.messages.create(
model="claude-sonnet-5",
max_tokens=600,
system=[{
"type": "text",
"text": LONG_SYSTEM_PROMPT,
"cache_control": {"type": "ephemeral"}, # cache this part
}],
messages=[{"role": "user", "content": question}],
)Economia realista: 60–90% de redução na sua linha de custo de entrada se o prompt de sistema for grande e estável. Veja o painel /app/usage — se cache_read_input_tokens for 0, você tem 30 minutos de trabalho pela frente que continuará gerando retorno. Aprofunde-se.
2. Hierarquia de modelos — use o modelo mais barato que seja bom o suficiente
O Claude Haiku 4.5 custa aproximadamente 10% do Claude Opus 4.7. Para classificação, formatação, decisões de roteamento e resumos simples — o Haiku é mais do que suficiente. Reserve o Opus para chamadas que realmente exigem raciocínio difícil.
# Pick the cheapest model that's still good enough for the task.
# Escalate by difficulty: cheap (Haiku 4.5 / GPT-5.6 Terra) -> Sonnet 5 -> Opus 4.7
def pick_model(difficulty: int) -> str:
if difficulty <= 2: return "claude-haiku-4-5" # ~10x cheaper than Opus
if difficulty <= 4: return "gpt-5-6-terra" # a second family, cheap output
if difficulty <= 7: return "claude-sonnet-5"
return "claude-opus-4-7"Como criar a decisão de hierarquia: primeiro, um classificador pequeno (o próprio Haiku consegue fazer isso em 100 tokens de entrada); depois, faça o roteamento. Meça a qualidade da saída com avaliações separadas. Não deixe a intuição decidir — faça um benchmark.
- Nível 0 (Haiku 4.5): classificação, extração, tradução e resumo de entradas com <2K — centavos por chamada
- Nível 1 (GPT-5.6 Terra): resumos mais longos, conclusão de código e uso simples de ferramentas — também custa centavos, mas lida melhor com contextos longos
- Nível 2 (Sonnet 5): raciocínio real, agentes em várias etapas e tarefas de visão — o principal modelo de produção
- Nível 3 (Opus 4.7): somente quando você confirmar que o Sonnet não consegue fazer corretamente
3. Limites de saída — limite o que eles geram, não apenas o que leem
Os tokens de saída normalmente custam 4–5 vezes mais do que os de entrada. Um max_tokens=4096 padrão permissivo convida o modelo a divagar. Defina limites agressivos e use sequências de parada para interromper no marcador correto:
# Two-layer caps: per-call max_tokens + per-key wallet cap
client.chat.completions.create(
model="claude-sonnet-5",
messages=[...],
max_tokens=800, # cap each call
stop=["</answer>"], # cut at terminator
)
# /app/keys → set "Spending limit" per key:
# Production: $50/day · Experiment: $5/day · CI: $1/dayCombine o max_tokens por chamada com um limite de gastos da carteira por chave em /app/keys — um loop descontrolado ou bug não poderá ultrapassar seu teto diário. Duas camadas, ambas importantes.
4. Paralelismo — para cargas de trabalho em lote
Se você estiver processando 1.000 itens independentes (classificando feedback, pontuando leads ou gerando descrições), chamadas sequenciais levam uma hora. Com processamento assíncrono usando AsyncOpenAI e um limite de concorrência, você chega ao resultado em menos de um minuto — e timeouts mais rigorosos permitem falhar rapidamente em upstreams lentos. O paralelismo não reduz o custo por token, mas permite padrões arquiteturais (processamento idempotente e orçamentos de retry mais rigorosos) que reduzem custos.
5. Higiene de retries — não pague por retries descontrolados
Código ingênuo repete a chamada em todo erro, incluindo erros 400. Isso significa pagar por falhas (requisições 4xx no Kunavo não são cobradas, mas ainda consomem seu orçamento de limite de taxa e tempo de execução). Política correta: repetir apenas em 408/429/5xx, com backoff exponencial e jitter, máximo de 5 tentativas e 30 segundos de espera total. Em qualquer outro caso, falhe rapidamente e exiba o erro.
Como a economia aparece na prática
Economia realista medida em um SaaS que usa Kunavo e gasta $5.000/mês:
- Cache de prompts adicionado: $2.000 economizados (−40%)
- Hierarquia com Haiku para classificação: $800 economizados (−16%)
max_tokensmais rigoroso: $400 economizados (−8%)- Total: $3.200 economizados por mês, $1.800 gastos (−64% no total)
Esses efeitos se acumulam — cada técnica seguinte atua sobre a base já reduzida. Sem aplicar o cache primeiro, as outras técnicas economizam menos. A ordem importa: comece pela nº 1, depois nº 2 e, em seguida, nº 3.
O que não funciona como anunciado
- "Embeddings para tudo" — embeddings economizam em buscas de texto, não em geração. São baratos, mas não reduzem o custo das chamadas ao LLM
- "Fine-tunes locais para reduzir custos" — só se justificam se você processar 10 milhões ou mais de tokens por dia em uma tarefa restrita. Para a maioria das equipes, cache de prompts + seleção do Haiku como nível de modelo supera a complexidade operacional da hospedagem própria
- "Agregadores mais baratos" — o Kunavo já cobra pela maioria dos modelos abaixo da tarifa oficial do provedor. Agregadores mais baratos geralmente vencem trocando silenciosamente o modelo solicitado por um mais barato
Próximos passos
Aplique o cache primeiro — ele oferece o maior ROI por hora investida. Depois, instrumente o detalhamento do seu painel /app/usage por modelo e nível. Em seguida, crie a hierarquia. Acompanhe o custo mensal por usuário ativo como sua métrica principal — se permanecer estável ou cair enquanto o engajamento cresce, você está no caminho certo.
Perguntas frequentes
Quanto o cache de prompts pode reduzir uma conta de LLM?
A Anthropic cobra a entrada armazenada em cache a 10% da taxa normal de entrada (2.5% on Claude Fable 5.1, 5% on Claude Opus 5.5), e a OpenAI aplica o equivalente automaticamente a 10%. Em uma carga de trabalho com um prompt de sistema grande e estável, isso representa 60–90% de desconto na linha de custo de entrada. Aplique-o primeiro — todas as técnicas posteriores trabalharão sobre a base reduzida. Consulte o guia detalhado de cache de prompts para ver o formato exato da solicitação.
Quanto o Claude Haiku é mais barato que o Claude Opus?
O Claude Haiku 4.5 custa aproximadamente 10% do Claude Opus 4.7 — cerca de 10 vezes mais barato. Para classificação, extração, tradução e resumos curtos, o Haiku é suficiente; reserve o Opus para raciocínios que você confirmou que o Claude Sonnet 5 faz incorretamente. As taxas atuais por modelo estão no guia de preços da API do Claude.
Os tokens de saída são mais caros que os tokens de entrada?
Sim — os tokens de saída normalmente custam 4–5 vezes mais que os tokens de entrada. É por isso que um padrão livre de max_tokens=4096 é caro: ele convida o modelo a se alongar na linha mais cara da conta. Limite max_tokens por chamada e use sequências de parada para cortar no marcador correto.
Quanto é possível reduzir realisticamente uma conta de LLM no total?
Combinar três das cinco técnicas alcança realisticamente uma redução de 70% sem perda de qualidade, e usar as cinco chega mais perto de 85–90%. Em uma carga de trabalho medida de $5.000/mês: o cache de prompts economizou $2.000 (−40%), a escolha do nível Haiku para classificação economizou $800 (−16%) e limites max_tokens mais rígidos economizaram $400 (−8%) — $3.200 economizados, $1.800 gastos, uma redução total de 64%.
Qual é a política correta de novas tentativas para chamadas de API de LLM?
Repita apenas respostas 408, 429 e 5xx, com recuo exponencial e jitter, limitado a 5 tentativas e 30 segundos de espera total. Falhe rapidamente em todos os demais casos. Repetir um 400 nunca funciona — e, embora solicitações 4xx malsucedidas não sejam cobradas no Kunavo, elas ainda consomem o orçamento de limite de taxa e o tempo de execução.