Yeni başlayanlar için AIKılavuz
Prompt önbellekleme nedir? Tekrarlanan bir prompt nasıl yeniden kullanılır
Prompt önbellekleme, bir API'nin isteğinizin değişmeyen başlangıcını yeniden kullanmasını sağlar. Usage alanlarında nasıl göründüğünü ve faturayı nasıl tahmin edeceğinizi görün.

Bu sayfada
Prompt önbelleğleme, API'nin isteğinizin başlangıcını hatırlayıp aynı başlangıcı bir sonraki gönderişinizde yeniden kullanması anlamına gelir. Her çağrıda tam metni yine gönderirsiniz, ancak sağlayıcı tekrar eden kısmı yeniden okuma işini atlayabilir ve bazı sağlayıcılar bu kısmı daha düşük bir ücretle faturalandırır. Yalnızca isteğin başlangıcında çalışır ve yalnızca bu başlangıç birebir aynıysa.
Aynı sayfayı tekrar tekrar okuyan destek botu#
Diyelim ki günde 2.000 bilet işleyen bir destek botunuz var. Her istek aynı 3.000 token ile başlıyor: üslup, iade kuralları, kargo politikası. Ardından tek satırlık müşteri mesajı geliyor, "Siparişim nerede?" gibi. (Tokenlar hâlâ belirsizse, token nedir ile başlayın.)
Önbellekleme olmadan sağlayıcı, 1 numaralı bilet, 2 numaralı bilet ve 2.000 numaralı bilet için 3.000 tokenlık kuralların tamamını yeniden okur. Aynı sayfa, 2.000 kez okunur. Önbellekleme ile ilk istek okumanın tam ücretini öder ve aynı metinle başlayan sonraki istekler bu işi yeniden kullanabilir.

