diffox
Blog

Prompt caching nedir? İsabet oranını artırmanın 8 kuralı

Prompt caching, tekrarlanan ön eki önbellekten okur. Dört sağlayıcıda nasıl açıldığını, ne kadar sıcak kaldığını ve isabeti nasıl artıracağınızı anlatıyoruz.

PaylaşXLinkedIn

Özet. Prompt caching (istem önbelleği), bir isteğin başındaki değişmeyen kısmı, yani ön eki, bir kez işler; aynı ön ekle başlayan sonraki istekler bu kısmı önbellekten okur. Anthropic, OpenAI, Google ve Amazon Bedrock’un kurallarını 15 Ekim 2026 günü her birinin kendi belgesinden okuduk; Claude Code’un önbelleği nasıl tuttuğuna da onun belgesinden baktık.

  • Önbelleğe yanıt değil, ön ek alınır. Model her seferinde yeni bir yanıt üretir; tek fark, ön eki yeniden işlememesidir. Eski bir yanıtı olduğu gibi döndüren semantic caching ise başka bir tekniktir.
  • Önbellekten okumak, çoğu modelde temel girdi fiyatının onda birine gelir. Anthropic’in 5 dakikalık önbelleğinde yazmak bu fiyatın 1,25 katı tutar, OpenAI’ın yeni modellerinde de öyle. İki istek önbelleksiz temel fiyatın 2 katı tutarken önbellekle 1,25 + 0,1 = 1,35 katı tutar; yani önbellek ilk okumada kendini amorti eder.
  • Önbellek ancak sıcakken işe yarar. Sağlayıcıya ve ayara göre bu süre dakikalardan saatlere kadar değişir; Anthropic, OpenAI ve Bedrock’ta her isabet süreyi sıfırlar.
  • İsabet için ön ek değişmemeli. Sabit içeriği başa, değişeni sona koyun; ön ekte tek bir zaman damgası olsa bile her istek önbelleğe baştan yazar.

Prompt caching neyi saklar?

4sağlayıcı: Anthropic, OpenAI, Google, Bedrock
0,1×önbellekten okuma, çoğu modelde
8isabeti artıran kural

Bir dil modeli istekler arasında hiçbir şey hatırlamaz. Aynı sistem talimatını, aynı belgeyi ya da aynı kod bağlamını yüz kez gönderirseniz model onu yüz kez işler, siz de yüz kez ödersiniz. Prompt caching (istem önbelleği) bunu değiştirir: sağlayıcı, isteğin başındaki değişmeyen kısmı bir kez işleyip saklar; aynı şekilde başlayan sonraki istekler bu kısmı önbellekten okur.

Saklanan şey metnin kendisi değil, modelin o metni işlerken hesapladığı ara durumlardır; bunu bir sonraki bölümde açıyoruz. Bu yüzden eşleşmenin tam olması gerekir: ön ek bayt bayt aynı değilse önbellekten okunamaz.

Üç kavram sık karıştırılıyor:

KV cache, prompt caching ve semantic caching: neyi sakladıkları ve yanıtı nasıl etkiledikleri
KavramNe saklarNerede çalışırYanıt
KV cacheBir isteğin token’ları için hesaplanan ara durumlarModelin içinde, tek bir yanıt boyuncaHer yanıt yeniden üretilir
Prompt caching (prefix caching)Ortak ön ekin ara durumları, istekler arasındaSağlayıcının API’sinde ya da vLLM gibi bir sunucudaYeniden üretilir; önbellek çıktıyı değiştirmez
Semantic cachingÖnceki yanıtlar, sorunun anlamına göreUygulamanın kendi katmanında, GPTCache gibiEski yanıt döner; yanlış eşleşme olabilir

Kaynak: OpenAI’ın, Anthropic’in, vLLM’in ve GPTCache’in belgeleri, 15 Ekim 2026.

Bunu biz her gün yaşıyoruz: diffox bir pull request’i incelerken birçok uzman ajan aynı bağlamı ayrı çağrılarla okur (nasıl çalıştığını ayrı bir yazıda anlattık).

