DEV Community

Diego de Sousa Brandão
Diego de Sousa Brandão

Posted on

Custo de tokens em LLMs: onde pesa e como evitar desperdício

Resumo executivo

Em agentes de código o input domina o volume e o custo; em respostas pontuais e com raciocínio o output pesa mais por token. O desperdício evitável vem de contexto acumulado, modelo e esforço acima do necessário, cache quebrado e modos caros ligados sem necessidade, não da indentação.

  1. Preço por token. O output custa 5x a 6x o input em todos os modelos de topo: Claude Opus 5 US$5/25, GPT-5.6 Sol US$4/20 (promoção), Gemini 3.1 Pro US$2/12, e US$10/50 no Fable 5.1 e no GPT-6 Astra.
  2. Volume em agentes. Agentes gastam ~1.000x mais tokens que chat, com o input puxando o custo (arXiv 2604.22750). Num trace de PR da Sonar, 98% dos ~156 milhões de tokens foram leituras de cache e o output foi 0,19%.
  3. Raciocínio. Thinking tokens são cobrados como output, vêm ligados por padrão e podem chegar a dezenas de milhares por requisição. O esforço é a maior alavanca.
  4. Tokenizer. O do Claude a partir do 4.7 gera ~30% mais tokens que o anterior (Anthropic) e 1,4x a 1,7x mais que o do GPT em texto e código (Playcode). Compare custo por tarefa, não preço por token.
  5. Cache e modos. A leitura de cache custa 10% do input (2,5% no Fable 5.1) e reescrever custa 12,5x mais (50x no Fable 5.1). Fast e Priority custam 1,8x a 2x, e o Batch corta 50%.
  6. Erros de uso mais bem documentados. Sessão longa sem limpar, modelo caro como padrão, esforço alto sem necessidade, cache invalidado, leituras largas e agentes paralelos esquecidos.
  7. Arquivos de contexto. CLAUDE.md, AGENTS.md e GEMINI.md entram em toda sessão e os agentes seguem o que eles dizem. No estudo da ETH Zurich, arquivos gerados por LLM elevaram o custo por tarefa em 20% a 23% sem ganho significativo de acerto. O custo vem do comportamento induzido, não do tamanho do texto.
  8. Estratégias com ganho medido. Mascarar observações antigas (~50% menos custo, JetBrains), estabilizar o prefixo do cache (acerto de 7% para 84% e 59% a 70% de economia num agente em produção), carregar ferramentas sob demanda (de ~77 mil para ~8,7 mil tokens, Anthropic) e cortar instruções de teste de arquivos gerados (−16% a −21% de custo). Os números vêm de contextos diferentes e não se somam.
  9. Formatação. Indentação, espaços e quebras de linha custam 13% a 15% dos tokens de arquivos reais de Java, C# e C++ e 4% dos de Python; a indentação sozinha vale ~8% a 10% nos exercícios de completar código. O modelo tende a repetir a formatação na saída. É real, mas secundário.

Recomendação: limpar contexto a cada tarefa, escolher modelo e esforço por tarefa, estabilizar o prefixo para cache, reduzir leituras e definições de ferramentas, impor tetos de gasto e medir custo por tarefa com o campo usage de cada resposta.

Escopo e qualidade das fontes

O estudo responde quatro perguntas: onde o custo de tokens se concentra (input ou output), quais erros de uso mais o geram, como evitá-los e quais estratégias de redução têm ganho medido em fonte primária ou caso de produção. Cobre Claude (Fable 5.1, Opus 5, Sonnet 5, Haiku 4.5), OpenAI (GPT-6 Astra e GPT-5.6 Sol, Terra e Luna) e Google (Gemini 3.1 Pro e 3.8 Flash), além dos arquivos de contexto do Claude Code, do Codex, do Gemini CLI, do Kimi Code CLI e do GLM. Data-base: 20/09/2026.

Método: cada número vem de página aberta em 20/09/2026, com prioridade para documentação oficial e papers. Onde a fonte é de um fornecedor que vende a solução ou de terceiros, isso está marcado. Cálculos próprios estão marcados como tais.

Cada fonte recebe uma nota de força:

  • A: paper, documentação ou página oficial.
  • B: medição de terceiro ou de fornecedor, com método descrito.
  • C: análise secundária.

