deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

Claude Code, token'ların %15–20'sini agent durum satırlarına harcıyor; Bun preload bunları devre dışı bırakıyor

Hacker News'te öne çıkan bir gist, Claude Code'un her 30 saniyede bir durum satırı üretmek için her arka plan agent'ının tam transcriptini yeniden gönderdiğini ve bunun token harcamasının %15–20'sine mal olduğunu söylüyor — 80 satırlık bir Bun preload bunu kapatıyor.

Claude Code, token'ların %15–20'sini agent durum satırlarına harcıyor; Bun preload bunları devre dışı bırakıyor

29 Ekim 2026'da Hacker News ana sayfasına ulaşan, Flamerix AI imzalı bir gist, Claude Code'daki maliyetli bir gizli davranışı belgeliyor: araç, kabaca her 30 saniyede bir, her arka plan agent'ının tüm transcriptini — yalnızca üç-beş kelimelik bir durum satırı üretmek için — o agent'ın modeline (genellikle Opus) geri gönderiyor. Yazar, bu özelliğin token kullanımının %15–20'sini tükettiğini tahmin ediyor ve bunu devre dışı bırakan 80 satırlık bir preload script'i paylaşıyor.

Maliyeti sohbetle yarışan bir durum satırı

Gist'e göre periyodik özetleme yalnızca agents panelindeki agent durumunu tazeliyor; üretilen metin modelin context'ine veya kullanıcının sohbetine asla girmiyor. Yazar, özelliği kapatan bir ayar bulunmadığını ve Ağustos 2026'da yayımlanan 2.1.232 sürümünden beri varsayılan olarak açık olduğunu yazıyor.

Anomali, gist'e göre ilk kez DRIM tarafından Claude Code'un OpenTelemetry export'unda tespit edilmiş; istekler orada bir query_source etiketi taşıyor. claude_code.api_request olaylarını bu etikete göre gruplamak, düzeltmeden önceki haftada agent_summary'nin tahmini harcamanın %16,4'ünü — ana sohbetin %15,7'sinden fazlasını — üstlendiğini, ayrıca tüm API isteklerinin %19,7'sini, yani yaklaşık beşte birini oluşturduğunu göstermiş. Bu harcamanın yaklaşık %96'sı Opus'a düşmüş; tam transcript her döngüde yeniden gönderildiği için oran, çıktı başına kabaca 9.000 girdi token'ına ulaşmış. Yazar bu rakamların anlamı konusunda dikkatli: bunlar faturalar değil, Claude Code'un kendi istek başına maliyet tahminleri; aboneler kaybı dolar olarak değil, azalan rate-limit payı olarak hissediyor. Gist ayrıca issue #86879'da toplanmış, %18–26 aralığında dört bağımsız ölçüme de işaret ediyor.

Preload nasıl çalışıyor

Düzeltme olan no-agent-summary.js, BUN_OPTIONS ortam değişkeniyle ayarlanan Bun --preload mekanizmasıyla yükleniyor; böylece Claude Code binary'sinin kendisi hiç değiştirilmiyor. Gist, bir timer hook'unun neden uygulanabilir yaklaşım olduğunu açıklıyor: ilgili modül önceden derlenmiş Bun bytecode'u olarak dağıtıldığından, binary içindeki JavaScript kaynağını düzenlemek işe yaramıyor ve API client, sarmalanmış bir globalThis.fetch'i atlıyor. Ancak Function.prototype.toString, callback bytecode'tan çalışsa bile kaynak metnini döndürüyor; bu yüzden script setTimeout ve setInterval'ı sarmalıyor, her callback'i inceliyor ve bir özetleyici çapası — örneğin [AgentSummary] Timer fired log dizisi — bulduğunda timer'ı kurmak yerine sahte bir handle döndürüyor. Diğer tüm timer'lara dokunulmuyor. Sahte gecikme tam olarak 2³¹−1 milisaniye; çünkü Node ve Bun daha büyük değerleri 1 ms'ye düşürüyor ve timer anında tetiklenirdi.

Kurulum ve doğrulama

Kurulum, script'i sabit bir yola kaydetmek, preload bayrağıyla BUN_OPTIONS'ı export etmek ve daemon'u claude daemon stop --any ile yeniden başlatmaktan ibaret. Yeniden başlatma önemli; çünkü daemon, pty host ve önceden ısıtılmış arka plan oturumları, daemon'u ilk başlatan client'ın ortamını miras alıyor — dolayısıyla değişken ayarlanmadan önce başlatılmış bir daemon, hook'suz oturumlar üretmeye devam ediyor. Headless çağrılar — claude -p, cron job'ları, CI, editör entegrasyonları — da değişkene ihtiyaç duyuyor. CC_AGENT_SUMMARY_MODE=pass seçeneği hook'u yüklüyor ama her timer'ı yine de kuruyor ve bir A/B kontrolü gibi davranıyor: özetler geri geliyor, yani etkinin hook'tan kaynaklandığı görülüyor. Önerilen doğrulama yöntemi OpenTelemetry'nin kendisi — query_source = agent_summary sıfırda kalmalı — çünkü her hata modunu yakalayan tek kontrol bu.

Uyarılar

Testler yalnızca Linux'ta, 2.1.257'den 2.1.312'ye kadar olan sürümlerde yapıldı; macOS ve Windows test edilmedi ve Windows'ta hook büyük olasılıkla hiç kurulamıyor. Tasarım açık şekilde başarısız oluyor (fail open): bir güncelleme çapa dizisini yeniden adlandırırsa, callback'i fn.bind ile sarmalarsa, dizileri paylaşılan bir sabite taşırsa veya sarmalanmamış bir timer API'sine geçerse, script hiçbir şeyle eşleşmez ve özetler sessizce geri döner; bu yüzden her güncellemeden sonra yeniden doğrulama gerekiyor. Yazar, 26 Ekim'den beri 2.1.301 sürümünde günlük kullanım bildiriyor: sıfır agent_summary isteği ve yerini alacak şekilde büyüyen bir yan sorgu yok; subagent'ler, arka plan agent'ları, fork edilmiş skill'ler ve arka plan oturumları normal davranıyor. Görünür ödünler: agent başına durum satırı güncellenmemeye başlıyor, SDK'nın task_progress'i özetini kaybediyor ve claude --version tek bir ölçümde kabaca 10 ms'den 17 ms'ye yavaşlıyor.

Neden önemli

Otonom kodlama agent'ları ekonomik otomasyon olarak pazarlanıyor; ama bu olay, görünmez iç işler çağrılarının işin kendisinden daha pahalı olabileceğini gösteriyor — burada telemetri, bir durum widget'ının kullanıcının gerçek sohbetinden daha fazla harcama yaptığını ortaya koydu. Anthropic resmi bir anahtar sunana kadar, agent ağırlıklı kullanıcılar bir panel güzelliği ile bütçelerinin beşte biri arasında bir seçim yapmak zorunda. Bu teknik ayrıca taşınabilir: preload hook'ları, kullanıcılara binary'ye dokunmadan kapalı, bytecode olarak dağıtılan CLI araçlarındaki davranışı gözlemleme ve yeniden şekillendirme yolu veriyor — sessizce kırılan kırılgan bir kaldıraç; gist'in güven yerine doğrulanabilir telemetriye yaslanmasının nedeni de tam olarak bu.

  • #claude-code
  • #ai-agents
  • #bun
  • #token-efficiency
  • #opentelemetry

İlgili yazılar