Önbellek nasıl çalışır?

Bir dil modeli yanıt üretmeye başlamadan önce girdinin tamamını okur; bu aşamaya ön doldurma (prefill) denir. Model bu sırada her token için anahtar (key) ve değer (value) adında ara durumlar hesaplar. OpenAI’ın belgesi bunlara KV durumları der: model yanıtı üretirken önceki token’lara bu durumlar üzerinden geri bakar. Prompt caching’in sakladığı da bunlardır: metnin kendisi değil, modelin metni işlerken hesapladığı tensörler.

Önbellek ilk farklı bloğa kadar işe yarar. 1. istek: talimat + belge + soru A. Baştan işlenen: Hepsi. Ön ek önbelleğe yazılır. 2. istek: talimat + belge + soru B. Baştan işlenen: Yalnız soru B. Talimat ve belge önbellekten okunur. 3. istek: tarih + talimat + belge…. Baştan işlenen: Hepsi. Başa eklenen tarih eşleşmeyi bozar. Örnek: aynı belgeyi okuyan üç istek.
Örnek; blok adları temsilidir. Eşleşme kuralı vLLM’in tasarım belgesinden, 15 Ekim 2026.

Kazanç da buradan gelir. Ön ek önbellekteyse model o kısmın hesabını atlar ve yalnızca yeni token’ları işler. vLLM’in belgesi kazancın nerede bittiğini de söyler: önbellek girdiyi işleme süresini kısaltır, yeni token üretmeyi hızlandırmaz. Bu yüzden önbellekten en çok, ön eki uzun ve yanıtı kısa olan işler kazanır. Prompt Cache makalesi, ilk token’a kadar geçen sürenin GPU’da 8 kata, CPU’da 60 kata kadar kısaldığını ölçtü.

Ön ekin neden bayt bayt aynı olması gerektiği de buradan anlaşılır. vLLM’in tasarım belgesi önbellekteki her bloğu iki şeyle tanımlar: bloğun kendi token’ları ve ondan önceki ön ekin token’ları. Yani aynı cümle, önünde başka bir metin varsa başka bir bloktur. Başa tek bir tarih eklerseniz arkasındaki bütün bloklar yeni blok olur; önbellek ancak değişikliğin olduğu yere kadar işe yarar.

Üstelik bu durumlar küçük değildir. PagedAttention makalesi her isteğin KV cache belleğinin çok büyük olduğunu ve istek boyunca büyüyüp küçüldüğünü yazar. Sağlayıcılar önbelleği bu yüzden dakikalarla sınırlar: Google Cloud’un belgesine göre bellekteki önbellek sınırlıdır ve yer gerektikçe kayıtlar silinir. Anthropic de bu ara durumların yalnızca bellekte tutulduğunu, kalıcı olarak saklanmadığını söyler.

Prompt caching dört sağlayıcıda nasıl açılır, ne kadar kazandırır?

Dört sağlayıcı da önbelleği destekliyor; ama nasıl açıldığı, ön ekin en az ne kadar uzun olması gerektiği ve fiyatı farklı. Tablodaki bilgileri 15 Ekim 2026 günü her sağlayıcının kendi belgesinden okuduk.

Dört sağlayıcıda prompt caching: nasıl açıldığı, en kısa ön ek, yazma ve okuma fiyatı
SağlayıcıNasıl açılırEn kısa ön ekYazmaOkuma
Anthropiccache_control: istekte tek alan ya da bloklara en çok 4 işaret512–4.096 token, modele göre1,25× (5 dk), 2× (1 sa)0,1×; yeni modellerde 0,05× ya da 0,025×
OpenAIVarsayılan olarak açık; GPT-5.6 ve sonrasında elle işaret de konabilir1.024 token (GPT-5.6 ve sonrası)1,25× (GPT-5.6 ve sonrası); öncekilerde ek ücret yok0,1×, çoğu GPT-5.6+ modelinde
Google GeminiÖrtük önbellek 2.5 ve sonrasında açık; açık önbellek cachedContents ile2.048–4.096 token, modele göreStandart girdi fiyatı; açık önbellekte saatlik saklama ücretiModele göre; Google Cloud’da %90 indirim
Amazon BedrockÖrtük önbellek (garantisiz) ve cachePoint işareti512–4.096 token, modele göreModele göre; standart girdiden yüksek olabilirModelin önbellek okuma fiyatı