Onde o custo se concentra: input em agentes, output em geração e raciocínio

O ponto de maior custo depende do padrão de uso.

Padrão de uso Onde o custo pesa Evidência
Chat e geração pontual Output, 5x a 6x mais caro por token Tabela de preços abaixo
Agente de código Input, por releitura do contexto a cada passo arXiv 2604.22750; trace de um PR
Modelo de raciocínio Output invisível (thinking tokens) Documentação da OpenAI e da Anthropic

Uso real em escala. O relatório OpenRouter/a16z (State of AI, 100 trilhões de tokens até nov/2025) mostra o prompt médio subindo de ~1,5 mil para mais de 6 mil tokens e a resposta de ~150 para ~400, uma razão de ~15 para 1 (cálculo nosso). Prompts de programação são 3 a 4x mais longos que os gerais e passam de 20 mil tokens de input, e mais de 50% dos tokens já passam por modelos de raciocínio. Com output 5x mais caro, o input ainda responde por ~75% do custo a preço cheio e sem cache (cálculo ilustrativo nosso). O dado vem de uma só plataforma e usa proxies para uso agêntico.

Agentes. Bai et al. (arXiv 2604.22750, abr/2026) analisaram trajetórias de 8 modelos de 2025 no SWE-bench Verified, com o agente OpenHands. Em média, uma tarefa agêntica usou 4,17 milhões de tokens (US$1,86), contra 1,19 mil (US$0,016) em raciocínio de código e 3,39 mil (US$0,023) em chat de código: de 1.200x a 3.500x mais tokens. A razão input/output é de ~154 para 1 em agentes, contra 0,16 e 1,33 nos outros dois, e o input puxa o custo mesmo com cache. Num estudo de caso com o Sonnet 4.5, a leitura de cache dominou volume e custo em todas as fases, embora o output custe muito mais por token.

A mesma tarefa varia: a run mais cara custa em média ~2x a mais barata, com extremos de até 30x. Mais tokens não garantem mais acerto (a acurácia sobe pouco e satura), e os modelos preveem o próprio gasto com correlação de no máximo 0,39, subestimando-o. Um loop ingênuo relê o histórico a cada passo: 20 passos de 1.000 tokens somam 210.000 tokens de input, não 20.000 (cálculo nosso).

Caso: um PR de 800 linhas (Sonar, 1/09/2026). O post da Sonar mede 512 idas e voltas, janela com pico de 458.700 tokens e ~156 milhões de tokens faturados por ~US$41: 152,8 milhões de leitura de cache, 3,1 milhões de escrita, 106 mil de input novo e 289 mil de output. Um arquivo de 618 linhas (6.472 tokens), lido para usar uma função de ~67 linhas, ficou no contexto por ~470 turnos: ~2,7 milhões de tokens relidos, cerca de US$0,54 à tarifa de cache citada (~US$0,20 por milhão). Em 18 PRs comparáveis, a média foi de ~234 milhões de tokens de contexto, ~700 idas e voltas e ~US$65 por PR (mediana ~US$52). Com essa tarifa, as 152,8 milhões de leituras custam ~US$30,6, cerca de 75% do total (cálculo nosso). Ressalvas: o post não nomeia o modelo nem o agente, mede um repositório e a Sonar vende a solução (análise crítica).

Documentação oficial: o custo cresce com a sessão. O Claude Code envia a conversa inteira a cada requisição, e cada uso de ferramenta gera outra requisição. Com cache, o histórico é relido à tarifa de cache, então uma pergunta de uma linha numa sessão aberta o dia todo consome o histórico inteiro. A primeira mensagem após uma pausa maior que o TTL reprocessa o contexto inteiro, e /compact é ele próprio uma requisição grande (docs).

Leitura: com agentes, otimizar input (contexto, cache, leituras) rende mais que otimizar output. Em geração direta e modelos de raciocínio, ocorre o inverso.

Evidência por modelo: o preço por token é parecido, o custo por tarefa não

Os modelos de topo custam de US$4 a US$10 por milhão de tokens de input, e o output custa 5x a 6x mais em todos; tokenizer, raciocínio e cache é que fazem o custo por tarefa divergir. A tabela traz US$ por milhão de tokens, contexto curto, tarifa padrão, lida nas páginas oficiais em 20/09/2026.

