Modül 7 · Features of Claude · ⏱ 7 dakika

Prompt caching kuralları

Rules of prompt caching

Orijinal İngilizce video — Anthropic Academy / JWPlayer. Aşağıdaki Türkçe metin dersi birebir özetler.

Bu modül için tahmini süre: 7 dakika

Genel bakış

Prompt caching otomatik etkin değildir — cache_control breakpoint’lerini manuel olarak eklemen gerekir. Bu derste cache breakpoint’lerinin nasıl çalıştığını, cross-message caching’i, system prompt + tool caching’i, sıralamayı ve minimum content uzunluğunu öğreneceksin.

Claude’da prompt caching, mesajlarında yapılan computational work’ü saklayarak follow-up request’lerde yeniden kullanılabilir hale getirir. Bu, sonraki request’leri hem daha hızlı hem de daha ucuz çalıştırır — ama yalnızca aynı içeriği tekrar tekrar gönderdiğinde.

Süreç basittir: ilk request’in cache’e processing work yazar, follow-up request’ler aynı içeriği yeniden işlemek yerine cache’ten okuyabilir. Cache bir saat yaşar, bu yüzden bu feature yalnızca o zaman dilimi içinde aynı içeriği tekrar tekrar gönderiyorsan faydalıdır.

Cache breakpoint’leri

Caching otomatik etkinleştirilmez — mesajlarındaki spesifik block’lara manuel olarak cache breakpoint eklemen gerekir. Şöyle çalışır:

  • Mesajlarda yapılan iş otomatik cache’lenmez
  • Bir block’a manuel olarak ‘cache breakpoint’ eklemelisin
  • Breakpoint’ten önceki her şey için yapılan iş cache’lenir
  • Cache, yalnızca breakpoint dahil olmak üzere içerik aynıysa follow-up request’lerde kullanılır

Cache breakpoint eklemek için, text block’larını yazmanın shorthand yerine longhand formunu kullanman gerekir:

Shorthand form, cache control alanı ekleyecek yer sunmaz; bu yüzden cache_control alanı {"type": "ephemeral"} olarak ayarlanmış expanded format’ı kullanmalısın.

Cache breakpoint’leri nasıl çalışır

Bir mesaja cache breakpoint koyduğunda, Claude o breakpoint dahil tüm processing work’ü cache’ler. Breakpoint’ten sonraki içerik caching olmadan normal şekilde işlenir.

Cache’in follow-up request’lerde faydalı olması için içerik breakpoint’e kadar aynı olmalıdır. “Please” kelimesini eklemek gibi küçük değişiklikler bile cache’i invalidate eder ve Claude’u her şeyi yeniden işlemeye zorlar.

Cross-message caching

Cache breakpoint’leri birden fazla mesajı ve mesaj türünü kapsayabilir. Sonraki bir mesaja breakpoint koyarsan, tüm önceki mesajlar (user, assistant, vb.) cache’lenen içeriğe dahil edilir.

Bu, belirli bir noktaya kadar tüm context’i cache’lemek istediğin conversation’larda özellikle faydalıdır.

System prompt’lar ve tool’lar

Yalnızca text block’larla sınırlı değilsin — cache breakpoint’leri şunlara eklenebilir:

  • System prompt’lar
  • Tool tanımları
  • Image block’lar
  • Tool use ve tool result block’ları

System prompt’lar ve tool tanımları caching için mükemmel adaylardır çünkü request’ler arasında nadiren değişirler. Prompt caching’den en çok faydayı genellikle buradan alırsın.

Cache sıralaması

Arka planda Claude, request bileşenlerini belirli bir sırada işler: önce tool’lar, sonra system prompt, sonra mesajlar. Bu sırayı anlamak breakpoint’leri etkili yerleştirmene yardım eder.

Toplam dört adede kadar cache breakpoint ekleyebilirsin. Örneğin, tool’larını cache’leyebilir, sonra conversation history’nin ortasında başka bir breakpoint ekleyebilirsin. Bu, request’in farklı bölümleri değiştiğinde neyin cache’leneceği konusunda esneklik sağlar.

Minimum content uzunluğu

Caching için minimum bir eşik vardır: içerik cache’lenebilmek için en az 1024 token uzunluğunda olmalıdır. Bu, cache’lemeye çalıştığın tüm mesajların ve block’ların toplamıdır, tek tek block’ların değil.

Basit bir “Hi there!” mesajı bu eşiği karşılamaz, ama o içeriği 500 kez tekrar edersen (veya gerçekten uzun bir prompt’un varsa), 1024 token’ı aşar ve caching’e uygun hale gelir.

Etkili prompt caching’in anahtarı, request’lerinin hangi bölümlerinin birden fazla çağrı boyunca tutarlı kaldığını belirlemek ve cache invalidation’ı en aza indirirken yeniden kullanımı maksimize etmek için breakpoint’leri stratejik olarak yerleştirmektir.

Temel çıkarımlar

  • Cache otomatik değildir; cache_control: {"type": "ephemeral"} ile breakpoint manuel eklenir
  • Breakpoint’ten önceki tüm içerik cache’lenir; bir karakter değişikliği bile cache’i invalidate eder
  • Breakpoint’ler text, system prompt, tool, image ve tool result block’larına eklenebilir
  • Claude işleme sırası: tools → system → messages; breakpoint’i buna göre planla
  • En fazla 4 breakpoint kullanılabilir; minimum 1024 token içerik şartı vardır