Kaynak: sağlayıcıların belgeleri, 15 Ekim 2026. Çarpanlar önbelleksiz girdi fiyatına göredir. Google Cloud satırı Gemini 2.5 ve sonrası içindir.

Anthropic’te ve OpenAI’ın GPT-5.6 sonrası modellerinde önbelleğe yazmak, aynı token’ı önbelleksiz göndermekten pahalıdır, okumak çok daha ucuzdur. Bu yüzden yazmanın 1,25 kat olduğu önbellek ilk okumada, Anthropic’in yazması 2 kat olan 1 saatlik önbelleği ise ikinci okumada kendini amorti eder. Gemini’nin açık önbelleğinde yazma standart fiyattır, ama önbelleğin durduğu her saat için saklama ücreti ödenir; kârlı olup olmadığı, kaç kez okunduğuna ve ne kadar süre tutulduğuna bağlıdır.

Claude API’de birçok çağrı aynı bağlamı okuyorsa işaret ortak bloğa konur, çağrıya özel talimat onun arkasından gelir. ephemeral şu an desteklenen tek önbellek türüdür; örnekteki model adını belgenin kendi örneğinden aldık:

{
  "model": "claude-opus-5-5",
  "max_tokens": 1024,
  "system": [
    {
      "type": "text",
      "text": "<ortak bağlam: her çağrıda aynı metin>",
      "cache_control": {"type": "ephemeral"}
    },
    {
      "type": "text",
      "text": "<bu çağrıya özel talimat>"
    }
  ],
  "messages": [
    {"role": "user", "content": "<bu çağrının sorusu>"}
  ]
}

Önbellek ne kadar süre sıcak kalır?

Önbellekteki bir kayıt sonsuza kadar kalmaz. Claude Code’un belgesi durumu iki kelimeyle anlatır: kayıt süresi içindeyse önbellek sıcaktır (warm), süresi dolmuşsa soğuktur (cold). Sıcak önbellekte sonraki istek ön eki ucuza okur; soğuk önbellekte ön eki baştan işler ve yazma ücreti öder.

Önbelleğin sıcak kaldığı süre ve isabetin süreyi yenileyip yenilemediği, sağlayıcıya göre
SağlayıcıVarsayılan süreUzun seçenekİsabet süreyi yeniler mi
Anthropic5 dakika1 saat ("ttl": "1h", yazma 2×)Evet, ücretsiz
OpenAI, GPT-5.6 ve sonrasıEn az 30 dakikaYok; tek değer 30mEvet, yeni yazma ücreti olmadan
OpenAI, önceki modeller24h; sıfır veri saklama (ZDR) açık kuruluşlarda in_memory: çoğunlukla 5–10 dakika, en çok 1 saat24h: çoğunlukla 30 dakika, en çok 24 saatBelgede yazmıyor
Google GeminiAçık önbellekte 1 saatttl ya da expire_time ile istediğiniz süreBelgede yazmıyor; süre elle uzatılır
Amazon Bedrock5 dakika1 saat, destekleyen modellerdeEvet

Kaynak: sağlayıcıların belgeleri, 15 Ekim 2026. Gemini’nin örtük önbelleğinin süresi belgede yazmıyor; Google Cloud’da en çok 24 saattir ve kayıtların çoğu daha önce silinir.

Bu süreyi bir sayaç gibi düşünün; iki ayrıntı önemli. Anthropic’te sayaç, yanıtın bittiği andan değil, isteğin başladığı andan itibaren işler: yanıtın gelmesi 4 dakika sürdüyse, aynı ön eki okuyacak sonraki istek yaklaşık 1 dakika içinde başlamalıdır. Anthropic, OpenAI ve Bedrock’ta ise her isabet sayacı sıfırlar; bu yüzden düzenli gelen trafik önbelleği kendiliğinden sıcak tutar.