Modelo Input Output Output/Input
Claude Fable 5.1 10 50 5x
GPT-6 Astra 10 50 5x
Claude Opus 5 5 25 5x
GPT-5.6 Sol 4 (promo) 20 (promo) 5x
Claude Sonnet 5 2 10 5x
GPT-5.6 Terra 2 12 6x
Gemini 3.1 Pro Preview 2 12 6x
Claude Haiku 4.5 1 5 5x
Gemini 3.8 Flash 0,75 (promo) 3,75 (promo) 5x
GPT-5.6 Luna 0,20 1,20 6x

O GPT-5.6 Sol está em promoção: a OpenAI garante US$4/20 pelo menos até 21/11/2026, e o preço anterior era US$5/30 (página oficial). Na Anthropic, o Sonnet 5 a US$2/10 é agora o preço padrão, e o aumento previsto para US$3/15 em 1/09/2026 não vai ocorrer. DeepSeek V4, Grok e Mistral ficaram fora da tabela porque não foram verificados em página oficial nesta revisão.

Fontes: páginas de preços da Anthropic, da OpenAI e do Google. O Gemini 3.8 Flash custa US$0,75/3,75 até 31/12/2026 e US$1,50/7,50 depois. GPT-6 Astra (OpenAI) e Claude Fable 5.1 (Anthropic) custam ambos US$10/50.

Cache, contexto longo e modos especiais: regras oficiais por fornecedor

Anthropic, OpenAI e Google cobram a leitura de cache a 10% do input (2,5% no Fable 5.1). A escrita, o prazo, o contexto longo e o que invalida o cache variam.

Fornecedor Leitura de cache Escrita ou armazenamento Contexto longo
Anthropic 0,1x o input (0,025x no Fable 5.1) Escrita 1,25x (5 min) ou 2x (1 h) Janela de 1 milhão a preço padrão, sem sobretaxa (preços)
OpenAI 0,1x (Sol US$0,40; Astra US$1,00) Escrita 1,25x (Sol US$5,00) Acima de 272 mil tokens: 2x no input e 1,5x no output da requisição inteira (Sol)
Google 0,1x (3.1 Pro US$0,20; 3.8 Flash US$0,075) Armazenamento por hora: US$4,50 por milhão (3.1 Pro), US$0,50 (3.8 Flash até 31/12/2026) Acima de 200 mil tokens: US$4/18 no 3.1 Pro
  • Lote e prioridade. O Batch corta 50% do input e do output nos três fornecedores (Sol a US$2/10 no Batch). Os modos rápidos custam mais: fast mode do Opus 5 e do Opus 4.8 a US$10/50 (2x, indisponível no Batch), Fast mode da OpenAI 2x (Sol a US$8/40) e Priority do Gemini 3.1 Pro 1,8x (US$3,60/21,60).
  • Prazo. O TTL padrão é de 5 minutos, renova a cada uso e conta desde o início da requisição, inclusive o tempo de geração. No Claude Code o cache dura 1 h em assinatura e 5 min em API key ou com créditos de uso (docs).
  • O que invalida (Anthropic). O acerto exige prompt 100% idêntico até o breakpoint. Mudar definições de ferramentas invalida tudo. Ligar ou desligar web search ou citações e trocar o modo rápido invalidam sistema e mensagens. Mudar tool_choice, imagens, parâmetros de thinking ou output_config.effort invalida as mensagens. Em modelos com esforço por mensagem, mudar o esforço numa mensagem system preserva o prefixo (docs).
  • Erro clássico. Breakpoint num bloco que muda a cada requisição, como um timestamp: o cache é escrito toda vez e nunca lido. O ponto certo é o último bloco estável.
  • Mínimo. Abaixo de 512 tokens (Opus 5, Fable 5.1), 1.024 (Sonnet 5) ou 4.096 (Haiku 4.5) o prompt não entra em cache, sem erro.
  • Custo do erro. Reescrever o cache custa 12,5x mais que lê-lo (1,25x contra 0,1x) e 50x no Fable 5.1 (1,25x contra 0,025x); cálculo a partir das tarifas oficiais.
  • Residência de dados. inference_geo: "us" multiplica todos os tipos de token por 1,1x nos Claude 4.6 e posteriores; a OpenAI cobra +10% em endpoints regionais.