DeepSeek'in API kılavuzu (24 Ekim 2026'da kontrol edildi) tam olarak bunu açıklar: bağlam önbellekleme varsayılan olarak açıktır, kod değişikliği gerektirmez ve örtüşen bir öneke sahip sonraki bir istek "önbellek isabeti" sayılır. Yalnızca girdi önbelleğe alınır. Yanıt her seferinde yeniden üretilir.
Neyin "aynı" sayıldığı: önek kuralı#
Önbellek ilk karakterden itibaren eşleşir. İsteğiniz önbelleğe alınandan farklılaştığı anda, o noktadan sonraki her şey yenidir. Bu yüzden isteğinizin sırası uzunluğundan daha önemlidir.
İşte önbellekleme özelliğini sessizce öldüren hata. Bir geliştirici botun saati bilmesini ister ve saati en başa koyar:
Current time: 14:03:22
You are a support assistant for a shop...
(3,000 tokens of rules)Saat her saniye değişir, bu yüzden en ilk satır her istekte farklıdır ve ondan sonraki hiçbir şey eşleşemez. Çözüm, değişen her şeyi sona taşımaktır:
You are a support assistant for a shop...
(3,000 tokens of rules)
Current time: 14:03:22
Customer: Where is my order?Artık 3.000 tokenlık kurallar önce gelir ve aynı kalır. Aynı mantık diğer iki yaygın durumu da kapsar: uzun bir sohbet her turda tüm geçmişini yeniden gönderir, böylece eski mesajlar hazır bir tekrar eden başlangıç oluşturur (bu konuda daha fazlası uzun bir sohbet neden daha pahalıdır yazısında) ve bir ajan her adımda araç tanımlarını ve talimatlarını tekrarlar.
Önbellekleme ayrıca en iyi çaba esasına dayanır. DeepSeek, önbelleğin oluşturulmasının birkaç saniye sürdüğünü, bir isabetin mevcut bir önbellek önek biriminin tam eşleşmesini gerektirdiğini, garantili bir isabet oranı olmadığını ve kullanılmayan önbelleklerin genellikle saatler ila günler içinde temizlendiğini söyler. Yani ilkinden yarım saniye sonra gönderilen ikinci bir istek henüz isabet etmeyebilir ve isabet tüm önekinizden daha azını kapsayabilir.
Nasıl görülür: usage içindeki önbellek alanları#
İşe yarayıp yaramadığını tahmin etmek zorunda değilsiniz. Her sağlayıcı bunu yanıtın usage kısmında kendi alan adlarıyla bildirir.
DeepSeek iki alan kullanır:
prompt_— önbellekte bulunan girdi tokenlarıcache_ hit_ tokens prompt_— bulunmayan girdi tokenlarıcache_ miss_ tokens
Diyelim ki ilk destek biletiniz prompt_ ve prompt_ ile döndü ve bir dakika sonraki bir bilet prompt_ ve prompt_ gösteriyor. 3.000 tokenlık kurallar yeniden kullanıldı; yalnızca yeni müşteri mesajı ve birkaç token sıfırdan okundu. İsabet sayısı her çağrıda sıfırda kalıyorsa isteğinizin başlangıcına bakın: orada bir şey değişiyor.
Anthropic farklı çalışır, çünkü neyin önbelleğe alınacağını siz işaretlersiniz. İsteğe veya bir içerik bloğuna ephemeral türünde cache_control eklersiniz:
{
"model": "your-model-id",
"max_tokens": 300,
"system": [
{
"type": "text",
"text": "You are a support assistant... (long rules)",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [{"role": "user", "content": "Where is my order?"}]
}Anthropic'in prompt önbellekleme belgelerine göre (24 Ekim 2026'da kontrol edildi), yanıt üç sayı bildirir: cache_ (şimdi önbelleğe yazılan), cache_ (önbellekten okunan) ve input_tokens (son önbellek kesme noktasından sonra gelen). Diyelim ki ilk çağrı cache_, cache_ gösteriyor; ikincisi 0 ve 10000 gösteriyor. Bu, bir önbellek yazımını takip eden bir önbellek okumasıdır.
Ekranda bir tuzak var. Modelin minimumundan (modele bağlı olarak 512, 1.024 veya 4.096 token) kısa promptlar önbellekleme olmadan ve hata vermeden işlenir. Her iki önbellek alanında da sıfırlar görürsünüz ve hiçbir uyarı almazsınız. Varsayılan ömür 5 dakikadır ve her kullanımda ücretsiz olarak yenilenir; isteğe bağlı 1h değerinde bir ttl bunu daha uzun tutar.
Faturanıza etkisi#
Önbellekleme tekrar eden kısmın fiyatını değiştirir, bu yüzden bir kez hesaplamaya değer. Anthropic temel girdi fiyatı üzerinden çarpanlar listeler: 5 dakikalık ömürle bir önbellek yazımı 1,25×, bir okuma 0,1× (Opus 5.5 ve Sonnet 5.5 için 0,05×) maliyetindedir. 5 dakikalık pencere içinde 20 istekte yeniden kullanılan 10.000 tokenlık bir önek alın, standart 0,1× okuma ile:
Önbellekleme olmadan temel fiyattan 10.000 × 20 = 200.000 token
Önbelleği yazan ilk istek için 10.000 × 1,25 = 12.500
Onu okuyan 19 istek için 19 × 10.000 × 0,1 = 19.000
Önbellekleme ile 12.500 + 19.000 = 31.500 token eşdeğeri
Yani tekrar eden kısım, önbelleksiz tutarın beşte birinin çok altında maliyetlidir. İşin püf noktası: istekler arasında 5 dakika geçerse, bir sonraki istek önbelleği 1,25× ile yeniden yazar ve nadiren kullanılan bir önek hiç önbellekleme yapılmamasından daha pahalıya gelebilir.
Şimdi başlangıçtaki botu düz tam fiyatlı bir temel olarak ele alalım. Günde 2.000 istek, her biri 3.000 girdi tokenı ve yaklaşık 300 çıktı tokenı:
Günde 2.000 × 3.000 = 6.000.000 girdi tokenı
Günde 2.000 × 300 = 600.000 çıktı tokenı
Tablo, o günün iş yükünü OpenRouter'ın yanında mevcut her CheapTokens modelinde fiyatlandırır:
| Model | Giriş $/1M | Çıkış $/1M | İstek başına | 2.000 istek | OpenRouter, 2.000 istek |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.000072 | $0.144 | $0.293 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000075 | $0.15 | $0.379 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0002 | $0.39 | $2.52 |
İstek başına 3.000 giriş ve 300 çıkış token'ı. 1M token başına fiyatlar günceldir ve tarifelerimizle birlikte değişir; OpenRouter sütunu aynı iş yükü için referans fiyatları gösterir.
DeepSeek-V4-Flash, girdi ve çıktı birlikte sayıldığında toplamda OpenRouter'dan daha ucuzdur ve iş yükü rahatça sığar: 380K bağlam ve yanıt başına 32.768'e kadar çıktı tokenı. Bu, iş yükünün tam fiyatlı maliyetidir: girdi tokenları × token başına fiyat. Girdi payının en büyük olduğu yer uzun ve sabit bir önektir.
Beş dakikada kendiniz deneyin#
Plan: aynı uzun sistem promptunu farklı sorularla iki kez gönderin ve usage değerine bakın. Kendi kural metninizi support_ içine koyun (bir iki sayfa metin yeterlidir). Uç nokta, OpenAI uyumlu CheapTokens API'dir ve anahtarı hesabınızdan alabilirsiniz.
from openai import OpenAI
client = OpenAI(base_url='https://api.cheaptokens.dev/v1', api_key='YOUR_API_KEY')
SYSTEM = open('support_rules.txt').read() # long, never changes
for question in ['Where is my order?', 'Can I change the address?']:
r = client.chat.completions.create(
model='deepseek-ai/DeepSeek-V4-Flash-0731',
messages=[
{'role': 'system', 'content': SYSTEM},
{'role': 'user', 'content': question},
],
max_tokens=300,
)
print(r.usage)Çıktıda kontrol edilecekler: prompt_tokens isteğinizin ne kadar büyük olduğunu söyler. Her iki istek de aynı SYSTEM metnini taşır, bu yüzden bu sayının çoğu bir istekten diğerine tekrarlanır — kabaca kural dosyanızın boyutu. Bu tekrar eden başlangıç, DeepSeek API veya yukarıdaki Anthropic gibi önbellekleme yapan bir sağlayıcının yeniden kullanabileceği kısımdır. Şimdi sıra üzerine bir alıştırma: SYSTEM'nin en üstüne geçerli saati (datetime.now()) ekleyen bir satır koyun ve tekrar çalıştırın. İki istek artık bir başlangıcı paylaşmaz, çünkü en ilk satırdan itibaren farklıdırlar. Aynı satırı promptun sonuna koyun, paylaşılan başlangıç geri gelir.
Kendi promptlarınız için kısa bir kontrol listesi:
- Önce sabit metin: talimatlar, kurallar, araç tanımları, örnekler.
- En sona değişen metin: tarih, kullanıcı adı, en son mesaj.
- Öneki bayt bayt aynı tutun — fazladan bir boşluk bile sayılır.
- Hiçbir şeyin neden önbelleğe alınmadığını merak etmeden önce sağlayıcının minimum boyutunu kontrol edin.
- Bir değişiklikten sonra usage alanlarına bakın, öncesinde değil.
Kendi iş yükünüzü fiyatlandırmak için fiyatlandırma sayfasını açın ve girdi ile çıktı boyutlarınızı girin veya DeepSeek sayfasından başlayın. İlk istek çalıştığında, aynı tahmin yazdığınız herhangi bir prompt için bir dakika sürer. Bir isteğin iki tarafının maliyeti için girdi ve çıktı tokenları yazısına bakın.