Çoğu sağlayıcıda, önbelleğin hâlâ sıcak olup olmadığını söyleyen bir endpoint yok. İstisna Gemini’nin açık önbelleğidir: cachedContents.get her zaman bitiş zamanını (expireTime) döndürür, içeriği döndürmez. Anthropic, OpenAI ve Bedrock’ta bunu ancak bir sonraki yanıttan anlarsınız: önbellekten okunan token sayısı sıfıra düştüyse ya ön ek değişmiştir ya da kayıt soğumuştur. Anthropic’in cache diagnostics aracı ikisini birbirinden ayırır: istekler aynıysa ve okuma sıfırsa kaydın süresi dolmuştur.

Claude Code’da süre, nasıl ödediğinize bağlıdır. Belgeye göre Claude aboneliğinde, planınıza dahil kullanımın içindeyken ana konuşma 1 saatlik önbellek kullanır. Kullanım kredisine geçtiğinizde, API anahtarı kullandığınızda ya da bir bulut sağlayıcısı üzerinden bağlandığınızda bu süre 5 dakikadır. Subagent’larda süre abonelikte de 5 dakikadır. Süreyi promptCacheTtl ayarıyla ya da CLAUDE_CODE_PROMPT_CACHE_TTL değişkeniyle değiştirebilirsiniz.

Önbelleğin durumunu üç yerden görebilirsiniz. /usage önbelleğin sıcak mı soğuk mu olduğunu geçerli süreyle birlikte yazar. Durum satırına (status line) gelen JSON’daki prompt_cache nesnesinde warm, ttl ve expires_at alanları bulunur; sonuncusu önbelleğin soğuyacağı anı verir. VS Code eklentisindeki önbellek saati de 5 dakikadan ya da 1 saatten geriye doğru sayar ve kalan dakikayı gösterir; 1 saatlik önbellekte sayaç 60 dakikadan başlar.

Dikkat etmeniz gereken üç şey var:

  • İstekler arasındaki boşluk süreyi aşmamalı. Bir istek öncekinden 5 dakikadan uzun süre sonra gelirse ön eki yeniden yazar. Anthropic, ön ek 5 dakikadan sık kullanılıyorsa 5 dakikalık önbellekte kalmayı öneriyor, çünkü yenilenmesi ücretsiz.
  • Uzun süre ücretsiz değildir. Anthropic’te 1 saatlik önbelleğe yazmak 2 kat tutar ve ön ek iki kez okunmadan kendini amorti etmez; Gemini’nin açık önbelleğinde her saat için saklama ücreti ödenir.
  • Uzun bir aradan sonraki ilk istek pahalıdır. Önbellek soğumuşsa ilk istek ön ekin tamamını yeniden yazar. Asıl istek gelmeden önbelleği ısıtabilirsiniz: Anthropic’te max_tokens: 0 ile, OpenAI’ın GPT-5.6 sonrası modellerinde prompt_cache_options.prewarm ile.

On çağrılık bir örnekte ön ek %78,5 daha ucuza gelir

Sayılar yuvarlak ve varsayımsal; amaç yalnızca belgedeki çarpanları göstermek. 50.000 token’lık ortak bir ön eki 10 çağrı okusun. Birim olarak temel girdi fiyatından ücretlenen bir token’ı alıyoruz; yazmayı 1,25×, okumayı 0,1× sayıyoruz. Anthropic’in 5 dakikalık önbelleği ve OpenAI’ın GPT-5.6 sonrası modellerinin çoğu bu çarpanları kullanır.

önbelleksiz    10 × 50.000 × 1      = 500.000

önbellekli      1 × 50.000 × 1,25   =  62.500   ilk çağrı yazar
              + 9 × 50.000 × 0,1    =  45.000   dokuz çağrı okur
                                    = 107.500
