Como economizar 70% dos tokens do Claude com acesso direcionado ao código
Um desenvolvedor criou uma ferramenta em PHP + SQLite para otimizar o Claude Code em projetos grandes. Dois scripts, buildGraph e claudeSearch, constroem o graf

Um desenvolvedor criou uma ferramenta que economiza 70% da janela de contexto do Claude ao trabalhar com grandes projetos. Em vez de ler arquivos inteiros, um agente de IA recebe acesso direcionado ao código necessário — exatamente o que é necessário para a tarefa.
Problema: contexto valioso é desperdiçado
Claude Code conhece a arquitetura do projeto a partir do CLAUDE.md e entende quais arquivos são responsáveis pelo quê. Mas na prática, o agente ainda lê arquivos inteiros. Precisa de um método — lê toda a classe com todos os seus métodos. Precisa encontrar onde uma função é chamada — lê diretório após diretório procurando padrões. O contexto se esgota rapidamente e nenhum trabalho útil foi feito ainda.
Um cenário típico: um desenvolvedor pede ao Claude para encontrar um campo em uma entidade. O agente abre o arquivo inteiro, mesmo que apenas as primeiras 20 linhas com descrições de campo e construtor sejam necessárias. Ou mais simples: entender a estrutura de relacionamento entre tabelas de banco de dados. Claude lê arquivos SQL inteiros, embora apenas nomes de tabelas e chaves fossem suficientes para a resposta.
A janela de contexto é o recurso primário ao trabalhar com IA em grandes projetos. De 200K tokens, 100K poderiam ser gastos lendo código que poderia ter sido obtido de forma mais inteligente.
Solução: grafo de dependências e acesso direcionado
O desenvolvedor criou dois scripts PHP que trabalham juntos:
buildGraph.php — verifica o projeto uma vez e constrói um grafo de dependências em SQLite. Analisa código PHP e JavaScript: extrai classes, métodos, funções, importações, cadeias de herança. A execução é incremental — em execuções subsequentes, atualiza apenas arquivos que foram alterados. Isso leva 100–200 milissegundos para um projeto médio.
claudeSearch.php — interface CLI para agentes. Com um comando, oferece ao Claude exatamente o que é necessário:
- Um método de classe específico com assinatura e corpo
- Todos os campos e o construtor da classe
- Toda a cadeia de herança para uma entidade
- Todas as consultas SQL para uma tabela específica
- Uma lista de todas as chamadas de função em todo o projeto
- Dependências entre módulos
Em vez de `Read(path/to/huge-file.php)`, Claude agora escreve `search("User", "fields")` e obtém 15 linhas. Em vez de ler três diretórios, escreve `search("saveOrder()", "calls")` e vê todos os lugares onde este método é usado.
Suporte de linguagem e desempenho
Atualmente, a ferramenta oferece suporte total a PHP e JavaScript. O suporte para Go já foi adicionado. C virá depois. A velocidade de análise é crítica — o grafo deve ser atualizado tão rápido quanto o desenvolvedor muda o código. As atualizações incrementais resolvem este problema: a primeira passagem analisa todo o projeto (pode levar vários segundos em um repositório grande), as passagens subsequentes atualizam apenas arquivos alterados em 100–200 ms.
O que oferece na prática
De acordo com os cálculos do autor, a ferramenta reduz o consumo de tokens em 70% para um projeto médio típico. Isso não significa que cada solicitação individual economize 70% — significa que durante uma sessão de desenvolvimento, o contexto é usado 3 vezes mais eficientemente. Em vez de gastar 150K tokens lendo e depois 50K trabalhando, um desenvolvedor pode gastar 70K pesquisando e 80K trabalhando.
A ferramenta é especialmente útil para assistentes CLI e bots que não podem ver o sistema de arquivos por si mesmos. O grafo se torna a fonte de verdade sobre a estrutura do projeto para eles.
O que significa
A ferramenta aponta uma direção: escalar o trabalho do Claude em grandes projetos não é apenas sobre decisões arquitetônicas e um CLAUDE.md bem escrito. O que é necessário é acesso inteligente ao código. Leitura direcionada em vez de completa. Grafo em vez de sistema de arquivos. Quando o contexto se torna uma restrição, você precisa ler com base no que é realmente necessário, não no volume de código.