Tokenizer: o mesmo código vira 1,5x a 1,7x mais tokens no Claude atual que no GPT

A Anthropic informa que os modelos a partir do Claude 4.7 geram cerca de 30% mais tokens para o mesmo texto que o tokenizer anterior (preços). A Playcode comparou fornecedores com o count_tokens da Anthropic e conferiu contra requisições pagas. A tabela usa o o200k do GPT como 1,00x.

Conteúdo Claude (novo) Claude (antigo) Gemini 3.x Flash
TypeScript (2.888 caracteres) 1,73x 1,32x 1,16x
Rust 1,58x 1,22x 1,19x
JavaScript 1,52x 1,26x 1,23x
Python 1,50x 1,22x 1,20x
Prosa em inglês 1,40x 1,05x 1,01x
Prosa em chinês 1,44x 1,45x 0,85x
  • Quem usa qual. Sonnet 5, Opus 4.8, Opus 5, Fable 5 e Fable 5.1 usam o tokenizer novo; Sonnet 4.6 e Opus 4.6 usam o antigo. O Fable 5.1 conta o input igual ao Fable 5.
  • Preço efetivo. Com a divergência média de 1,50x em pedidos típicos de código, a Playcode calcula que os US$5/25 do Opus 5 se comportam como US$7,50/37,50 na base do GPT, e os US$10/50 do Fable 5.1 como US$15/75. É estimativa de terceiro.
  • Cache também. Leituras e escritas de cache cobram por token, então a inflação as encarece na mesma proporção.
  • Output varia mais que input. Numa tarefa única (o mesmo SVG, esforço máximo, thinking incluído), os tokens de output foram: Sonnet 5 121.713; Fable 5.1 99.072; Opus 5 74.061; GPT-6 Astra 45.836; Fable 5 42.560; GPT-5.6 Terra 29.834; Gemini 3.7 Flash 13.863. É um prompt só: serve de indício, não de regra.
  • Agentes (modelos de 2025). No estudo de Bai et al., Claude Sonnet 4.5 e Kimi K2 consumiram em média mais de 1,5 milhão de tokens a mais que o GPT-5 nas mesmas tarefas (arXiv 2604.22750).

Compare por custo por tarefa, não por preço por token: rode o mesmo trabalho em cada modelo e leia o campo usage das respostas. O estudo de formatação da seção seguinte usou tokenizers de 2024–25 (GPT-4o, Claude 3.7, Gemini 1.5); não encontramos medição do efeito no tokenizer novo do Claude.

Reasoning tokens: cobrados como output, ligados por padrão e quase invisíveis

OpenAI e Anthropic documentam que tokens de raciocínio saem à tarifa de output, e a página de preços do Google rotula o output do Gemini como incluindo os tokens de thinking.

  • OpenAI. Os tokens de raciocínio não aparecem na API, ocupam a janela de contexto e são cobrados como output. Podem ir de algumas centenas a dezenas de milhares por resposta, e a OpenAI recomenda reservar ao menos 25.000 tokens para raciocínio e saída (guia). Se max_output_tokens se esgota durante o raciocínio, você paga input e raciocínio sem receber resposta visível.
  • Anthropic. No Claude Code o extended thinking vem ligado por padrão, é cobrado como output e seu orçamento padrão pode chegar a dezenas de milhares de tokens por requisição. Nos modelos Fable não dá para desligá-lo. MAX_THINKING_TOKENS só vale em modelos de orçamento fixo; os de raciocínio adaptativo ignoram orçamentos não nulos, então o controle é o esforço (/effort) (docs).
  • Padrões e modos (OpenAI). O GPT-5.6 usa esforço medium por padrão. O modo pro agrega mais trabalho do modelo e cobra pelas tarifas normais, então gasta mais tokens. O GPT-6 Astra não aceita none. O GPT-5.6 também renderiza por padrão o raciocínio de turnos anteriores (all_turns); current_turn reduz o contexto renderizado em fluxos longos.
  • Trocar o esforço e o cache. Na Anthropic, mudar o esforço invalida o cache de mensagens, salvo em modelos com esforço por mensagem. Na OpenAI, o item configuration_update (só no GPT-6 Astra) muda o esforço preservando o prefixo do prompt.
  • Ordem de grandeza. 4.000 tokens de thinking mais uma resposta de 500 somam 9x os tokens de output da resposta sozinha (cálculo nosso).
  • Mais raciocínio não é mais acerto. No estudo de agentes, a acurácia costuma atingir o pico em custo intermediário e satura depois (arXiv 2604.22750).

