# Prompt caching ve uzun bir oturumun maliyeti

Claude Code uzun oturumlarda hızlı ve makul fiyatlı çünkü her isteğin değişmeyen başı cache'leniyor. Birkaç sıradan eylem bu cache'i bozuyor, ve onları bilmek maliyet kontrolünün büyük kısmı.

## Cache'lenen şey önektir

Her turda bütün konuşma yeniden gönderilir. Model her seferinde hepsini sıfırdan işlemek zorunda olsaydı bu yıkıcı olurdu. Öyle değil, çünkü API **tam önek eşleşmesiyle** cache'ler: isteğin başı bir öncekiyle birebir aynıysa o kısım yeniden hesaplanmaz, cache'ten okunur.

Bir isteğin sırası tam bu yüzden önemli:

```flow
Sistem prompt'u ve araç tanımları
Proje bağlamı: CLAUDE.md, hafıza, kapsamsız kurallar
Büyüyen konuşma
```

Bu yığının yukarısındaki bir değişiklik, altındaki her şeyi yeniden hesaplatır. Aşağıdaki bir değişiklik neredeyse hiçbir şeye mal olmaz. Uzun oturumları ucuz tutmanın bütün işi, üstü sabit bırakıp yalnızca altın hareket etmesine izin vermek.

## Cache ne kadar yaşar

Cache'in bir ömrü var. Ana konuşma bir saati yalnızca Claude aboneliğinde, plan kullanımı içinde alır. API anahtarı, bulut sağlayıcıları ya da kullanım kredisiyle beş dakika alır. Alt ajanlar, workflow'lar, compaction ve başlıklar varsayılan olarak beş dakika alır.

Ömürden uzun süre başından kalkarsanız, sonraki tur öneki yeniden kurar. Bir saatlik cache üzerindeyken yaklaşık 200K token'ı geçen bir oturum, cache dolmadan kısa süre önce compact bile edilir. Buna idle compaction deniyor, `idleCompaction: false` ile kapanır.

**Question:** İsteğin başına yakın bir şeyi değiştirmek, sonuna yakın bir şeyi değiştirmekten neden daha pahalıdır?

- Baş daha yüksek ücretle faturalanır
- Cache tam önek eşler, bu yüzden değişiklikten sonraki her şey yeniden hesaplanır
- Son kısım hiç cache'lenmez
- Model başı iki kez okur

**Answer:** Cache tam önek eşler, bu yüzden değişiklikten sonraki her şey yeniden hesaplanır. Önek cache'i yalnızca baştan itibaren aynı olan kısmı yeniden kullanabilir. Erken bir şeyi değiştirirseniz sonrası artık eşleşmez.


## Cache'i ne bozar

Bunların çoğu iyi sebeplerle yaptığınız şeyler.

- **Model değiştirmek.** Her modelin kendi cache'i var, yani geçiş hepsini geçersiz kılar. CLI yalnızca cache hâlâ sıcakken onay ister.
- **`opusplan`.** Planlamak için bir modeli, uygulamak için başkasını kullanır; yani her plan modu geçişi bir model geçişidir.
- **Çaba (effort) değiştirmek,** çoğu modelde. Opus 5.5, Sonnet 5.5, Haiku 5.5 ve Fable 5.1'de cache korunur.
- **Fast mode'u açmak.** Ayrı bir cache'i var. İlk seferde bütün konuşma cache'siz, fast mode fiyatıyla okunur.
- **Araç listesini değiştirmek,** tool search yoksa. Varsayılan olan tool search açıkken, MCP sunucularının bağlanıp kopması cache'i bozmaz.

Bozmayanlar: plugin skill'leri, komutları, ajanları ve hook'ları konuşmanın arkasına eklenir, bu yüzden hiç geçersiz kılmaz.

> **Bir kez seçin, başta**
Rehberin önerisi kısa. Modeli ve çabayı oturumun başında seçin, iş ortasında değiştirmeyin. Fast mode istiyorsanız onu da başta açın. Bir yoldan vazgeçmek yerine `/rewind` kullanın, çünkü compaction'ın aksine zaten cache'li bir öneke döner.


## Cache'in sessizce başarısız olduğu yerler

İki durum hata vermediği için bilmeye değer.

`cache_control` işaretlerini silip başarı döndüren bir gateway, bütün geçmişinizin her turda cache'siz faturalanmasına yol açar. Ayrıca cache fiilen tek bir makineye ve dizine bağlıdır, çünkü sistem prompt'u hafıza yollarını, açılış mesajı da çalışma dizinini içerir. Aynı dizindeki iki oturum cache paylaşabilir.

```terminal
$ /usage
* "Prompt cache (main)" satırını gösterir: isabet oranı, ıskalar, sıcak ya da soğuk
# Yeni sürümler bir ıskanın olası sebebini söyler.
```

## Uzun bir oturum gerçekte neye mal olur

Belgelenen rakamlar bir ortalama, söz değil. Kurumsal kullanıcılarda ortalama geliştirici başına aktif gün başına yaklaşık 13 USD, ayda 150 ile 250 USD, ve kullanıcıların yüzde 90'ı günde 30 USD'nin altında kalıyor. Agent team'ler, ekip arkadaşları plan modunda çalışırken standart bir oturumun kabaca yedi katı token kullanır.

İnsanların unuttuğu iki maliyet var. Thinking token'ları çıktı olarak faturalanır. Ve bir kısım harcama siz yazmazken olur: oturum özetleri, idle compaction, prompt önerileri (çoğu cache okuması), zamanlanmış döngüler ve hedef kontrolleri.

**Question:** Bir işin ortasındasınız ve fast mode'u denemek istiyorsunuz. Belgelenen bedel nedir?

- Hiçbiri, cache paylaşılır
- Fast mode'un ayrı cache'i var, bu yüzden ilk açışta bütün konuşma cache'siz okunur
- Oturum sıfırdan yeniden başlar
- Yalnızca sonraki prompt etkilenir

**Answer:** Fast mode'un ayrı cache'i var, bu yüzden ilk açışta bütün konuşma cache'siz okunur. Fast mode ayrı bir model değil ama kendi cache'i var. Oturum ortasında açmak, bütün konuşma için bir kez fast mode fiyatıyla ödeme demek.


> **Kendi cache'inize bakın**
Uzun bir çalışmadan sonra `/usage` çalıştırın ve prompt cache satırını bulun. Sonra bilerek bir kez model değiştirin ve tekrar çalıştırın. Aradaki fark dersin kendisi.
