Kodlama ajanlarında aynı işe tekrar para ödemenizi engelleyen Microsoft eklentisi GitHub'da

Microsoft ve UC Berkeley araştırmacılarının eklentisi, testlerde ortalama maliyeti yüzde 18,4 ile 30,9 arasında düşürdü. Beş kombinasyonun dördünde başarı da arttı, Claude Code ve Opus 4.8'de ise hafif geriledi.

Paylaş
Kodlama ajanlarında aynı işe tekrar para ödemenizi engelleyen Microsoft eklentisi GitHub'da

Microsoft Research, Microsoft Security ve UC Berkeley araştırmacıları, kodlama ajanlarının maliyetini modeli ya da ajanın kodunu değiştirmeden düşürmeyi hedefleyen TokenEconomizer'ı GitHub'da Apache 2.0 lisansıyla yayımladı. Çalışmanın makalesi 15 Ekim 2026'da arXiv'e yüklendi, depo 30 Ekim'de de güncellendi. Eklenti Claude Code, Codex, GitHub Copilot CLI ve Pi ile çalışıyor, opencode desteği ise deneysel aşamada.

Ajanlar aynı işin parasını yeniden ödüyor

Ekibin çıkış noktası, kodlama ajanlarının çoğu ölçümde tek görev üzerinden değerlendirilmesi. Gerçek hayatta geliştiriciler aynı projede aynı ajanı defalarca kullanıyor ve her turda ajanın talimatları, yüklü araçların tanımları ve konuşma geçmişi yeniden faturalanıyor. Ekip, değiştirilmemiş bir ajanın 60 SWE-Bench çalışmasını inceledi. Bir depoda beş ya da daha fazla görev tamamlandıktan sonra araç çağrılarının yüzde 30'u önceki bir görevin eylemini tekrar ediyordu. Her turda faturalanan 23 araç tanımından 16'sı hiç çağrılmıyordu. Başarısız olan yüzde 17'lik görev dilimi ise harcamanın yüzde 32'sini tüketiyordu.

Üç mekanizma ajanın dışından çalışıyor

Birinci mekanizma olan micro-skills, depoya özgü bilgileri öğreniyor. Çalışması gereken bir derleme adımı, o depoda geçerli komut yazımı ya da gereken bir ortam değişkeni bu kapsamda. Bir bilgi üç oturumda doğrulanınca oturum başında ajana veriliyor, sonraki oturumlar çelişirse siliniyor. İkinci mekanizma araç budama. On istem boyunca en az iki oturumda ya da beş oturum boyunca kullanılmayan bir araç, ajanın kendi ayarları üzerinden sonraki oturumlara yüklenmiyor. Tek komutla geri getirilebiliyor. Üçüncü mekanizma döngü koruması. Bir tur aynı hatalara takılınca bir değerlendirici model durumu inceliyor, en az yüzde 70 eminse ajana başka bir yol denemesi için kısa bir not ekliyor. Tur yine ilerlemezse eklenti kullanıcıya nasıl durduracağını söylüyor, turu kendisi kesmiyor.

Maliyet düştü, başarı her yerde artmadı

Ekip, altı depodan (Django, Matplotlib, scikit-learn, Sphinx, SymPy, xarray) 277 SWE-Bench görevini beş ajan ve model kombinasyonunda çalıştırdı. Ortalama maliyet Copilot CLI ve Sonnet 5'te yüzde 18,4, Claude Code ve Sonnet 5'te yüzde 23,6, Codex ve GPT-5.6 Terra'da yüzde 24,7, Codex ve GPT-5.6 Sol'da yüzde 26,1, Claude Code ve Opus 4.8'de yüzde 30,9 düştü. Maliyetler eklentinin kendi model çağrılarını da içeriyor. Deneme başına ilk seferde çözme oranı dört kombinasyonda arttı, örneğin Copilot CLI ve Sonnet 5'te 75,0'dan 77,6'ya çıktı. En yüksek tasarrufun geldiği Claude Code ve Opus 4.8'de ise 74,0'dan 73,0'a geriledi.

