Se você quer reduzir o uso de tokens do Claude Code, o prompt raramente é o lugar para começar. O peso real é o contexto base adicionado a cada requisição antes de você digitar uma única palavra. Em conversas longas, ele determina tanto o custo quanto a rapidez com que você bate nos limites de uso. Este post explica de onde vem essa base, como a medimos e quais configurações a cortam em até 61%.
Para onde vão os tokens?
Quando você manda uma mensagem a um agente de código, o modelo vê mais do que você escreveu. A requisição também contém:
- O system prompt
- As definições de ferramentas (Bash, Read, Edit, Write, Glob, Grep e outras)
- Plugins, hooks e skills do usuário
- Definições de ferramentas dos servidores MCP conectados
- Os arquivos de instruções do projeto (CLAUDE.md, AGENTS.md; veja como mantê-los curtos)
- A conversa até ali
Os cinco primeiros são relidos a cada turno, e o último cresce à medida que você avança. Uma base pequena se acumula rápido ao longo de uma sessão de cem turnos.
Medido: quanto contexto há na primeira requisição?
Medimos o contexto enviado ao modelo na primeira requisição de uma sessão nova com o Claude Code 2.1 e o Codex 0.155:
| Perfil | Claude Code | Codex |
|---|---|---|
| Standard | ≈34,4k | ≈13,3k |
| Balanced | ≈23,7k (−31%) | — |
| Lean | ≈13,3k (−61%) | ≈9,7k (−27%) |
O perfil balanced limita o conjunto de ferramentas a Bash, Read, Edit, Write, Glob e Grep. O perfil lean também pula plugins, hooks, skills e servidores MCP externos do usuário. No Codex, o perfil lean desliga os apps e a busca na web.
Configurações que não ajudaram
Durante as medições, descobrimos que algumas flags sozinhas não diminuíam a primeira requisição:
--strict-mcp-config--exclude-dynamic-system-prompt-sections--disable-slash-commands
O Claude Code já carrega essas partes só quando são necessárias. A economia de verdade vem de estreitar o conjunto de ferramentas e não carregar plugins, hooks e skills do usuário.
Deixamos duas opções de fora de propósito: --safe-mode também desliga o CLAUDE.md do projeto, e --bare só funciona com uma API key. As duas são restritivas demais para o dia a dia.
Como reduzir o uso de tokens do Claude Code, passo a passo
1. Dê à tarefa só as ferramentas de que ela precisa
Um agente atualizando documentação ou refatorando um arquivo não precisa de navegador, ferramentas de imagem ou uma dúzia de servidores MCP. Inicie esses trabalhos com o perfil balanced ou lean.
2. Conecte servidores MCP de forma seletiva
Cada servidor MCP adiciona suas definições de ferramentas ao contexto. Dê um servidor só aos agentes que vão usá-lo, não a todos. O gerenciador de MCP do AgentVera mostra o custo aproximado em tokens de cada ferramenta quando você testa uma conexão, então você percebe um servidor pesado antes que ele infle todos os turnos.
3. Acompanhe o tamanho do contexto
Não dá para economizar o que você não vê. O AgentVera mostra o tamanho do contexto ao vivo de cada agente no painel dele, então você olha um número em vez de adivinhar quando uma conversa ficou cara.
4. Compacte conversas longas
/compact resume a conversa até ali e diminui todos os turnos seguintes. Rode à mão ou defina um limite no AgentVera para compactar automaticamente quando o contexto passar dele.
5. Limite o que passa entre agentes
Quando um fluxo passa a saída de um agente para outro, ele não precisa mandar tudo. O nó Transform dos fluxos pode truncar uma resposta, manter as primeiras ou as últimas N linhas, ou manter só o último bloco de código, para que o contexto do agente de destino não se encha de ruído.
6. Refine prompts com um modelo mais barato
Se você quer arrumar um rascunho antes de enviar, não precisa do modelo principal, que é caro. O Revise do AgentVera roda claude -p --model sonnet com as ferramentas desligadas e sem log de sessão. O conteúdo dos arquivos não é enviado; só o rascunho, o nome e o papel do agente e o nome do projeto.
Escolhendo um perfil
| Trabalho | Perfil sugerido | Por quê |
|---|---|---|
| Testes no navegador, integração pesada em MCP | Standard | Precisa do conjunto completo de ferramentas |
| Desenvolvimento de features no dia a dia | Balanced | As ferramentas principais de arquivo e shell bastam |
| Documentação, pequenas refatorações | Lean | Menor base, turnos mais baratos |
| Sessão longa de pesquisa | Balanced + /compact num limite | Mantém o crescimento do contexto sob controle |
Confira os números na sua própria configuração
Seus números dependem dos seus plugins, skills e servidores MCP. Para ver sua própria base, abra uma sessão nova, mande uma mensagem curta e veja o tamanho do contexto da primeira requisição. Depois tente o mesmo com um perfil mais enxuto. A diferença é o que você paga a cada turno da sessão.
Calculando a diferença ao longo de uma sessão
Porcentagens podem parecer abstratas, então pense em termos de uma sessão. Digamos que você rode 40 turnos com um agente. Deixando o histórico da conversa de lado, a base é relida a cada turno.
| Perfil | Base na primeira requisição | Só a base ao longo de 40 turnos |
|---|---|---|
| Standard | ≈34,4k | ≈1,38M |
| Balanced | ≈23,7k | ≈948k |
| Lean | ≈13,3k | ≈532k |
Esta tabela mostra só a base; o uso real é maior quando se somam o histórico da conversa, a saída das ferramentas e as respostas do modelo. Mecanismos dos provedores, como cache, também podem afetar a cobrança. Ainda assim, a tabela deixa uma coisa clara: uma base menor deixa cada turno mais barato, e a diferença cresce conforme a sessão fica mais longa.
Qual perfil para qual trabalho?
O perfil não é uma configuração para definir e esquecer. Depende do papel do agente:
- Agente de pesquisa: lê muitos arquivos e pode precisar de navegador ou de MCPs de documentação. Comece com o perfil standard e compactação automática num limite.
- Agente de implementação: na maior parte lê e escreve arquivos e roda comandos de shell. Balanced basta.
- Agente de testes ou de documentação: trabalha numa área estreita. É aqui que o lean economiza mais.
Com agentes em paralelo, essas diferenças se somam. Dar a cada agente um perfil que combine com o papel dele, em vez de standard para os três, faz o mesmo limite durar mais.
Configurando /compact automático num limite
Compactar à mão é fácil de esquecer. A compactação automática é simples: quando o contexto de um agente passa do seu limite, /compact roda. Ao escolher o limite:
- Baixo demais: o agente é resumido com frequência e pode perder detalhes anteriores.
- Alto demais: a compactação chega tarde, e todo turno até lá sai caro.
Na prática, um limite mais cedo funciona para sessões longas de pesquisa e um mais tarde para sessões curtas de implementação. Como o AgentVera mostra o tamanho do contexto ao vivo no painel, você pode ajustar o limite observando.
Erros comuns
- Todo MCP para todo agente. Definições de ferramentas não usadas são lidas a cada turno.
- Nunca compactar. Uma sessão com centenas de turnos continua carregando detalhes antigos de que já não precisa.
- Passar a saída como está. Mandar uma resposta longa inteira para outro agente incha o contexto dele também.
- Só enxugar o prompt. O prompt costuma ser uma parte pequena do total.
Conclusão
A maior parte da economia de tokens do Claude Code vem da base que é relida a cada turno. Estreitar as ferramentas para a tarefa, conectar servidores MCP de forma seletiva e compactar na hora certa deixa você fazer o mesmo trabalho com menos contexto. Na configuração que medimos, isso significou 61% a menos na primeira requisição.
O AgentVera deixa você definir perfis de contexto, o indicador de contexto ao vivo e o /compact automático por agente. Veja economia de tokens e a página do Claude Code para detalhes, ou comece no plano gratuito. Para entender como a janela enche e quando o /compact entra em ação, veja o guia da janela de contexto do Claude Code.