29 pontos por remin1994 2026-03-17 | 4 comentários | Compartilhar no WhatsApp

Enquanto eu trabalhava com o Claude Code, de repente fiquei curioso: como o servidor do Claude reconhece dados como o arquivo CLAUDE.md, skills e coisas como rules / memory?

Então acabei criando eu mesmo um proxy MITM e uma ferramenta para visualizar esse tráfego.

O princípio é alterar a baseURL ao executar o Claude Code para capturar e mostrar a comunicação HTTP gerada dentro do Claude Code.

Estas são algumas coisas que consegui descobrir usando essa ferramenta.

Uma única palavra, hello, já sai acompanhada de 12 KB

  • É a situação ao abrir o Claude Code e enviar hello logo em seguida.
  • São enviados content[0], a lista de skills ~2 KB; content[1], o CLAUDE.md ~10 KB; e content[2], o texto real digitado, hello.
  • Ou seja, se o CLAUDE.md tiver 500 linhas, ele é enviado inteiro em toda requisição, e esse é o motivo de manter o CLAUDE.md enxuto.

Quanto mais a conversa se acumula, mais cada requisição cresce como uma bola de neve

  • O messages[] inteiro é reenviado em toda requisição. — 1 turno 15 KB, 10 turnos 200 KB, 30 turnos 1 MB+
  • Até mesmo as respostas do Claude entram incluídas como mensagens da requisição.
  • Isso mostrou que, se você não usar /clear periodicamente na janela de contexto, além do desperdício de tokens, o contexto anterior continua sempre grudado ao seguinte, o que pode causar queda de desempenho.

As ferramentas MCP só são carregadas quando necessário

  • No começo, só são carregadas as N ferramentas embutidas (varia conforme a versão do Claude) e, quando é preciso usar uma ferramenta MCP, o servidor chama ToolSearch para encontrar a ferramenta adequada.
  • Depois disso, a cada chamada, a ferramenta encontrada acima é adicionada e invocada.
  • Em outras palavras, como as MCP Tools são carregadas dinamicamente, as ferramentas MCP que você ainda não usou não geram de fato um grande consumo de tokens.

Subagentes são executados em um contexto completamente isolado

  • Um subagente é como abrir uma nova sessão, sem qualquer histórico da conversa do agente pai.
  • No Inspector, é possível comparar visualmente lado a lado as duas chamadas, do pai e do subagente.

Anexar uma única imagem adiciona centenas de KB

  • Ao anexar uma captura de tela, ela é codificada em base64 e inserida inline no corpo JSON.
  • Dá para verificar em tempo real o quanto a imagem aumenta a requisição.

Você pode instalar com o comando abaixo.

brew install --cask kangraemin/tap/claude-inspector && sleep 2 && open -a "Claude Inspector"   

GitHub: https://github.com/kangraemin/claude-inspector

Por enquanto é exclusivo para macOS e, como ainda é uma versão inicial, vou aceitar de forma bem aberta sugestões de melhoria.

Espero que vocês testem e que isso ajude nos estudos, obrigado!

4 comentários

 
winterjung 2026-03-18

No texto suspiciously precise floats, or,
how I got Claude's real limits
, há uma análise dizendo que, diferentemente do custo da API, no plano por assinatura não existe custo de leitura de cache. Também parece que, quanto mais longa a sessão, maior pode ser a diferença entre o custo calculado e o custo real.

 
remin1994 2026-03-18

Oh... eu realmente não conhecia esse texto... vou dar uma olhada! Obrigado.

 
kgcrom 2026-03-18

https://github.com/badlogic/lemmy/tree/main/apps/claude-trace
Usei isso para ver o prompt e quais ferramentas foram usadas, então acho que vou testar o que você criou também.
Obrigado por compartilhar. :+1:

 
remin1994 2026-03-17

Além disso, após a requisição, dá para ver na resposta a quantidade de tokens usada naquela request!

Modelo: claude-sonnet-4-6
Tamanho da requisição: 68.9 KB

"usage": {
  "input_tokens": 3,
  "cache_creation_input_tokens": 12394,
  "cache_read_input_tokens": 6499,
  "cache_creation": {
    "ephemeral_5m_input_tokens": 0,
    "ephemeral_1h_input_tokens": 12394
  },
  "output_tokens": 74,
  "service_tier": "standard",
  "inference_geo": "not_available"
}

Também apliquei o preço por modelo para calcular o custo por request, então agradeço muito se usarem bastante hehe

Leitura de cache: 6.5K tok × $0.3/MTok = $0.0019
Escrita de cache: 12.4K tok × $3.75/MTok = $0.0465
Entrada sem cache: 3 tok × $3/MTok = $0.0000
Saída: 74 tok × $15/MTok = $0.0011

Total: $0.0495
Taxa de acerto do cache: 34%