29 puan yazan remin1994 2026-03-17 | 4 yorum | WhatsApp'ta paylaş

Claude Code ile çalışırken bir anda, CLAUDE.md dosyası ya da skill, rules / memory gibi verileri Claude sunucusu nasıl algılıyor acaba diye merak ettim.

Bu yüzden trafiği görebileceğiniz bir MITM proxy’yi bizzat oluşturarak bir araç yaptım.

Mantık şu: Claude Code’u çalıştırırken baseURL değiştirilerek, Claude Code içinde gerçekleşen HTTP iletişimi yakalanıp gösteriliyor.

Bu araçla öğrenebildiğim noktalar şunlar oldu.

hello gibi tek bir söze 12KB ekleniyor

  • Bu, Claude Code’u açar açmaz hello gönderdiğiniz andaki durum.
  • content[0] skill listesi ~2KB, content[1] CLAUDE.md ~10KB, content[2] ise gerçek girdi olan hello metni olarak gönderiliyor.
  • Yani CLAUDE.md 500 satırsa her istekte tamamı gönderiliyor; bu da CLAUDE.md dosyasını neden kısa ve öz tutmak gerektiğini gösteriyor.

Konuşma biriktikçe her istek kartopu gibi büyüyor

  • Her istekte messages[] dizisinin tamamı yeniden gönderiliyor. — 1 tur 15KB, 10 tur 200KB, 30 tur 1MB+
  • Hatta Claude’un daha önce verdiği yanıtlar da istek mesajına dahil ediliyor.
  • Bağlam penceresini düzenli olarak /clear ile temizlemezseniz, token israfının yanı sıra önceki bağlamın sonraki bağlamla sürekli birlikte taşınması nedeniyle performans düşüşü yaşanabileceğini gördüm.

MCP araçları yalnızca gerektiğinde yükleniyor

  • Başta yalnızca yerleşik N adet araç yükleniyor (Claude sürümüne göre değişir); MCP tool kullanmak gerektiğinde sunucu ToolSearch çağrısı yaparak kullanılacak aracı buluyor.
  • Sonrasında her çağrıda, yukarıda bulunan araç eklenmiş şekilde çağrı yapılıyor.
  • Yani MCP Tool dinamik olarak yüklendiği için, hiç kullanılmamış MCP araçları pratikte büyük bir token tüketimine yol açmıyor.

Alt ajanlar tamamen izole bir bağlamda çalışıyor

  • Alt ajanlar, üst konuşma geçmişi hiç olmadan yeni bir oturum açılmasıyla aynı şekilde çalışıyor.
  • Inspector’da üst/alt ajan çağrılarını yan yana görsel olarak karşılaştırabilirsiniz.

Tek bir görsel eki yüzlerce KB ekliyor

  • Ekran görüntüsü eklendiğinde base64 olarak kodlanıp JSON gövdesine satır içi olarak yerleştiriliyor.
  • Görselin isteği ne kadar büyüttüğünü gerçek zamanlı olarak görebilirsiniz.

Aşağıdaki komutla kurabilirsiniz.

brew install --cask kangraemin/tap/claude-inspector && sleep 2 && open -a "Claude Inspector"   

GitHub: https://github.com/kangraemin/claude-inspector

Şimdilik yalnızca macOS destekliyor ve erken bir sürüm olduğu için, iyileştirme önerilerinizi memnuniyetle karşılarım.

Dener, öğrenmenize katkı sağlar umarım; teşekkürler!

4 yorum

 
winterjung 2026-03-18

suspiciously precise floats, or,
how I got Claude's real limits yazısı
'nda, API maliyetlerinden farklı olarak abonelik planında önbellek okuma maliyeti olmadığına dair bir analiz vardı. Oturum uzadıkça hesaplanan maliyet ile gerçek maliyet arasında biraz sapma olması da muhtemel görünüyor.

 
remin1994 2026-03-18

Aa... hiç bilmediğim bir yazıymış... bir kontrol edeceğim! Teşekkürler

 
kgcrom 2026-03-18

https://github.com/badlogic/lemmy/tree/main/apps/claude-trace
Bununla prompt'u ve hangi araçların kullanıldığını inceledim; sizin yaptığınızı da denemem gerekecek gibi görünüyor.
Paylaştığınız için teşekkürler. :+1:

 
remin1994 2026-03-17

Ek olarak, istekten sonra response içinde o request’te kullanılan token miktarını da görebilirsiniz!

Model: claude-sonnet-4-6
İstek boyutu: 68.9 KB

"usage": {
"input_tokens": 3,
"cache_creation_input_tokens": 12394,
"cache_read_input_tokens": 6499,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 12394
},
"output_tokens": 74,
"service_tier": "standard",
"inference_geo": "not_available"
}

Ayrıca model bazlı fiyatlandırmayı uygulayarak request başına maliyeti de hesapladım, bol bol kullanın haha

Cache okuma: 6.5K tok × $0.3/MTok = $0.0019
Cache yazma: 12.4K tok × $3.75/MTok = $0.0465
Cache’siz giriş: 3 tok × $3/MTok = $0.0000
Çıkış: 74 tok × $15/MTok = $0.0011

Toplam: $0.0495
Cache isabet oranı: 34%