Orijinal Başlık: Anthropic Mühendislerin Gerçekte Nasıl Token Tasarruf Ettiği
Orijinal Yazar: Nate Herk
Çeviren: Peggy, BlockBeats
Editör Notu: Birçok insan Claude Code'u kullandığında en belirgin deneyim, Token'ın çok hızlı tüketildiği, uzun oturumların kotasının kolayca dolduğu şeklindedir. Ancak Anthropic mühendislerinin bakış açısından bakıldığında, maliyeti gerçekten etkileyen şey genellikle ne kadar kod yazdığınız değil, sistemde daha önce işlenmiş bağlamın sürekli olarak yeniden kullanılıp kullanılmadığıdır.
Bu makalenin paylaştığı temel nokta, Token'ları önbellek mekanizması aracılığıyla nasıl tasarruf edebileceğinizdir. Yazar, bir hafta içinde 300 milyondan fazla Token'ı önbellek aracılığıyla yeniden kullandı, günlük önbellek miktarı ise 91 milyonu buldu. Token'ları önbelleğe almanın maliyeti, normal Token girişinin yalnızca %10'udur, bu da 91 milyon önbellek Tokenının aslında yaklaşık 9 milyon normal Token'a denk geldiği anlamına gelir. Claude Code'un uzun oturumları daha "dayanıklı" görünmesinin nedeni, modelin ücretsiz çalışması değil, çok miktarda tekrarlanan bağlamın başarılı bir şekilde yeniden kullanılmasıdır.
Önbelleğeçerin kilit noktası, "önbelleği kesmeyin"dir. Claude Code, sistem ipuçlarını, araç tanımlarını, CLAUDE.md'yi, proje kurallarını ve geçmiş konuşmaları katmanlı olarak önbelleğe alır; eğer sonraki isteklerin öneki aynı kalıyorsa, Claude doğrudan önbelleği okuyabilir ve tüm bağlamı yeniden işleme koymak zorunda kalmaz. Ayrıca, Anthropic içinde, bağlam önbelleğinin tekrar kullanım oranını izler çünkü bu sadece kullanıcı kotasını etkilemez, aynı zamanda model hizmetinin maliyetini ve işletme verimliliğini doğrudan etkiler.
Sıradan kullanıcılar için, tüm altta yatan ayrıntıları anlamanıza gerek yok, sadece birkaç temel alışkanlığı benimsemek yeterlidir: Oturumu 1 saatten fazla boş bırakmayın; görevi değiştirirken oturum aktarımını yapın; modeli sık sık değiştirmekten kaçının; büyük belgeleri tekrar tekrar konuşmaya yapıştırmak yerine Projelere yerleştirin.
Bu makale, bir Token tasarrufu hilesi hakkında konuşmak yerine, daha ziyade mühendislik düşüncesine daha yakın bir Claude Code kullanım yöntemi sunmanın bir parçası olarak görülebilir: Bağlamı varlık yönetimi gibi ele alın, önbelleği sürekli olarak yeniden kullanın, uzun oturumları tekrarlı hesaplama yapmaktan kaçının.
Aşağıda orijinal metin bulunmaktadır:
Ben bu hafta 3 milyar Token tasarruf ettim, günlük 9100 milyon, bir haftada 3 milyardan fazla.

Herhangi bir ayarı değiştirmedim. Bu sadece arkada prompt önbelleğinin normal şekilde çalıştığını gösteriyor.
Ancak önbelleğin ne olduğunu gerçekten anladığım ve önbelleği "bozmadan" nasıl kaçınacağımı öğrendikten sonra, aynı kullanım kotası altında oturumumun daha uzun süre devam edebileceğini fark ettim. Bu yüzden, burada Claude Code prompt önbelleğinin 80/20 kılavuzunu derledim, API seviyesinde derin ayrıntılara girmeyen.
Önbelleğe alınan Token'ın maliyeti, normal Token girişinin yalnızca %10'u kadardır. 91.000.000 önbelleğe alınan Token, gerçekte yaklaşık olarak 9.000.000 Token'a denk gelir.
Claude Code abonelik sürümünde önbellek TTL'si 1 saat; API varsayılan olarak 5 dakika; Alt-ayar her zaman 5 dakikadır.
Önbellek üç seviyeye ayrılır: sistem seviyesi, proje seviyesi, oturum seviyesi.
Oturum ortasında model değişikliği önbelleği bozar, bu modda "opus plan"ı etkinleştirmek de buna dahildir.
Önbelleğe alınan her bir Token'ın maliyeti, normal Token girişinin yalnızca %10'u kadardır.

