Programa
Se você já bateu no limite de tokens do seu plano de agente de codificação em IA após apenas alguns pedidos, talvez esteja se perguntando para onde foram todos esses tokens.
Você pede para o agente corrigir um bug, refatorar um recurso ou inspecionar um repositório e, de repente, uma grande parte da sua cota de código some.
Isso não é necessariamente um problema com seu provedor ou assinatura.
Agentes de codificação em IA consomem muito mais tokens do que chatbots comuns. Eles não apenas respondem ao seu prompt. Eles podem ler vários arquivos, buscar na base de código, inspecionar logs, rodar testes, chamar ferramentas, gerar código, revisar as próprias mudanças e repetir o processo várias vezes até concluir a tarefa.
A boa notícia é que dá para reduzir bastante esse uso desnecessário de tokens.
Existem ferramentas que deixam os agentes menos verborrágicos, evitam superengenharia em tarefas simples, comprimem saídas barulhentas do terminal e impedem que respostas enormes de ferramentas lotem a janela de contexto.
Neste guia, vamos ver quatro ferramentas para reduzir o uso de tokens em agentes de código com IA: Caveman, Ponytail, RTK e Context Mode.
Vamos ver o que cada uma faz, como configurar e como combiná-las para produzir mais código com assinaturas como Claude Code e Codex antes de esbarrar nos limites de uso.
Por que workflows agentizados usam tantos tokens?
Um chatbot comum recebe um prompt e devolve uma resposta. Um agente costuma fazer muito mais.
Ele pode ler arquivos, chamar ferramentas, inspecionar logs, recuperar documentos, escrever código e repetir esse processo várias vezes antes de terminar.
Cada etapa adiciona mais informação ao contexto — e boa parte desse contexto pode ser enviada novamente ao modelo nas chamadas seguintes.
Um loop de agente simplificado é assim:

A solicitação vai para o modelo, o modelo chama uma ferramenta, a ferramenta retorna uma saída e essa saída volta para o contexto antes do próximo passo. A seta de feedback é onde está o custo: cada passada carrega os resultados anteriores, então uma tarefa que exige seis chamadas de ferramenta envia a maior parte desse histórico seis vezes ao modelo.
Isso cria fontes comuns de desperdício de tokens:
- Respostas prolixas: o agente explica demais quando uma resposta curta bastaria.
- Código superengenheirado: uma tarefa pequena vira novos arquivos, abstrações e dependências extras.
- Saídas grandes de ferramentas: logs, testes, diffs do Git e comandos de terminal podem retornar milhares de tokens.
- Contexto demais: documentos recuperados, definições de ferramenta e resultados anteriores lotam rapidamente a janela de contexto.
- Sessões longas: quanto mais tempo o agente trabalha, mais histórico e resultados intermediários ele tem que carregar.
Assim, o grande desafio não é só quantos tokens um agente gera, mas quantos ele lê, carrega adiante e processa de novo conforme o fluxo continua.
É exatamente isso que ferramentas como Caveman, Ponytail, RTK e Context Mode foram feitas para reduzir, cada uma atacando uma fonte diferente de desperdício de tokens.
1. Caveman: faça seu agente falar menos
Caveman é uma forma simples de deixar agentes de código mais objetivos.
Em vez de permitir que o agente narre cada passo, repita o óbvio ou acrescente texto de preenchimento, ele direciona as respostas para o que realmente importa.

Ele é especialmente útil em sessões longas de codificação, em que respostas prolixas fazem mais do que aumentar tokens de saída.
Essas respostas entram no histórico da conversa e são carregadas nos próximos turnos.
Como o Caveman funciona
O Caveman tem duas partes independentes.
A skill do Caveman muda a forma como o agente escreve.
Ela remove falas de cortesia, rodeios e narração desnecessária, mantendo intactos os detalhes importantes como blocos de código, comandos, nomes de APIs e mensagens de erro exatas.
Também relaxa o estilo conciso quando a clareza é crítica, como em alertas de segurança ou ações irreversíveis.
Há ainda um proxy local opcional que ataca o outro lado do problema: o que o agente lê.
Ele fica entre o agente e o provedor do modelo e comprime o contexto elegível antes de enviar a solicitação.
Skill e proxy funcionam de forma independente, então você pode começar pela skill leve e adicionar o proxy depois se precisar reduzir o contexto de forma mais agressiva.
Um jeito simples de pensar nisso está no diagrama abaixo:

À esquerda, o agente envolve o código com um preâmbulo e depois explica o mesmo código novamente. À direita, você recebe a resposta útil e o código — e só. O mesmo trabalho, com bem menos tokens gastos narrando.
Primeiros passos com o Caveman
A forma mais fácil de instalar a skill é:
npx skills add JuliusBrussee/caveman
Depois ative dentro do seu agente de código com:
/caveman

Você pode voltar às respostas normais com:
/caveman off
O Caveman também oferece opções nativas de instalação para ferramentas como Claude Code, Codex, Gemini CLI, Cursor e OpenCode.
Se você também quer reduzir o contexto enviado ao modelo, instale o CLI:
npm install -g @caveman-ai/cli
caveman setup --install
Depois inicie um agente compatível por ele, por exemplo:
caveman claude
Isso inicia o proxy local do Caveman e roteia o agente pela camada de compressão de contexto.
Para a maioria dos usuários, eu começaria pela skill primeiro.
É fácil de adicionar, não muda seu fluxo normal de trabalho e ataca diretamente uma das fontes mais simples de desperdício: um agente falando bem mais do que precisa.
2. Ponytail: evite que seu agente superengenheire
Ponytail foi feito para outro tipo de desperdício: agentes escrevendo mais código do que a tarefa exige.

Um pedido simples pode virar novas dependências, classes auxiliares, componentes wrappers e configuração extra.
O Ponytail tenta evitar isso guiando o agente para a menor solução sensata primeiro.
Como o Ponytail funciona
Antes de escrever código, o Ponytail faz o agente percorrer uma escada de decisão simples:

Cada degrau dá ao agente uma chance de parar antes de escrever algo novo. Ele só chega ao último passo — escrever o mínimo de código que funcione — depois de descartar a biblioteca padrão, recursos nativos da plataforma e dependências já existentes.
Por exemplo, em vez de instalar uma biblioteca de date-picker e construir um wrapper, o Ponytail pode decidir que o navegador já oferece:
<input type="date">
A ideia não é encurtar tudo cegamente.
O Ponytail explicitamente preserva validação, segurança, acessibilidade e proteção contra perda de dados fora do corte.
Ele é feito para ser preguiçoso na implementação, não descuidado com a correção.
No benchmark agentizado do próprio Ponytail, ele produziu cerca de 54% menos código e 22% menos tokens em 12 tarefas de codificação, comparado ao mesmo agente sem a skill.
Um benchmark independente também encontrou implementações substancialmente menores, embora tenha notado que configurações agressivas às vezes podem comprometer robustez em casos de borda não declarados.
Primeiros passos com o Ponytail
No Claude Code, adicione o marketplace:
/plugin marketplace add DietrichGebert/ponytail
Depois instale o Ponytail:
/plugin install ponytail@ponytail
Envie como dois comandos separados.
Depois de instalado, você controla o quão agressivamente o Ponytail simplifica:
/ponytail lite
/ponytail full
/ponytail ultra
/ponytail off
full é o padrão e provavelmente o melhor ponto de partida. O lite ainda constrói o que você pediu, mas aponta alternativas mais simples, enquanto o ultra aplica YAGNI de forma bem mais agressiva.
Você também pode revisar uma mudança existente em busca de complexidade desnecessária:
/ponytail-review
Ou escanear uma base de código maior:
/ponytail-audit

O Ponytail funciona muito bem com agentes de código porque reduzir código desnecessário gera um efeito cascata: o agente escreve menos tokens agora, cria diffs menores e deixa menos código para ele mesmo ler depois.
3. RTK: corte o ruído da saída das ferramentas
RTK, sigla de Rust Token Killer, foca em outra fonte de desperdício: tudo o que seu agente recebe do terminal.

Comandos como git status, execuções de teste, logs, buscas e saídas de gerenciadores de pacote podem retornar centenas ou milhares de linhas.
Boa parte disso é útil para um humano olhando o terminal, mas um agente muitas vezes só precisa do que é realmente importante.
O RTK fica entre o comando e o agente e comprime a saída antes de o modelo vê-la.
Como o RTK funciona
O RTK usa filtros específicos por comando, agrupamento, truncamento e deduplicação para tirar o ruído e manter informações úteis como erros, falhas, arquivos alterados e resumos.
Por exemplo:

No fluxo normal, o agente roda pytest e lê cada linha impressa — a maioria de testes passando que ele não precisa ver. Com o RTK no meio, a mesma execução volta com as falhas e um resumo, então o agente lê algumas dezenas de linhas em vez de várias centenas.
Com agentes de código compatíveis, o RTK pode se engatar automaticamente nas chamadas de shell. Um comando como:
git status
pode ser reescrito nos bastidores para:
rtk git status
O agente então recebe a saída menor sem precisar pedir explicitamente o RTK toda vez.
O RTK reporta cerca de 60–90% menos tokens de saída de comandos para comandos comuns de desenvolvimento. Isso não significa que sua fatura total de LLM cai 60–90%; refere-se apenas à saída do terminal que o RTK comprime.
Primeiros passos com o RTK
No macOS ou Linux, você pode instalar com Homebrew:
brew install rtk-ai/tap/rtk
Ou usar o script de instalação:
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/master/install.sh | sh
Depois verifique se instalou o RTK correto:
rtk --versionrtk gain
O comando rtk gain mostra o painel de economia de tokens. Esse check é útil porque outro projeto sem relação também usa o nome rtk.
Para o Claude Code, inicialize o RTK globalmente com:
rtk init -g
Para o Codex:
rtk init -g --codex
E para o Gemini CLI:
rtk init -g --gemini
O RTK também é compatível com Cursor, OpenCode, Copilot, Cline, Windsurf e vários outros agentes de codificação.

Depois de configurado, você continua usando seus comandos normais de terminal.
O RTK faz a compressão em segundo plano, o que é especialmente útil para agentes que passam muito tempo rodando testes, buscando código, inspecionando mudanças no Git e lendo logs.
4. Context Mode: mantenha saídas grandes de ferramentas fora do contexto
Context Mode foca no que acontece depois que o agente começa a usar ferramentas.

Um snapshot de navegador, lista de issues do GitHub, busca em arquivos ou uma saída grande de comando podem despejar um volume enorme de informação direto na janela de contexto.
Pior: essa informação pode ser carregada nos turnos seguintes.
O Context Mode evita isso mantendo dados brutos volumosos fora do contexto ativo do LLM e trazendo de volta apenas as partes de que o agente realmente precisa.
Como o Context Mode funciona
O Context Mode roda como um servidor MCP e oferece ferramentas sandbox para operações que normalmente gerariam saídas grandes.

As informações brutas podem ser armazenadas localmente em um índice de busca com FTS5, para o agente pesquisar de novo mais tarde sem despejar o resultado inteiro na conversa.
Em um exemplo do projeto, 315 KB de saída bruta viraram 5,4 KB de contexto — uma redução de 98%.
É um exemplo no próprio workload do projeto — não uma garantia para toda chamada de ferramenta.
Primeiros passos com o Context Mode
No Claude Code, a configuração mais simples é pelo marketplace de plugins:
/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode
Reinicie o Claude Code e verifique com:
/context-mode:ctx-doctor

O "doctor" checa se plugin, hooks, runtimes e componentes de busca local estão funcionando corretamente.
Você também pode instalar o Context Mode globalmente:
npm install -g context-mode
e registrá-lo como servidor MCP em clientes compatíveis como Cursor, Gemini CLI, GitHub Copilot CLI, JetBrains e outros.
Com ele rodando, você pode inspecionar quanto contexto está sendo economizado com as ferramentas de estatística.
O Context Mode é mais útil para agentes longos e cheios de ferramentas, onde resultados de navegador, logs, leituras de arquivos, respostas MCP e outros dados intermediários poderiam, de outro modo, lotar a janela de contexto.
Comparando as quatro ferramentas para economizar tokens
Essas quatro ferramentas atacam partes diferentes do fluxo de trabalho de agentes de código — do que o agente escreve ao quanto de saída de ferramentas ele carrega no contexto.
|
Ferramenta |
Problema principal |
O que reduz |
Melhor para |
Resultado (segundo o projeto) |
|
Caveman |
Respostas prolixas do agente |
Saída do agente e, com o proxy opcional, contexto de entrada repetido |
Agentes de código que falam demais |
Até 65% menos tokens de saída no benchmark da skill |
|
Ponytail |
Soluções superengenheiradas |
Código, abstrações e trabalho do agente desnecessários |
Agentes que geram mais código do que o necessário |
54% menos código e 22% menos tokens no benchmark |
|
RTK |
Ruído do terminal |
Shell, saídas do Git, testes, logs e buscas |
Workflows de agentes centrados em CLI |
60–90% menos tokens de saída de comandos suportados |
|
Context Mode |
Poluição de contexto |
Grandes saídas de MCP e ferramentas entrando no contexto ativo |
Agentes longos e cheios de ferramentas |
315 KB → 5,4 KB (98% menos contexto) em exemplo documentado |
Um jeito fácil de lembrar a diferença:
- Caveman reduz o que o agente diz
- Ponytail reduz o que ele constrói
- RTK reduz o que o terminal devolve
- Context Mode reduz o que permanece no contexto
Dá para usar essas ferramentas juntas?
Sim, mas eu não empilharia tudo de cara.
Uma abordagem melhor é começar pelo Ponytail.
É simples de adicionar aos agentes e, para muitos fluxos, reduzir código desnecessário já resolve. Eu uso com ferramentas como Zcode, Claude Code e Codex e fico satisfeito com a redução que ele oferece.
Se quiser ir além, tente Ponytail + Caveman. O Ponytail reduz código desnecessário; o Caveman, explicação desnecessária — eles se complementam bem.

