
Antes de Digitar uma Palavra, Meu Agente Queima 8.248 Tokens
Na noite da última terça-feira, eu estava cinco mensagens em um refatoração com Claude Code. Ele havia acabado de sugerir uma função auxiliar, eu pedi para ele conectar os locais de chamada, e, até então, ele já havia esquecido a assinatura que escreveu na mensagem dois. Eu abri uma nova sessão, repeti o prompt, tudo funcionou. Uma hora depois, a amnésia voltou em um arquivo diferente.
Primeiro suspeito: minha própria configuração
O projeto CLAUDE.md havia crescido em um arbusto, então eu o cortei pela metade e reduzi o guia de estilo a três linhas. Então eu verifiquei o medidor de contexto de uma nova sessão, zero mensagens digitadas. A contagem de inatividade estava em 8.248 tokens. Uma conversa vazia queimando tanto aponta para algo que o cliente envia antes de eu dizer qualquer coisa.
Segundo suspeito: os servidores MCP
Eu executo uma pilha local de médio porte: sqlite, git, fetch, memória, busca, agendador, tradutor, fsops. Oito servidores, 48 ferramentas. Eu os desconectei um por um e observei a contagem de inatividade após cada reinício. Cada desconexão reduziu algumas centenas, e mesmo com tudo desconectado, o número nunca chegou perto de zero. Nesse ponto, eu estava pronto para desistir do MCP completamente e voltar a colar código manualmente.
Lendo o tráfego em vez de adivinhar
Eu apontei um proxy local para o cliente e despejei a primeira solicitação daquela sessão vazia. O array messages estava vazio, literalmente []. O array tools não estava. Cada uma daquelas 48 definições de ferramentas chegou embrulhada em um JSON Schema completo: "type": "object", properties, required, além de um parágrafo amigável de descrição para cada argumento. Eu executei tiktoken (cl100k_base) sobre aquele campo sozinho. 8.248 tokens. Por solicitação. Antes do primeiro caractere que digito.
{
"type": "object",
"properties": {
"repo": { "type": "string", "description": "Nome do repositório..." },
"path": { "type": "string", "description": "Caminho do arquivo dentro..." }
},
"required": ["repo"]
}
O modelo relê aquele catálogo em cada chamada, cada turno, cada sessão. A "esquecimento" finalmente fez sentido: um quinto da minha janela de trabalho foi gasto segurando JSON que a conversa nunca toca.
Um modelo realmente precisa das chaves?
Eu reorganizei as mesmas 48 definições com o pipeline do mcptoon: simplificação de esquema mais sua notação compacta, uma linha por campo, todas as 48 ferramentas mantidas, nada truncado. A mesma informação, 4.192 tokens. 49% da conta original, e o modelo ainda recebeu cada ferramenta com cada nome de campo que precisa para fazer uma chamada. Eu reexecutei minhas sessões contra o manifesto compacto: a escolha da ferramenta e os argumentos ainda estavam corretos, incluindo os incômodos de objetos aninhados.
medido: 8 servidores / 48 ferramentas / tiktoken cl100k_base
manifesto JSON bruto ....... 8.248 tokens
mcptoon (simplificar+slim) . 4.192 tokens (-49%)
Uma nota honesta sobre o tamanho do corte: quanto você economiza depende de quão inchados seus esquemas são. Esquemas documentados e legíveis por humanos como o meu ficam em torno da metade. Esquemas mais planos e gerados por máquina comprimem muito mais. Seu número está entre esses polos, e a única maneira de saber é medir seu próprio manifesto.
O tesouro no final da busca
Depois de corrigir minha configuração, fui ao GitHub para ver quem mais havia enfrentado isso. Encontrei mcptoon. Cerca de duzentas estrelas, zero dependências, Python puro da stdlib, e faz exatamente esse trabalho: ele re-serve seu manifesto de ferramentas MCP em uma forma compacta que qualquer cliente MCP pode consumir. Para um trabalho tão específico, o polimento está à frente da contagem de estrelas.
Limites justos: se sua pilha é de um ou dois servidores com uma dúzia de ferramentas, esse imposto é troco e não vale uma noite. Se você executa uma pilha mais pesada e suas sessões vazias abrem pesadas, audite o campo tools antes de culpar o modelo.
Pergunta para os comentários: o que seu medidor de contexto lê em uma sessão vazia, antes de você digitar qualquer coisa? Deixe o número. Curioso para saber como é uma conta de inatividade normal em diferentes configurações.
Empresas brasileiras que utilizam agentes de IA podem se beneficiar da otimização de esquemas JSON, reduzindo custos operacionais. A eficiência no uso de tokens é crucial para melhorar a performance e a viabilidade econômica de projetos que dependem de interações com IA. A adoção de práticas como a simplificação de esquemas pode resultar em economias significativas.