Formatação custa de 4% a 15% dos tokens em arquivos reais e ~25% em trechos de exercício

O estudo de Pan et al. (arXiv 2508.13666, lido na íntegra) mede o custo da formatação em duas etapas: uma amostra do Stack v2 (100 mil arquivos por linguagem em Java, C# e C++, tokenizer do GPT-4o) e um experimento principal com 10 modelos. Ambas removem só o que não altera a sintaxe. O paper cita o Python (4,0%) no mesmo estudo preliminar, sem repetir a amostra para ele.

Linguagem Arquivos reais (GPT-4o) Exercícios de completar código (média de 10 modelos)
Java 14,7% 34,9%
C++ 13,2% 31,1%
C# 13,2% 25,3%
Python 4,0% 6,5%

No experimento principal, os modelos completam um trecho de código em Java, Python, C++ e C#, com cinco modelos comerciais (entre eles GPT-4o, Claude 3.7 e Gemini 1.5) e cinco de pesos abertos. Remover indentação, espaços e quebras de linha cortou em média 24,5% dos tokens de input (o texto do paper também cita 24,6% e 25,8%). Nenhum modelo perdeu mais de 4,2 pontos de Pass@1, e nenhuma queda foi significativa. No Claude 3.7 a redução média foi de 23,0%. Python cai menos porque a indentação é sintaxe.

  • Cada elemento (C++, Java, C#). A indentação sozinha responde por 7,9% dos tokens de input no Claude 3.7, 8,9% no Gemini 1.5 e 9,6% no GPT-4o. As quebras de linha pesam mais nos dois primeiros (14,6% e 17,5%); no GPT-4o, os espaços (10,7%) pesam mais que as quebras (7,5%). A diferença vem dos tokenizers.
  • Saída. O modelo repete a formatação mesmo com entrada sem ela: a redução média de output foi de só 2,5%. Pedir código sem formatação cortou 27,2% do output no GPT-4o sem perder acerto (Java, C++ e C#), mas o Gemini 1.5 quebrou a sintaxe e o Pass@1 em C++ caiu de 67,2% para 11,1%. Ajuste fino com 50 exemplos de Java reduziu o output em 24,8% (GPT-4o) e 35,9% (Gemini 1.5).
  • Limites. A tarefa é completar código, em quatro linguagens e com modelos de 2024–25. Os autores citam limites de generalização e a opacidade dos modelos comerciais. Nenhum modelo atual foi testado.

Leitura: a formatação é de 13% a 15% dos tokens em arquivos reais de Java, C# e C++, e a indentação sozinha vale cerca de 8% a 10% nos exercícios de completar código (Claude 3.7, Gemini 1.5 e GPT-4o). Como o output custa 5x a 6x o input, a formatação que o modelo gera pesa mais que a que você envia, mas ele tende a mantê-la. Pedir "sem formatação" exige teste, porque pode quebrar a sintaxe. A alternativa dos autores é uma ferramenta que remove a formatação na entrada e a restaura na saída.

Arquivos de contexto (CLAUDE.md, AGENTS.md, GEMINI.md): o que custam e quando compensam

Esses arquivos entram no contexto de toda sessão. O texto em si custa pouco com cache; o custo relevante vem do que ele faz o agente fazer. A medição mais rigorosa é a de Gloaguen et al. (arXiv 2602.11988, v2 de jun/2026, lido na íntegra): quatro agentes (Claude Code com Sonnet 4.5, Codex com GPT-5.2 e GPT-5.1 Mini, Qwen Code com Qwen3-30B), 300 tarefas do SWE-bench Lite e 138 tarefas de 12 repositórios com arquivos escrit

Top comments (0)