Örnek: 50.000 token’lık ortak ön ek, 10 çağrı. Birim: temel girdi fiyatından ücretlenen bir token. Önbelleksiz (10 çağrı, hepsi tam fiyat): 500.000 token; Önce biri, sonra dokuzu (1 yazma + 9 okuma): 107.500 token; Hepsi aynı anda (en kötü durum: 10 yazma): 625.000 token.
Ölçüm değil, örnek hesap: 50.000 token’lık ortak ön eki okuyan 10 çağrının ön ek için ne ödediği, belgedeki çarpanlarla (15 Ekim 2026). Çağrıya özel kısmı ve çıktı token’larını hesaba katmadık.

Sırayla başlatılan on çağrı, ön ek için 107.500 token karşılığı öder; bu, önbelleksiz durumdaki 500.000’den %78,5 daha az. Okuma çarpanı 0,05× olan bir modelde toplam 85.000’e iner. 1 saatlik önbellekte yazma 100.000’e çıkar ve toplam 145.000 olur.

Üçüncü çubuk en kötü durumu gösteriyor: aynı on çağrı aynı anda başlıyor. Hiçbiri diğerinin yazdığını okuyamıyor; her biri ön eki kendisi yazarsa toplam 625.000 oluyor. Bu, önbelleği hiç açmamaktan %25 daha pahalı. Nedenini aşağıda, paralel çağrılar bölümünde anlatıyoruz.

İsabet oranını yüksek tutmanın 8 kuralı

Dört sağlayıcının belgeleri isabet için aynı şeyleri söylüyor. Aşağıdaki kuralların her biri en az iki sağlayıcının belgesinde geçiyor.

İsabeti artıran 8 kural. Her biri en az iki sağlayıcının belgesinde geçiyor. Sabit içeriği başa, değişeni sona koyun: İşaret, sabit kısmın son bloğuna konur. Ön eke zaman damgası koymayın: Tarih, istek kimliği ve kullanıcıya özel veri de buna dahil. Araçları sabit tutun: Ad, şema ve sıra aynı kalsın; aracı silmeyin, kapatın. Modeli ve ayarları değiştirmeyin: Konuşmanın ortasında değil, başında seçin. Geçmişi yeniden yazmayın: Yeni mesajı sona ekleyin; özetleme önbelleği sıfırlar. Önbelleği sıcak tutun: Aynı ön eki süre dolmadan, düzenli gönderin. En kısa uzunluğa ulaşın: Altında kalan ön ek sessizce önbelleğe girmez. İsabeti ölçün: Önbellekten okunan / toplam girdi.
Kaynak: Anthropic’in, OpenAI’ın, Google’ın ve Amazon Bedrock’un belgeleri ile Claude Code’un belgesi ve sürüm notları, 15 Ekim 2026.

En sık atlanan kural ikincisi. Claude Code’un sürüm notlarındaki bir satır bunun neden önemli olduğunu gösteriyor: tarihi sistem prompt’undan çıkarmak isabet oranını artırdı. Tarih her gün değişir ve ön ekin başında durursa her yeni günün ilk isteği ön ekin tamamını yeniden yazar.

İki kural ise tek bir sağlayıcıya özgü. OpenAI’ın GPT-5.6 öncesi modellerinde, aynı ön eki paylaşan isteklere sabit bir prompt_cache_key verirsiniz. Bu anahtar istekleri aynı önbelleğe yönlendirmeye yardım eder; belge anahtar başına dakikada yaklaşık 15 istek öneriyor. Anthropic ise araç çağrılarındaki JSON anahtarlarının hep aynı sırada gelmesini istiyor. Belgeye göre Swift ve Go gibi bazı diller anahtarları rastgele sıralıyor ve aynı içerik farklı baytlarla gidiyor.

Önbelleği hangi değişiklikler bozar?

Anthropic’te ve Bedrock’ta önbellek bir hiyerarşi izler: tools, system, messages. Bir düzeydeki değişiklik o düzeyi ve arkasındaki bütün düzeyleri geçersiz kılar. Anthropic’in belgesinde sayılan durumlardan altısı:

Önbelleği bozan altı durum. Değişiklik ne kadar öndeyse kayıp o kadar büyük. tools Araç tanımı değişti: Önbelleğin tamamı gider. system Web araması açıldı: system ve messages gider. messages tool_choice değişti: Yalnızca messages gider. breakpoint İşaret değişen bir blokta: Her istek yazar, hiçbiri okumaz. ttl Süre doldu: Sonraki istek yeniden yazar. uzunluk Ön ek çok kısa: Sessizce önbelleğe girmez.
Kaynak: Anthropic’in prompt caching belgesi, 15 Ekim 2026. İlk üç kart “What invalidates the cache” tablosundan.

Alıntı (citations) özelliğini açıp kapatmak web aramasıyla aynı etkiyi yapar; prompt’a görsel ekleyip çıkarmak ise tool_choice ile aynı. Belgenin “yaygın hata” dediği durum dördüncü kartta: breakpoint, zaman damgası ya da kullanıcının mesajını içeren bir bloktaysa her istek yeni bir kayıt yazar ve hiçbiri okuyamaz. Sistem geriye doğru en çok 20 bloğa bakar; ama aradığı şey değişmemiş içerik değil, önceki bir isteğin yazdığı kayıttır. Önbelleğe yalnızca breakpoint’te yazılır. Bu yüzden işaret, istekler arasında aynı kalan son bloğa konur.

Paralel çağrılarda önbellek nasıl kullanılır?

Aynı ön eki okuyan çağrıları aynı anda başlatmak doğal görünür. Anthropic’in belgesi bu konuda net: eşzamanlı isteklerde önbellek kaydı ancak ilk yanıt başladıktan sonra kullanılabilir olur; paralel isteklerin önbellekten okumasını istiyorsanız, sonrakileri göndermeden önce ilk yanıtı bekleyin. OpenAI da önbelleğin tek tek makinelerde durduğunu ve dakikada 15’ten fazla isteğin başka makinelere gidebileceğini yazıyor.

On çağrıdan kaçı önbellekten okur?. Başlatma: 10 çağrı birden. Önbellekten okuyan: 0 çağrı. Henüz kayıt yok; her çağrı ön eki baştan işler. Başlatma: 1 çağrı, sonra 9. Önbellekten okuyan: 9 çağrı. İlk yanıt başlayınca kalan dokuzu birlikte gider. Başlatma: max_tokens: 0, sonra 10. Önbellekten okuyan: 10 çağrı. Isıtma isteği yazar, çıktı üretmeden döner. Örnek: aynı ön eki okuyan 10 çağrı. İlk kart en kötü durumdur.
Kaynak: Anthropic’in belgesi, “Cache limitations” ve “Pre-warming the cache” bölümleri, 15 Ekim 2026. Çağrı sayıları örnektir; ilk kart en kötü durumu gösterir.

İlk yanıtın bitmesi gerekmez, başlaması yeter. Belgeler üç yol gösteriyor:

  • İlk çağrıyı tek başına gönderin. Claude Code bunu kendisi yapar: bir iş akışında aynı ön eki paylaşan ajanları birlikte başlatırken, ilk ajanın yanıtı başlayana kadar diğerlerini bekletir. Bekleme varsayılan olarak en çok 5.000 milisaniyedir.
  • Önbelleği önceden ısıtın. max_tokens: 0 ile gönderilen istek breakpoint’te önbelleğe yazar ve çıktı üretmeden döner; çıktı token’ı için ödeme yapmazsınız. İşaret ortak blokta durmalı, düşünme ayarı ve output_config.effort değeri asıl çağrılarla aynı olmalıdır. Bu istek, çıktı gerektiren bir ayarla (örneğin stream: true) birlikte gönderilirse reddedilir.
  • Toplu işte 1 saatlik önbellek kullanın. Batch API’de istekler herhangi bir sırada işlenir ve okuma garanti değildir. Belge, ortak ön eki taşıyan tek bir isteği 1 saatlik önbellekle önce göndermeyi, kalanları da o bitince göndermeyi öneriyor.

İsabet oranı nasıl ölçülür?

