« Tüm yayınlar

Claude Code İncelemesinde Token Faturası Tree-sitter Graf ile 8-49x Düştü

Claude Code incelemelerinde Tree-sitter tabanlı çağrı grafiği ve blast-radius BFS ile token faturası 8-49x düşürüldü; üç kritik tuzak ve sınırları.

Claude Code ile otomatik kod incelemesi yapan ekipler, her pull request'te tüm depoyu (veya alakasız RAG sonuçlarını) modele okutarak gereksiz yere büyük token faturaları ödüyor. Bir mühendis, incelemeyi diff'e çağrı grafiğinde en fazla iki sıçrama (hop) uzaklıktaki düğümlerle sınırlayan bir yaklaşımla bu sorunu çözdü: 'blast radius' (etki alanı) BFS'i. On iki farklı repoda ölçülen sonuç, depo büyüklüğüne ve diff boyutuna bağlı olarak 8x ile 49x arasında token tasarrufu; büyük depo + küçük diff kombinasyonu en yüksek kazancı veriyor.

Çağrı grafiğini çıkarmak için Tree-sitter kullanılıyor: fonksiyon tanımları, çağrı ifadeleri ve import'lar taranıp SQLite'a yazılıyor, artımlı indeksleme dosya hash'i üzerinden yapılıyor. Ancak üç tuzak bu tasarrufu tersine çevirebiliyor: yüz(ler)ce çağıranı olan yardımcı fonksiyonlar, çok sayıda alt sınıfı olan base class metodları ve test dosyalarının çağıran olarak sayılması. Bu üçü kontrolsüz bırakıldığında bir satırlık değişikliğin etki alanı 1.200 dosyaya çıkabiliyor; sınırlar uygulandığında bu sayı 23'e düşüyor.

Önemli bir ek ayrım: çağrı grafiğinin 'ulaşılan' dediği fonksiyonlarla, gerçekte 'davranışı değişen' fonksiyonlar aynı küme değil. İmza değişmeden yapılan iç mantık değişikliklerinde çağıranlar aynı sözleşmeyi görüyor, dolayısıyla daha hafif bir inceleme yeterli. Bu ikili ayrım -- mekanik erişim kümesi ve LLM tahminine dayalı davranış-değişikliği kümesi -- inceleme kalitesini token tasarrufundan bağımsız olarak artırıyor. Loglama, auth, feature flag gibi çapraz kesişen modüllerde ve config tabanlı dispatch'te ise bu sınırlamanın atlanması gerekiyor, çünkü statik çağrı grafiği gerçek riski gizleyebiliyor.