Aynı tablo basit yöntemlerin bedelini de gösteriyor. Claude Code ve Sonnet 5'te düşük efora geçmek maliyeti yüzde 45,5 azaltırken başarıyı 74,7'den 65,1'e indiriyor. Sabit ayarlı RTK ve RepoMap ise bazı kombinasyonlarda maliyeti artırdı. Depo içi tasarruf yüzde 5 ile 40 arasında değişti. Web-Bench'te düşüş yüzde 16 ile 21 arasında kaldı. Her görevin yeni bir depoda geçtiği iki güvenlik denetimi testinde ise yüzde 6 ile 20 arasına indi, çünkü sistem öğrenmesini aynı depoda tekrar eden işlerden alıyor.

Eklenti neler yapıyor

  • Depoya özgü bilgileri öğrenip sonraki oturumlara taşıyor. Bu özellik isteğe bağlı, varsayılan olarak kapalı.
  • Kullanılmayan araçları sonraki oturumlara yüklemiyor, tek komutla geri getiriliyor.
  • Ajan aynı hataya takılınca başka bir yol denemesi için not ekliyor.
  • Oturum başında, her istemde, araç çağrılarında ve oturum sonunda kancalarla devreye giriyor.
  • Oturum kayıtlarını okuyor ve bazı işleri ayrı bir arka plan sürecine veriyor.
  • Araç budamada engel kurallarını deponun .claude/settings.local.json dosyasına yazıyor.
  • Claude Code'da ek model çağrılarını varsayılan olarak Haiku ile kullanıcının kendi hesabından yapıyor.

Neler yapmıyor

  • Modeli ya da ajanın kodunu değiştirmiyor.
  • Ayrı bir API anahtarı istemiyor, model çağrıları kullanıcının ajanı üzerinden gidiyor.
  • Kendini güncellemiyor, güncelleme kullanıcının çalıştırdığı git pull ile yapılıyor.
  • Takılan turu kendisi durdurmuyor, kararı kullanıcıya bırakıyor.
  • Kod taramamızda eklentinin kendi kodunda dış sunucuya bağlantı görmedik. Bütün dosyaları satır satır incelemedik.

Kimin işine yarar

En çok aynı projede sık çalışanlar kazanıyor, çünkü sistem tekrar eden işlerden öğreniyor. Her işi yeni bir depoda yapanlarda tasarruf düşüyor. Aylık planlarda kazanç para yerine kullanım limitinde görülebilir. Python 3.10 ve üzeri gerekiyor, kurulum git clone ve ajanın eklenti komutlarıyla yapılıyor. Kaldırmadan önce toolprune restore ile kapatılan araçlar geri alınıyor. Kancaların ve kayıt okumanın kendi çalışma düzenine uyup uymadığına bakmak da kullanıcıya kalıyor.

Eklentinin varsayılanları makaleden farklı

Kullanıcıya gelen sürümde araç budama ve döngü koruması açık, micro-skills ise kapalı geliyor. Depodaki belgelere göre bunun nedeni, bilgi önerme adımının ek model çağrısı yapması. Yani makaledeki üç mekanizmalı sonuçlar varsayılan kurulumla birebir aynı olmayabilir. Claude Code'da eklentinin ek çağrıları varsayılan olarak Haiku ile kullanıcının kendi hesabından yapılıyor. Eklenti ayrı API anahtarı istemiyor ve öğrendiklerini kullanıcının makinesinde, ~/.tokeneconomizer klasöründe tutuyor. Buna karşılık her oturumda, istemde ve araç çağrısında kancalar çalıştırıyor, oturum kayıtlarını okuyor, bazı işleri ayrı arka plan sürecine veriyor ve araç budamada depo ayarlarına engel kuralı yazıyor. Araç listesi kendiliğinden değişsin istemeyenler toolprune=propose ayarıyla yalnız öneri alabiliyor. Rakamlar ekibin kendi ölçümü. Sonuçları farklı açılardan görmek için bağımsız araştırmacıların değerlendirmelerini de takip edin.

Kaynaklar: GitHub, arXiv makalesi, Proje sayfası