Önbelleğin çalıştığını varsaymayın, yanıttan kontrol edin. Dört sağlayıcı da önbellekten okunan token sayısını yanıtın kullanım (usage) bilgisinde ayrı bir alanda verir:

Önbellekten okunan ve önbelleğe yazılan token’ın yanıttaki alanı, sağlayıcıya göre
SağlayıcıÖnbellekten okunanÖnbelleğe yazılan
Anthropiccache_read_input_tokenscache_creation_input_tokens
OpenAIinput_tokens_details.cached_tokens (Chat Completions’ta prompt_tokens_details)input_tokens_details.cache_write_tokens
Google GeminiusageMetadata.cachedContentTokenCountAyrı alan yok
Amazon BedrockcacheReadInputTokenscacheWriteInputTokens

Kaynak: sağlayıcıların belgeleri, 15 Ekim 2026.

İsabet oranı, önbellekten okunan token’ların toplam girdiye oranıdır. OpenAI bunu böyle tanımlıyor ve oranı kullanıcı, çalışma alanı ya da gün bazında toplamayı öneriyor. Burada toplam girdiyi doğru hesaplamak önemli: Anthropic’te ve Bedrock’ta girdi alanı önbelleğe giren token’ları saymaz, toplamı bulmak için üç alanı toplarsınız; Gemini’de promptTokenCount önbellekten okunanları zaten içerir.

ÖRNEK. Üç alanı toplayın. usage: "usage": { /   "input_tokens": 50, /   "cache_creation_input_tokens": 0, /   "cache_read_input_tokens": 100000 / }. Girdi: Son breakpoint’ten sonraki kısım. Yazma: Bu istekte önbelleğe yazılan. Okuma: Önbellekten okunan ön ek.
Değerler belgenin kendi örneğinden: 100.000 token önbellekten okunmuş, 50 token breakpoint’ten sonra gelmiş; toplam girdi 100.050 token.

Toplam girdi üç alanın toplamıdır. input_tokens tek başına girdinin tamamını göstermez, yalnızca son breakpoint’ten sonraki kısmı sayar. Her şey yolundaysa ilk çağrıda yazma alanı ön ekin uzunluğu kadar olur; sonraki çağrılarda aynı sayı okuma alanında görünür. İki alan da sıfırsa prompt önbelleğe alınmamıştır; en olası neden, ön ekin en kısa uzunluğun altında kalmasıdır. Yazma alanı her çağrıda yüksek kalıyorsa ön ekte bir şey değişiyordur.

Biz her çağrının üç alanını ayrı ayrı kaydediyoruz. Kullanım bilgisi gelmeyen bir çağrıyı sıfır değil, ölçülmemiş sayıyoruz; çünkü boşluğa sıfır yazılırsa o çağrı ücretsizmiş gibi görünür.

Önbellek ne zaman kazandırmaz?

Önbellek her iş yükünde işe yaramaz. Açmadan önce şu dört duruma bakın:

  • Ön ek yalnızca bir kez okunuyorsa. Yazma 1,25 kat tutuyorsa ve ön eki okuyan ikinci bir çağrı yoksa %25 fazla ödersiniz.
  • Çağrılar arasındaki boşluk süreden uzunsa. Her çağrı önbelleği soğumuş bulur ve ön eki yeniden yazar.
  • Ön ek en kısa uzunluğun altındaysa. İstek çalışır ama önbellek devreye girmez; hata da almazsınız.
  • Ön ek her istekte değişiyorsa. Başa yazılan bir tarih bile her isteğin önbelleğe baştan yazmasına yol açar.

Kazanç yalnızca paradan ibaret değil: uzun ön eklerde ilk token da daha çabuk gelir. Hız sınırı (rate limit) konusunda sağlayıcılar farklı davranıyor: Anthropic’e ve Bedrock’a göre Claude’da önbellekten okunan token’lar hız sınırına sayılmaz; OpenAI’da ise dakikalık token sınırına sayılır.