Bu nedenle, panom belirli bir günde 91.000.000 Token'ın önbelleğe alındığını gösterirse, gerçekte yaklaşık olarak 9.000.000 Token işlendiği anlamına gelir. Bu aynı zamanda, önbellek olmadan kullanıma kıyasla, Claude Code'u uzun süre kullanmak insanların oturumunun neredeyse "ücretsiz" olarak uzadığını hissettirmesinin nedenidir.
Panoda dikkat edilmesi gereken iki sayısal değer vardır:
Önbellek oluşturma: İçeriği önbelleğe yazarken oluşan bir kereye mahsus maliyet. Bir sonraki oturumda etkinleştirilecektir.
Önbellek okuma: Claude'un önbellekten yeniden kullandığı Token, örneğin CLAUDE.md'niz, araç tanımınız, önceki iletiler vb. Yeniden giriş olarak işlem yapmaktan daha ucuzdur, maliyeti 10 kat daha düşüktür.

Eğer Önbellek okuma sayınız yüksekse, önbelleği etkili bir şekilde kullanıyorsunuz demektir; eğer bu sayı düşükse, aynı bağlam için sürekli ödeme yapmaktasınız demektir.
Anthropic'ten Thariq'in şu sözü bende derin izlenim bıraktı: "Aslında prompt önbelleğinin isabet oranını izliyoruz, isabet oranı çok düşük olduğunda bir alarm tetikleyecek ve hatta SEV seviyesinde bir olay ilan edeceğiz."
O ayrıca harika bir X makalesi yazmıştı. Önbellek isabet oranı yüksek olduğunda dört şey aynı anda gerçekleşir: Claude Kodu daha hızlı algılar, Antropik hizmet maliyeti düşer, abonelik kotası daha dayanıklı görünür ve uzun süreli kod oturumu daha gerçekçi hale gelir.
Ancak isabet oranı çok düşükse, herkes zarar görür.

Bu nedenle, tarafların teşviki aslında aynıdır: Antropik, önbellek isabet oranınızın yüksek olmasını ister, siz de isabet oranının yüksek olmasını arzularsınız. Gerçekten işlerin kötüleşmesine neden olan, göz ardı edilebilecek görünen ve sessizce önbelleği sıfırlayan küçük alışkanlıklardır.
Önbellek, önek eşleştirmesine dayanır, yani "prefiks eşleştirme".
Teknik ayrıntılara fazla inmeden, sadece şunu anlamanız yeterli: Bir konumun öncesindeki içerik ve zaten önbelleğe alınmış içerik tamamen aynı olduğunda, Claude bu bölümün önbellek Jetonunu tekrar kullanabilir.
Yaklaşık olarak, bir kez tamamen yeni bir oturum şöyle gerçekleşir:

Claude Kodu belgelerine göre, bir tamamen yeni oturum genellikle şu şekilde çalışır:
İlk sohbet turu: Hiçbir önbellek yok. Sistem ipuçları, projenizin bağlamı (örneğin CLAUDE.md, bellek, kural) ve ilk ileti yeniden işlenir ve önbelleğe yazılır.
İkinci sohbet turu: İlk turdaki tüm içerikler artık önbelleğe alınmış durumdadır. Claude, yalnızca yeni yanıtınızı ve bir sonraki iletiyi işlemesi gerekir. Bu turun maliyeti çok daha düşüktür.
Üçüncü sohbet turu: Mantık aynıdır. Önceki sohbet hala önbellekte saklıdır, sadece en yenisi etkileşim için tekrar işlenmelidir.
Önbellek kendisi üç kata ayrılabilir:

Thariq'in X makalesinden:
Sistem katmanı (System layer): Temel komutlar, araç tanımları (okuma, yazma, bash, grep, glob) ve çıktı tarzını içerir. Bu katman, küresel önbellekte bulunur.
Proje Katmanı (Project layer): CLAUDE.md, bellek, proje kurallarını içerir. Bu katman proje önbelleğine göre düzenlenir.
Diyalog Katmanı (Conversation): Yanıtları ve iletileri içerir, her diyalog turuyla birlikte büyür.
Eğer bir oturumun ortasında sistem katmanında veya proje katmanında herhangi bir içerik değişirse, tüm içeriklerin baştan yeniden önbelleğe alınması gerekir. Bu en "maliyetli" işlemdir. Düşünün: Zaten 16. iletiye kadar konuştunuz, bu sırada aniden sistem ipucu değişti veya bir saat duraklama oldu, o zaman 1. iletiden başlayarak tüm Jetonlar tekrar işlenmelidir.
Bu en çok yanlış anlaşılan yerdir.
Claude Code Abonelik Sürümü: Varsayılan TTL 1 saattir.
Claude API: Varsayılan TTL 5 dakikadır. Daha yüksek bir maliyetle bunu 1 saate çıkarabilirsiniz.
Herhangi bir Abone Altı Ajan: Her zaman 5 dakikadır.
Claude.ai Web Sohbeti: Resmi olarak belgelenmemiştir. Muhtemelen abonelik sürümüyle aynıdır, ancak henüz doğrulamadım.
Birkaç ay önce, birçok kişi Claude abonelik kotasının çok hızlı tükendiğinden şikayet etti. O zamanlar birileri Anthropic'in sessizce TTL'yi 1 saatten 5 dakikaya düşürdüğünü ve kullanıcılara bildirimde bulunmadığını düşündü. Ancak gerçek böyle değil, Claude Code'un TTL'si hala 1 saattir.
Sorun şurada, Claude Code ve API belgelerinin ayrı ayrı sunulması ve bunların zaten tamamen farklı şeyler olmasıydı, bu da birçok karışıklığa neden oldu.
Eğer çok sayıda Sub-agent iş akışı çalıştırıyorsanız veya doğrudan API kullanıyorsanız, o zaman 5 dakikalık süre çok önemlidir. Ancak Claude Code'un kullanıcılarının %95'i için gerçekten dikkate alınması gereken şey, aslında o 1 saatlik penceredir.
Aşağıdakiler, günlük kullanımda gerçekten yararlı olduğunu düşündüğüm kısımlardır.
Eğer bir saatten fazla boşta durduysanız, önceki içerikler neredeyse tümüyle önbellekten düşmüş demektir. Bir sonraki ileti önbelleği yeniden oluşturacaktır. Bu durumda, zaten "soğumuş" eski bir konuşmayı devam ettirmektense, daha temiz bir geçiş yapmayı ve yeni bir konuşma başlatmayı tercih etmek genellikle daha az maliyetlidir.
/küçült veya /temizle zaten önbelleği bozar, bu nedenle bu adımda gerçekten bir kez sıfırlamayı tercih ederim.
Kendim bir oturum devretme becerisi oluşturdum, /küçült'ü yerine kullanılacak. Bu beceri bize şimdiye kadar neler yaptığımızı, hangi kararların bekle
https://github.com/nateherkai/token-dashboard
Bu çok basit bir GitHub deposudur. Bağlantıyı Claude Code'a verirsin, ona bu kendi localhost'ünde dağıtması için izin verirsin, böylece geçmiş tüm oturum kayıtlarını okur, boş bir sayfadan bakma yerine. Giriş yapılan her günü, çıkış yapılan her günü, önbellek oluşturma ve önbellek okuma verilerini hemen görebilirsin.
Ancak bir şeyi unutmamalısın: Bu gösterge paneli, yerel cihazdaki Token verilerini takip eder. Masaüstünden dizüstü bilgisayara geçersen, sayılar tam olarak eşleşmez. Her cihaz kendi istatistik görünümüne sahiptir.
Anlık önbellekleme oldukça derinlemesine incelenebilecek bir konudur. Thariq'in o makalesi burada anlatılandan çok daha kapsamlıdır, genel resmi görmek istiyorsan kesinlikle okumaya değer.
Ancak her ayrıntıyı tamamen anlaman gerekmez, bundan yararlanman gerekmektedir. Sadece en önemli olan 80/20'yi kavraman yeterlidir: Önbellekli Token'ın normal Token'a göre maliyeti 10 kat daha ucuzdur; Claude Code'un TTL'si 1 saattir; Model değişikliği önbelleği bozacaktır; Görevler arasında net bir şekilde geçiş yapmak, genellikle eski bir oturumu "süresi dolmuş" hale getirip zorla devam ettirmekten daha mantıklıdır.
BlockBeats Resmi Topluluğuna Katılın:
Telegram Abonelik Grubu: https://t.me/theblockbeats
Telegram Sohbet Grubu: https://t.me/BlockBeats_App
Twitter Resmi Hesabı: https://twitter.com/BlockBeatsAsia