56 pontos por spilist2 10 일 전 | 5 comentários | Compartilhar no WhatsApp

Motivação

  • Nas notas de lançamento do Claude Opus 4.7, a parte que mais chamou atenção foi o trecho sobre o "aumento no uso de tokens".
  • Com a chegada de uma era em que dá para fazer muito mais se houver tokens e tempo suficientes, a eficiência no uso de tokens também continua sendo uma questão importante
  • Surgiu então a dúvida: "será que dá para melhorar a eficiência de tokens no Claude Code e no Codex mudando valores de configuração?". Ao analisar a documentação oficial do Claude Code (configuração/variáveis de ambiente/IDE), a documentação oficial do Codex (configuração/variáveis de ambiente/MCP) e também o código-fonte do Codex, foi possível chegar a resultados significativos
  • Além do modo interativo que uso no dia a dia, também descobri várias formas de melhorar eficiência de tokens, velocidade de inicialização e estabilidade no modo não interativo, de forma programável

Prompt para analisar meu estado atual

Sem enrolação: para quem quer inspecionar como estão as configurações do próprio coding agent, segue um prompt:

https://gist.github.com/spilist/c468cbf1ed0ffc91100f813aabdcd520/… 를 읽고 그대로 실행해줘  

O que realmente consome tokens

Em coding agents, em geral há três caminhos principais por onde os tokens vazam:

  1. Texto adicional anexado automaticamente a cada sessão ou a cada turno
  2. Saídas longas demais de chamadas de ferramentas que permanecem no histórico da conversa
  3. Chamadas adicionais causadas por conexões externas, como busca, conectores e integração com IDE

Apresento abaixo os controles no Claude Code e no Codex que permitem reduzir esses três pontos. (Itens básicos como desligar servidores MCP/plugins que você não usa, ajustar modelo e nível de reasoning etc. foram omitidos.)

  • Explicações de cada configuração, bem como os trade-offs, estão descritos em detalhes no blog

Claude Code (última versão verificada: 2.1.114)

  1. includeGitInstructions: false

  2. autoConnectIde: false

  3. CLAUDE_CODE_GLOB_NO_IGNORE=false

  4. Definir limites de saída (BASH_MAX_OUTPUT_LENGTH, CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS, MAX_MCP_OUTPUT_TOKENS)

  5. Variáveis de ambiente e flags para tarefas curtas e simples, ou para modo não interativo

    • ENABLE_CLAUDEAI_MCP_SERVERS=false: desativar servidores MCP
    • CLAUDE_CODE_DISABLE_AUTO_MEMORY=1: impedir que memórias salvas automaticamente sejam carregadas
    • CLAUDE_CODE_DISABLE_CLAUDE_MDS=1: ignorar CLAUDE.md global/do projeto
    • CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1: excluir subagentes embutidos e definições de skills do system prompt
    • --tools: ativa ferramentas nativas seletivamente. Com --tools "", todas ficam desativadas. Em workers que usam apenas a inteligência do modelo, dá até para desligar tudo; mas em tarefas interativas simples, se desligar tudo ele pode não conseguir fazer nada, então vale ativar só o necessário, como "Bash,Edit,Glob,Grep,Read,Write"
    • --strict-mcp-config: usa apenas a configuração de MCP especificada pela CLI e ignora a configuração global de MCP. Isso permite injetar de forma limpa apenas os conectores necessários para cada worker.
    • --disable-slash-commands: remove do system prompt as definições de slash commands como /help e /clear
    • --no-session-persistence: não usa o caminho de salvar/retomar sessões, então some o rastro de execuções pontuais
    • --exclude-dynamic-system-prompt-sections: exclui seções que mudam conforme a máquina/ambiente, aumentando a taxa de reutilização do cache de prompt
    • --system-prompt: além de tudo isso, também é possível substituir completamente o system prompt do Claude
  6. Esvaziar a attribution

Codex CLI (última versão verificada: 0.121.0 + código-fonte do Github do Codex correspondente a essa versão)

  1. Desativar o MCP (apps/conectores) ligado ao ChatGPT (features.apps = false)
  2. web_search = "disabled"
  3. Definir limite de saída (tool_output_token_limit)
  4. Flags para funcionar bem no modo não interativo
    • --profile: permite agrupar certas configurações (como web_search = "disabled", tool_output_token_limit = 2000 etc.) e aplicá-las seletivamente
    • --json + --output-last-message FILE: facilita parsing/extração em pipelines e reduz o novo consumo de tokens na etapa de pós-processamento
    • --sandbox read-only: em automações que só precisam de leitura, bloqueia o ciclo de tentativa de escrita não intencional → retry loop → desperdício de tokens
    • --skip-git-repo-check: permite executar mesmo fora de um diretório confiável
    • --ephemeral: não salva arquivos de sessão no disco
    • --color never: deixa a saída de pipe mais limpa
  5. Esvaziar a attribution

Encerrando

Fiz uma checagem cuidadosa dos fatos, mas é claro que ainda pode haver algum erro. Se você notar algo, ficarei grato se puder avisar.

5 comentários

 
windbug99 2 일 전

Obrigado.

 
dzzwe 10 일 전

Parece que vai ser um bom material de referência. Se a abordagem do texto principal é fechar a válvula dos "tokens de entrada",
eu já passei muito por casos em que o problema é a própria quantidade de coisas "registradas", então experimentei criar uma ferramenta chamada claude-slim.

É uma CLI que faz varredura, classificação e organização de situações como metade de 60 skills nunca ter sido usada, ou o CLAUDE.md ter ficado inchado por causa de plugins. A contagem de tokens é baseada em js-tiktoken,
e, em vez de remover, move para skills.disabled/, então dá para restaurar a qualquer momento.

https://github.com/iops-leo/claude-slim

Como a direção complementa exatamente as configurações do texto, acho que vale a pena usar em conjunto

 
spilist2 10 일 전

Nossa, obrigado por compartilhar!

 
duse0001 10 일 전

Obrigado por compartilhar essa informação útil. Fundamentalmente, tenho sentido que o próprio uso de tokens diminuiu demais, então seria bom se aumentassem isso no Claude. Como o harness fica rodando e acaba sendo interrompido no meio...

 
spilist2 10 일 전

Obrigado. O consumo de tokens do Claude também é alto e, comparado ao Codex, eu fico um pouco menos satisfeito com o trabalho, então ultimamente tenho trabalhado mais com o Codex.