diffox’ta bir incelemedeki uzman ajanlar aynı ortak bağlamı okur: değişikliğin diff’ini ve dosya bağlamını. Bu bağlam isteğin başında tek bir blokta durur ve önbellek işareti o bloktadır. İlk çağrı tek başına gider, kalanlar onun ardından paralel başlar. Her çağrının yazdığı ve okuduğu token’ları ayrı ayrı kaydediyoruz.

Sıkça sorulan sorular

Prompt caching nedir?

Prompt caching’de dil modeli API’si, isteğin başındaki değişmeyen kısmı (ön eki) bir kez işler ve saklar; aynı ön ekle başlayan sonraki istekler bu kısmı önbellekten okur. Saklanan şey yanıt değil, modelin ara durumlarıdır (KV cache); model her seferinde yeni bir yanıt üretir. Önbellekten okunan token’lar temel girdi fiyatının küçük bir kısmına ücretlenir ve yanıt daha çabuk başlar.

Prompt caching’de önbellek ne kadar süre kalır?

Sağlayıcıya göre değişir. Anthropic’te varsayılan 5 dakikadır, isterseniz 1 saat seçebilirsiniz. OpenAI’ın GPT-5.6 ve sonrası modellerinde en az 30 dakika, önceki modellerde 24 saate kadar. Gemini’nin açık önbelleğinde varsayılan 1 saattir ve süreyi siz belirlersiniz. Bedrock’ta 5 dakika, destekleyen modellerde 1 saat. Anthropic, OpenAI ve Bedrock’ta her isabet süreyi sıfırlar.

OpenAI’da prompt caching nasıl çalışır?

Desteklenen modellerde varsayılan olarak açıktır. GPT-5.6 ve sonrasında ön ek en az 1.024 token olmalıdır ve önbellek en az 30 dakika kalır. Yazma önbelleksiz girdinin 1,25 katı, okuma çoğu modelde 0,1 katı tutar. Önceki modellerde yazma için ek ücret yoktur; sabit bir prompt_cache_key, aynı ön eki taşıyan istekleri aynı önbelleğe yönlendirmeye yardım eder. İsabeti cached_tokens alanında görürsünüz.

Gemini’de context caching nedir?

Gemini’de iki tür önbellek var. Örtük önbellek 2.5 ve sonrası modellerde varsayılan olarak açıktır ve ayar istemez, ama tasarruf garanti değildir. Açık önbellekte içeriği cachedContents ile bir kez yüklersiniz ve sonraki isteklerde onu kullanırsınız; tasarruf garantilidir, varsayılan süre 1 saattir ve saklama için saat başına ücret ödersiniz. İsabeti cachedContentTokenCount alanında görürsünüz.

Claude Code önbelleği ne kadar süre tutar?

Claude aboneliğinde, planınıza dahil kullanımın içindeyken ana konuşma önbelleği 1 saat, subagent’lar 5 dakika tutar. Kullanım kredisine geçtiğinizde, API anahtarı ya da bir bulut sağlayıcısı kullandığınızda ana konuşmada da süre 5 dakikaya iner. Süreyi promptCacheTtl ayarıyla değiştirebilirsiniz. /usage önbelleğin sıcak mı soğuk mu olduğunu gösterir; VS Code eklentisindeki saat kalan dakikayı sayar.

Prompt caching ile KV cache ve semantic caching arasındaki fark nedir?

KV cache, modelin tek bir yanıt üretirken girdinin ara durumlarını tuttuğu bellektir. Prompt caching bu durumları istekler arasında, ortak bir ön ek için saklar; yanıt her seferinde yeniden üretilir. Semantic caching ise uygulamanın kendi katmanında önceki yanıtları sorunun anlamına göre saklar ve benzer bir soruya eski yanıtı döndürür; yanlış eşleşme olabilir.

diffox prompt caching kullanıyor mu?

Evet. diffox’un uzman ajanları Anthropic’in modellerini kullanır; sağlayıcıların tam listesi gizlilik sayfamızda. Bir incelemede uzman ajanlar aynı ortak bağlamı okur; bu bağlam isteğin başında tek bir blokta durur ve önbellek işareti o bloktadır. İlk çağrı tek başına gider, kalanlar onun ardından paralel başlar.