Gemma4 2b modeliyle Codex ve Claude Code token maliyetini %99 azaltan kayıpsız yerel yönlendirici becerisi: token-router
(github.com/sleeplesshan)Merhaba,
Claude Code veya Codex gibi yapay zeka ajanlarını kullanarak büyük hacimli logları analiz ederken ya da legacy kodu düzenlerken, bir anda yükselen token maliyetleri ve gecikme süreleri yüzünden zorlananlar için geliştirdiğim bu beceriyi paylaşmak istiyorum.
Büyük dosyalarla çalışırken "keşif yerelde ücretsiz, muhakeme bulutta yüksek performanslı" yaklaşımını uygulayan hibrit bir bağlam yönlendiricisi olan token-router budur.
🛑 Hangi sorunu çözüyor?
2.000 satırı aşan altyapı dağıtım loglarını ya da devasa kaynak kodu dosyalarını bulut LLM'ine tek parça halinde verdiğinizde, giriş token'ları ciddi biçimde israf olur ve bekleme süresi de uzar.
Bunu azaltmak için bazen küçük bir modelle kodu önceden özetlemek tercih ediliyor, ancak bu yöntem risklidir. Tek bir hata satırı ya da değişken tanımı atlandığı anda bulut yapay zekası bağlamı kaybeder ve alakasız yanlış cevaplar üretebilir.
Ayrıca son sürümde buna ek olarak, her turda tekrar tekrar eklenen uzun CLAUDE.md, AGENTS.md, .cursorrules gibi statik ajan yönergesi dosyaları da yönlendirme kapsamına dahil edildi. Ancak otomatik olarak enjekte edilmiş uzun root dosyalarının token maliyetini sonradan azaltmak mümkün olmadığından, root yönerge dosyalarını kısa tutup uzun görev bazlı kuralları ayrı reference dosyalarına bölerek yalnızca gerektiğinde yönlendiren bir yapı öneriliyor.
🧠 Bunu nasıl çözüyor? (kullanıcı açısından çalışma şekli)
Bu araç metni özetlemez; bunun yerine, yalnızca gereken kadarını doğrudan özgün metinden kesip alır.
- Yerel keşif (Local Triage): Bilgisayarınızda Ollama üzerinden hafif Gemma 4 2B modeli çalıştırılır. Bu yerel model, kullanıcının sorusuna karşılık gelen doğru satır numaralarını (koordinatları) hızlıca bulur.
- Özgün metni çıkarma (Raw Slicing): Python betiği, bu satır numaralarını temel alarak diskteki özgün metinden temiz parçaları olduğu gibi kesip çıkarır.
- Bulut muhakemesi (Reasoning): Ana bulut modeli, yalnızca gereksiz gürültüden arındırılmış yüksek yoğunluklu özgün metin parçalarını ve dosya yapı haritasını alır; böylece sadece hata ayıklama ve kod yazmaya odaklanır.
İşlenmemiş özgün metin olduğu gibi iletildiği için, bulut modelinin muhakeme yeteneğini %100 kullanırken maliyeti de çarpıcı biçimde düşürmek mümkün olur.
Şu anda error_log, heavy_code, agent_context olmak üzere üç modu destekliyor. agent_context, uzun CLAUDE.md, AGENTS.md, GEMINI.md, .cursorrules, agent-context/*.md gibi ajan yönergesi referans belgelerinde mevcut işle ilgili özgün satırları bulup getiren moddur.
📊 Kendi bilgisayarımda yapılan gerçek test sonuçları
- Büyük altyapı logu (2.000 satır): Girdi bağlamı 41.711 token'dan 131 token'a düşürüldü (%99,69 tasarruf, işlem süresi 5,37 saniye).
- Legacy hata içeren kaynak kodu (2.155 satır): Başlangıçta 7.520 token olan içerik, yalnızca 70 token'a sıkıştırılarak iletildi (%99,06 tasarruf, işlem süresi 4,46 saniye).
🛠️ Gerçek işte kullanırken pratik gelen noktalar
- Bilgisayarda takılmayı önleme: Yerel yapay zeka kullanınca bilgisayarın yavaşlayacağından endişe edebilirsiniz. Bu araç, yönlendirme koordinatlarını çıkarma işi bittiği anda yerel modeli VRAM'den hemen serbest bırakır.
- Akıllı geriye dönük bağlam genişletme: Eğer kesip alınan kod çok darsa ve öncesi-sonrası bağımlılıklarını anlamak zorlaşırsa, bulut yapay zekası tahmini bir yanıt vermek yerine betiğe "daha geniş bir aralığı yeniden kesip getir" diye ters istek gönderebilen bir prompt güvenlik mekanizmasına sahiptir.
- Büyük dosya akışı: Dosya yerel modelin bellek kapasitesini aşacak kadar büyük olsa bile, arka plandaki anahtar kelime ve dosya sonu taramasını önceleyen streaming mantığı otomatik olarak devreye girer; bu da güvenli kullanım sağlar.
- Claude Code desteği: Son sürümde Claude Code için kompakt bir
CLAUDE.mdbootstrap da yer alıyor. Uzun Claude'a özel yönergeler ayrı reference dosyalarında tutulupagent_contextile yönlendirilerek kullanılabiliyor.
MIT lisansı ile tamamen ücretsiz olarak yayımlandı; bağımsız bir betik olarak ya da OpenAI Codex becerisi biçiminde doğrudan kaydedilip kullanılabilir. Claude Code tarafında da CLAUDE.md bootstrap örneği referans alınarak aynı yönlendirici betik çağrılabilir. Büyük loglarla hata ayıklayan veya ağır kod tabanlarıyla sık çalışan kişilerin geliştirme verimliliğine katkı sağlamasını umuyorum.
Mimari ya da prompt optimizasyonu hakkında her türlü geri bildirim ve görüşünüzü paylaşırsanız çok sevinirim!
2 yorum
Güzel bir beceri olmuş, hafifçe denedim.
Python ile gönderilecek JSON'u oluştururken bazen JSON söz dizimi ihlal edilip hata çıkan durumlar oluyordu; 4b ya da qwen2.5-coder:7b'ye geçirip denediğimde ise hata oranının belirgin şekilde azaldığını gördüm.
Vay, paylaşır paylaşmaz hemen test edip hatta model ölçeklerine göre ayrıntılı karşılaştırmalı geri bildirim bırakmanız için gerçekten çok teşekkür ederim!
Söylediğiniz gibi, 2B seviyesindeki ultra küçük modellerin bazen karmaşık loglar veya özel karakterlerin karıştığı ortamlarda sistem promptu kısıtlarını bozup söz dizimine uymayan JSON çıktısı verme gibi bir sınırı var gibi görünüyor. VRAM kaynağında pay varsa, Qwen 2.5 Coder 7B ya da Gemma 4B ailesinin yönlendirme koordinatlarını çok daha istikrarlı şekilde çıkardığı kesinlikle görülüyor.
Diğer arkadaşlar da test ederken JSON söz dizimi hatası yaşarlarsa, ortam değişkeni ayarı üzerinden aşağıdaki gibi daha büyük ölçekli bir modele geçip çalıştırmayı deneyebilirler; bu, kullanım açısından daha faydalı olabilir.
OLLAMA_MODEL=qwen2.5-coder:7b python3 scripts/router.py ...Değerli gerçek kullanım benchmark görüşünüzü paylaştığınız için teşekkür ederim.