O küçük satır ne yapıyor?
Claude Code işi arka plan ajanlarına dağıttığında, istem kutusunun altında bir panel açılıyor. Her ajanın bir satırı var ve yanında “testleri çalıştırıyor” gibi üç beş kelimelik bir durum yazısı duruyor. Bu yazı kendiliğinden oluşmuyor. Claude Code, çalışan her arka plan ajanı için yaklaşık 30 saniyede bir modele ayrı bir istek atıyor. İsteğin içinde o ajanın o ana kadarki bütün konuşması var, soru da kısaca “son adımını birkaç kelimeyle anlat”.
Bu isteği ajanın kendi modeli cevaplıyor. Ajan Opus’ta çalışıyorsa etiketi de Opus yazıyor. Konuşma büyüdükçe her istek de büyüyor. Uzun oturumlarda neden her şeyin baştan gönderildiğini Context Mode yazımızda anlattık.
Ne kadar tutuyor?
Rakamlar ölçenden ölçene değişiyor:
- Flamerix: Bulguyu yayımlayan ekip, kendi OpenTelemetry verisinde bu isteklerin harcamanın %16,4’ü olduğunu gördü. Ana konuşmadan bile fazla.
- GitHub: Ağustos’ta açılan bir issue, ajan ağırlıklı tek bir oturumda isteklerin %22,7’sinin bu etiketler için gittiğini ölçtü. Issue hâlâ açık.
- Better Stack: Videoya göre basit bir denemede %12, üç arka plan ajanıyla gerçekçi bir Opus projesinde yaklaşık %8 çıktı.
- Anthropic: Claude Code ekibinden biri Hacker News’te, tüm telemetride bu isteklerin maliyetin yaklaşık %2’si, terminalde ise %6’sı olduğunu yazdı.
Farkın sebebi basit. Etiket yalnızca çalışan ajanlar için üretiliyor, boşta bekleyen ajan için değil. Çok sayıda uzun süren ajan kullanan biri ortalamanın çok üstüne çıkıyor.
İşin sinir bozucu yanı görünmez olması. Bu istekler oturum kayıtlarına (JSONL) yazılmıyor. Kullanımını bu dosyalardan hesaplayan araçlar onları hiç görmüyor. Belgelerdeki “arka planda harcanan token’lar” bölümü de bu özellikten bahsetmiyor. Araçların sana söylemeden ne gönderdiğine dair başka bir örneği gizli işaret yazımızda konuştuk.
Önbellek savunması
İlk itiraz şu: Konuşmanın büyük kısmı zaten prompt cache’te. API’de önbellekten okunan token, normal girdi fiyatının onda biri ya da daha azı. Doğru, ama iki sorun var. Birincisi, Anthropic’in kendisi önbelleği ıskalayan etiket isteklerinin en pahalı durum olduğunu kabul etti ve 2.1.311 sürümünde düzeltti. İkincisi, abonelikte önbellekten okunan geçmiş de limitinden yiyor. Belgeler bunu açıkça söylüyor, ama ne kadar yediğini söylemiyor.
Anthropic ayrıca konuşmanın tamamı yerine kısa notları daha küçük bir modele gönderen, çok daha ucuz bir mod üzerinde çalıştığını söyledi.
Kapatabilir misin?
Resmî bir ayar yok. Toplulukta iki yol konuşuluyor:
CLAUDE_CODE_FORK_SUBAGENT=0: Belgelere göre bu değişken fork modunu kapatıyor. Fork, ana konuşmanın tamamını ve prompt cache’ini devralan alt ajan demek. Issue’daki testlere göre etkileşimli terminal oturumlarında etiketler de onunla birlikte duruyor. Normal arka plan ajanları çalışmaya devam ediyor, ama her biri sıfırdan başlıyor. Bir rapor bunun 2.1.312’de işe yaramadığını söyledi. Başka biri sebebini bir ayar dosyasındakienvbloğunun değeri ezmesine bağladı. Yani belgelenmiş bir kapatma düğmesi değil, bir yan etki.- Flamerix’in Bun preload betiği: Claude Code’un zamanlayıcı fonksiyonunu sarıp etiket zamanlayıcısını susturuyor. Çalışıyor, ama her Claude Code sürecinin içine giriyor ve kurulum komutu her seferinde en son sürümü indiriyor. Kullanacaksan önce oku ve kendi kopyanı sabitle. Güncellemeden sonra da sessizce çalışmayı bırakabilir.
Paranın nereye gittiğini ölçmenin ve kırpmanın başka yollarını token maliyeti yazımızda bulabilirsin.
Düşün
- Kullandığın yapay zekâ araçlarının senin adına arka planda ne gönderdiğini nasıl ölçersin?
- Panelde birkaç kelimelik bir durum yazısı, limitinin yüzde kaçına değer?
Videoyu izle
Kaynaklar (10, İngilizce)
- Better Stack: These 5 Words Cost 12% of Your Claude Code Usage (video) (yeni sekmede açılır)
- Flamerix: Claude Code agent summary write-up and Bun preload hook (gist) (yeni sekmede açılır)
- GitHub anthropics/claude-code #86879: a supported way to disable the agent_summary spinner (yeni sekmede açılır)
- GitHub anthropics/claude-code #104358: persist per-request usage for every billed request (yeni sekmede açılır)
- GitHub anthropics/claude-code #105981: agent_summary re-sends each background agent's full transcript (yeni sekmede açılır)
- Hacker News: reply from the Claude Code team on agent_summary (yeni sekmede açılır)
- Claude Code Docs: Subagents (forks and fork mode) (yeni sekmede açılır)
- Claude Code Docs: Environment variables (yeni sekmede açılır)
- Claude Code Docs: Manage costs effectively (yeni sekmede açılır)
- Claude API Docs: Prompt caching (yeni sekmede açılır)
Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.