Se seu fluxo ainda gera muita saída pesada de testes, logs, Git ou comandos de terminal, experimente Ponytail + Caveman + RTK.
Se o RTK não se encaixa no seu fluxo — especialmente se você usa muitas ferramentas MCP, de navegador, APIs ou outras saídas grandes — tente Ponytail + Caveman + Context Mode.
Não existe combinação perfeita que funcione para todo mundo.
O objetivo é experimentar e encontrar a configuração que entrega menos uso de tokens sem prejudicar o desempenho do seu agente. Para alguns, o Ponytail sozinho será suficiente. Para outros, combinar duas ou três ferramentas vai funcionar melhor.
Outras formas de reduzir uso de tokens e custo
Nem sempre você precisa de outra ferramenta.
O Claude Code já inclui recursos que ajudam a manter o contexto menor e reduzir gastos desnecessários.
Desative memória quando não for preciso
O Claude Code pode armazenar e recarregar memórias de sessões anteriores automaticamente. Para tarefas curtas ou isoladas, isso pode adicionar contexto desnecessário.
Rode:
/memory
A partir daí, você pode desativar a auto-memória ou remover informações que não ajudam mais.
Compacte sessões longas
Conforme a sessão cresce, o Claude carrega histórico da conversa, conteúdos de arquivos e saídas de ferramentas. O Claude Code compacta automaticamente, mas você pode disparar antes:
/compact
Você também pode dizer o que importa:
/compact keep the implementation plan and latest test results
Isso é especialmente útil quando você terminou uma parte da tarefa, mas quer continuar na mesma sessão.
Comece do zero quando a tarefa mudar
Às vezes não vale a pena compactar. Se você vai partir para uma tarefa totalmente diferente, rode:
/clear
Isso inicia com um contexto de conversa vazio, sem carregar trabalho não relacionado. A Anthropic também observa que começar do zero às vezes é melhor do que compactar repetidamente uma sessão longa.
Desative servidores MCP que você não usa
Ferramentas MCP também consomem contexto. O Claude Code agora adia esquemas completos de ferramentas MCP por padrão, mas servidores não usados ainda podem adicionar sobrecarga.
Use: /mcp para revisar seus servidores conectados e desabilitar os que você não precisa agora.
Você também pode rodar /context para ver quanto espaço cada parte da sessão está consumindo.
Mantenha o CLAUDE.md enxuto
CLAUDE.md é carregado no contexto do Claude, então evite transformá-lo em um manual gigante do projeto.
Deixe apenas instruções de que o Claude realmente precisa em tarefas diversas, como convenções importantes, comandos e regras do projeto.
Use /context para checar quanto espaço suas memórias e arquivos de instrução estão ocupando. Para instruções relevantes só a certas pastas, o Claude Code suporta regras mais direcionadas em vez de colocar tudo no CLAUDE.md principal.
Use um modelo mais barato para tarefas simples
Você provavelmente não precisa do modelo mais caro para cada edição.
A documentação do Claude Code recomenda o Sonnet para a maioria das tarefas de código e reservar o Opus para trabalhos mais difíceis de arquitetura ou raciocínio.
Você troca com:
/model
Para subagentes simples, também dá para configurar para usar o Haiku.
Considerações finais
Um dos melhores pontos dessas ferramentas é o mínimo esforço depois da configuração.
Dependendo da ferramenta, você nem precisa lembrar de um comando barra ou ativar manualmente a cada tarefa.
O Ponytail guia o agente para implementações mais simples, o Caveman mantém as respostas concisas, o RTK comprime a saída do terminal e o Context Mode impede que resultados grandes de ferramentas inundem o contexto ativo.
Depois da configuração, boa parte dessa otimização acontece dentro do seu fluxo normal de desenvolvimento.
Você costuma ver o efeito no resumo de execução do agente, no código gerado, na saída do terminal ou nas estatísticas de contexto.
O agente faz o mesmo trabalho, mas com menos código desnecessário, menos narração, saídas menores de ferramentas e menos informação carregada de um passo para o outro.
O melhor é que você pode combinar essas ferramentas.
Mas empilhar as quatro não significa automaticamente que você terá o menor uso possível de tokens. Elas focam partes diferentes do workflow agentizado e o benefício depende muito do seu agente, modelo, repositório e tipos de tarefas.
Minha recomendação é testar no seu próprio ambiente. Comece com uma ferramenta, meça a diferença e adicione outra se ainda vir fontes claras de desperdício.
Você pode descobrir que uma única ferramenta basta para o seu fluxo, enquanto outra configuração se beneficia de duas ou três juntas.
Pessoalmente, eu uso o Ponytail na maior parte dos meus fluxos porque é simples de configurar e o agente rapidamente aprende a trabalhar com ele.
Eu uso principalmente com o Zcode by Z.ai, onde ele ajuda a manter as implementações focadas sem eu precisar mudar como costumo orientar o agente.
No fim, reduzir o uso de tokens não é forçar o agente a fazer menos trabalho útil, e sim eliminar o desperdício em volta desse trabalho.
Teste Caveman, Ponytail, RTK e Context Mode — separados e em combinações diferentes —, meça o que muda no seu fluxo e mantenha a configuração que entrega o melhor equilíbrio entre uso de tokens, qualidade do código e desempenho do agente.
Para saber mais sobre como agentes de IA funcionam, recomendo conferir a trilha de habilidades AI Agent Fundamentals.
FAQs
O que é Prompt Caching e ele reduz custos de tokens para agentes de código?
Prompt caching é um recurso nativo de API (disponível em modelos como Claude, Sonnet e Gemini Pro) que armazena temporariamente contextos usados com frequência, como instruções de sistema, documentação de API e estrutura do repositório. Em vez de reprocessar toda a base de código a cada volta do loop agentizado, o modelo reutiliza o contexto em cache. Isso pode reduzir o custo de tokens de entrada em até 90% e acelerar bastante respostas em sessões longas de desenvolvimento.
Por que tokens de saída são significativamente mais caros que tokens de entrada?
Ao verificar preços de API de LLMs, tokens de saída geralmente custam de 3 a 5 vezes mais do que tokens de entrada. Ler contexto de entrada é altamente paralelizável e computacionalmente mais barato para o modelo. Já gerar saída é sequencial: o modelo precisa executar um forward pass completo para prever e gerar cada token individual. Ferramentas que impedem agentes de escrever código desnecessário ou explicações prolixas reduzem diretamente essa geração de saída, que é a parte mais cara.
Como os limites de tokens em assinaturas fixas diferem do uso por API?
Assinaturas fixas de agentes de código em IA (como Cursor Pro ou GitHub Copilot) normalmente concedem uma cota mensal de solicitações a modelos "rápidos" ou premium. Como workflows agentizados fazem várias voltas por prompt do usuário para ler arquivos e rodar testes, um único pedido seu pode consumir 10 a 20 solicitações do agente em segundo plano, esgotando rapidamente o limite mensal. Já o faturamento por API (Bring Your Own Key) remove esse teto de requisições e cobra estritamente por token, tornando essenciais as ferramentas de redução de tokens para evitar custos disparando sem controle.
Filtrar logs e contexto de ferramentas pode esconder bugs da IA?
Pode sim, se aplicado de forma agressiva demais. Ferramentas que truncam ruído do terminal ou restringem contexto de ferramentas usam compressão com perda. Se um agente estiver investigando um bug profundo, filtros pesados podem remover justamente a linha do stack trace, o alerta de dependência ou o código de falha silenciosa necessário para diagnosticar a causa raiz. Para mitigar, comprima fortemente saídas sabidamente ruidosas (como instalações de gerenciador de pacotes) e permita saída bruta quando o foco for depuração direta de erros.