guides

LLM Prompt Önbellekleme: API Maliyetlerini %90 Düşürün (3 Sağlayıcı)

Yazan Mert Batur
Mar 25, 2026
14 okuma
LLM Prompt Önbellekleme: API Maliyetlerini %90 Düşürün (3 Sağlayıcı)

LLM Prompt Önbellekleme: API Maliyetlerini %90 Düşürün (3 Sağlayıcı)

LLM prompt önbellekleme, daha önce işlenmiş token'ları API çağrıları arasında yeniden kullanmanıza olanak tanır -- giriş maliyetlerini %90'a kadar düşürür ve ilk token'a kadar geçen süreyi %85'e kadar azaltır. Her istekte aynı sistem prompt'unu, araç tanımlarını veya az sayıda örneği gönderiyorsanız, GPU'nun zaten yaptığı iş için tam fiyat ödüyorsunuz demektir.

Bu rehber, aynı sohbet botunun üç SDK'da da uygulandığı OpenAI, Anthropic ve Gemini'yi kapsar -- bunu başka hiçbir rehber yapmaz. Ayrıca Anthropic'in Şubat 2026 otomatik önbellekleme güncellemesini, gerçek dolar tutarlarıyla üretim maliyet senaryolarını ve önbellek isabet oranınızı sessizce mahveden anti-kalıpları da ele alırız.

<!-- IMAGE: KV cache reuse flow diagram showing prompt prefix matching, cache hit path (fast, cheap), and cache miss path (standard processing) -->

Hızlı Özet -- Üç Sağlayıcıya Tek Bakış

Uygulama ayrıntılarına dalmadan önce, işte tam karşılaştırma. Hangi sağlayıcıyı kullandığınızı zaten biliyorsanız, o bölüme atlayın. Değerlendirme aşamasındaysanız, bu tablo size 10 saniyede her şeyi söyler.

ÖzellikOpenAIAnthropicGemini
Önbellekleme TürüOtomatikOtomatik + AçıkÖrtük + Açık
Minimum Token1.0241.024 (çoğu model)1.024 (Flash) / 4.096 (Pro)
TTL5-10 dk (24 saate kadar uzatılabilir)5 dk veya 1 saatYapılandırılabilir (varsayılan 1 saat)
Önbellek Yazma Maliyeti1x (ek ücret yok)1,25x (5 dk) / 2x (1 saat)1x (ek ücret yok)
Önbellek Okuma İndirimiGirişte %50 indirimGirişte %90 indirimGirişte ~%90 indirim
Önbellek İzolasyonuOrganizasyonÇalışma AlanıProje
Akış DesteğiEvetEvetEvet
Önbellek İsabeti Yanıt Alanıcached_tokenscache_read_input_tokenscachedContentTokenCount
Açık KontrolHayırEvet (cache_control)Evet (adlandırılmış önbellek nesneleri)
Son Büyük GüncellemeEki. 2024Şub. 2026 (otomatik önbellekleme)2026 (örtük önbellekleme)

Temel çıkarım: OpenAI en basiti (sıfır yapılandırma, %50 indirim). Anthropic en derin indirimi (%90) en fazla kontrolle sunar. Gemini, yapılandırılabilir TTL ve 2.5+ modellerinde örtük önbellekleme ile Anthropic'e benzer indirimler sunar.

LLM Prompt Önbellekleme Nasıl Çalışır?

Prompt önbelleklemeyi etkili kullanmak için transformer içlerini anlamanız gerekmez. Ancak tek bir kavramı anlamanız gerekir: önek eşleştirme.

KV Önbelleği 60 Saniyede

Bir LLM prompt'unuzu işlediğinde, her token için dikkat durumları (anahtar-değer çiftleri) hesaplar. Bu KV önbelleği girişleri, pahalı kısımdır -- GPU belleğini ve hesaplama süresini tüketirler. Prompt önbellekleme bu hesaplanmış durumları saklar; böylece aynı önekle yapılan bir sonraki istek yeniden hesaplamayı tamamen atlar.

Kritik kelime önek'tir. Önbellek, prompt'unuzun başından itibaren eşleştirir. İlk 2.000 token önbelleğe alınmış bir girişle eşleşiyor ama 2.001. token farklıysa, bu ilk 2.000 token önbellekten sunulur. Ayrışma noktasından sonraki her şey yeniden hesaplanır.

Bu yüzden prompt sıralaması önemlidir. Prompt'larınızı şu şekilde yapılandırın:

  1. Araç tanımları (en statik)
  2. Sistem prompt'u
  3. Statik az sayıda örnek
  4. Alınan bağlam (yarı-dinamik)
  5. Konuşma geçmişi (her turda büyür)
  6. Kullanıcı sorgusu (her zaman farklı)

Önce statik içerik, son olarak dinamik içerik. Önbelleğe alınan önekle eşleşen token ne kadar fazlaysa, tasarruf o kadar büyük olur.

Prompt Önbellekleme vs Anlamsal Önbellekleme vs Yanıt Önbellekleme

Bu üç terim sürekli karıştırılır. Prompt önbellekleme (bu rehberin konusu), özdeş token önekleri için GPU düzeyinde hesaplanmış KV durumlarını yeniden kullanır -- sıfır doğruluk kaybı, önbelleksizle aynı çıktı. Anlamsal önbellekleme, "yeterince benzer" sorgular için daha önce oluşturulan yanıtları döndürmek üzere gömme benzerliğini kullanır -- daha hızlı ama yanlış yanıtlar verebilir. Yanıt önbellekleme tam giriş-çıktı çiftlerini saklar ve önbelleğe alınan yanıtı aynen döndürür -- yalnızca gerçekten özdeş istekler için çalışır.

Prompt önbellekleme tek "ücretsiz optimizasyon"dur -- herhangi bir doğruluk ödünü olmaksızın maliyet ve gecikmeyi azaltır. KV önbelleklemenin arkasındaki derin transformer matematiği için Hugging Face'in teknik açıklaması, T4 GPU'larında ~5,21x hız artışı ölçmüştür.

OpenAI Prompt Önbelleklemeyi Nasıl Yönetir?

OpenAI'nin prompt önbelleklemesi tamamen otomatiktir. Ekim 2024'ten bu yana, 1.024+ giriş token'lı her API çağrısı otomatik olarak önbelleklemeden yararlanır. Katılım gerekmez, başlık gerekmez, kod değişikliği gerekmez.

OpenAI'nin Otomatik Önbelleklemesi Nasıl Çalışır

En az 1.024 token içeren bir istek gönderdiğinizde, OpenAI önekin organizasyonunuzdan yapılan son bir istekle eşleşip eşleşmediğini kontrol eder. Önbellek isabetleri, standart giriş token fiyatının %50'sine mal olur. İlk 1.024 token eşiğinden sonra, önbellek 128 token artışlarla eşleşir.

Önbellek, normal kullanım sırasında 5-10 dakika yaşar ve yoğun olmayan dönemlerde 24 saate kadar devam edebilir. Organizasyon bazında kapsamlandırılmıştır, dolayısıyla aynı organizasyon içindeki farklı projeler paylaşılan önbelleklerden yararlanır.

Desteklenen modeller arasında GPT-4o, GPT-4o-mini, GPT-4.1, o1, o3-mini ve tüm daha yeni modeller yer alır.

OpenAI Python SDK Örneği

python
from openai import OpenAI

client = OpenAI()

# Bu sistem prompt'u ~2.000 token -- 1.024 minimumun çok üzerinde
SYSTEM_PROMPT = """You are a senior Python developer specializing in async programming.
You follow PEP 8, use type hints, and write comprehensive docstrings.
When reviewing code, check for: race conditions, resource leaks, error handling,
and performance bottlenecks. Always suggest specific fixes with code examples.
[... imagine 1,800 more tokens of coding guidelines, examples, and rules ...]"""

def chat(user_message: str) -> str:
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": SYSTEM_PROMPT},
            {"role": "user", "content": user_message},
        ],
    )

    # Önbelleklemenin devreye girip girmediğini kontrol et
    usage = response.usage
    cached = usage.prompt_tokens_details.cached_tokens
    total_input = usage.prompt_tokens
    print(f"Cached: {cached}/{total_input} tokens ({cached/total_input*100:.0f}%)")

    return response.choices[0].message.content

# İlk çağrı: önbellek ıskalama (tam fiyat)
chat("Review this async function for race conditions...")

# 5-10 dk içinde ikinci çağrı: önbellek isabeti (önbelleğe alınan token'larda %50 indirim)
chat("Now optimize the same function for throughput...")

İlk çağrı her şeyi tam fiyatla işler ve önbelleği doldurur. İkinci çağrı, önbelleğe alınan sistem prompt token'larını yarı fiyatla yeniden kullanır. Çıktıda Cached: 1920/2048 tokens (94%) gibi bir şey görürsünüz.

Sonuç: OpenAI başlamak için en kolayı -- sıfır yapılandırma, önbellekleme kendiliğinden gerçekleşir. %50 indirim üç sağlayıcı arasında en düşüğü, ama sadeliğiyle eşi yok.

Anthropic/Claude Prompt Önbelleklemeyi Nasıl Yönetir?

Anthropic iki mod sunar: otomatik önbellekleme (Şubat 2026'dan bu yana varsayılan olarak etkin) ve cache_control kesme noktalarıyla açık önbellekleme. Başlık rakamı göz ardı etmek zor -- önbelleğe alınan okumalar standart giriş fiyatının yalnızca %10'una mal olur, yani %90 indirim.

Otomatik vs Açık Önbellekleme (2026 Güncellemesi)

5 Şubat 2026'dan itibaren Anthropic, uygun tüm prompt'lar için otomatik önbelleklemeyi varsayılan olarak etkinleştirir. Eski beta başlığına artık ihtiyacınız yok. Sistem, optimal önbellek kesme noktalarını otomatik olarak belirler.

Açık önbellekleme, ayrıntılı kontrol istediğinizde hâlâ kullanılabilir. Önbellek sınırının tam olarak nerede olması gerektiğini işaretlemek için belirli içerik bloklarına cache_control: {"type": "ephemeral"} koyarsınız. Bu, prompt'unuzun belirli bir yapısı olduğunda ve belirli bölümlerin önbelleğe alınmasını garanti etmek istediğinizde kullanışlıdır.

İki TTL seçeneği mevcuttur:

  • 5 dakikalık önbellek (varsayılan): yazma maliyeti temel giriş fiyatının 1,25x'i, okuma maliyeti 0,1x. 1 önbellek isaketiyle kendini amorti eder.
  • 1 saatlik önbellek: yazma maliyeti temel giriş fiyatının 2x'i, okuma maliyeti 0,1x. 2 önbellek isabetiyle kendini amorti eder. Claude 4.5+ modellerinde kullanılabilir.

Önbellek izolasyonu, 5 Şubat 2026'da organizasyon düzeyinden çalışma alanı düzeyine değişti. Bu, aynı organizasyon içindeki farklı çalışma alanlarının ayrı önbellekler tuttuğu anlamına gelir.

Anthropic'in önbelleklemesiyle çalışırken, prompt'unuzu optimal önbellekleme için yapılandırmak yardımcı olur -- yazma primi ödediğiniz için statik içeriği dinamik içerikten önce koymak burada daha da önemlidir.

Anthropic Python SDK Örneği

python
import anthropic

client = anthropic.Anthropic()

SYSTEM_PROMPT = """You are a senior Python developer specializing in async programming.
You follow PEP 8, use type hints, and write comprehensive docstrings.
When reviewing code, check for: race conditions, resource leaks, error handling,
and performance bottlenecks. Always suggest specific fixes with code examples.
[... imagine 1,800 more tokens of coding guidelines, examples, and rules ...]"""

def chat(user_message: str) -> str:
    response = client.messages.create(
        model="claude-sonnet-4-5-20250514",
        max_tokens=1024,
        system=[
            {
                "type": "text",
                "text": SYSTEM_PROMPT,
                "cache_control": {"type": "ephemeral"},  # Açık kesme noktası
            }
        ],
        messages=[
            {"role": "user", "content": user_message},
        ],
    )

    # Yanıttan önbellek metriklerini oku
    usage = response.usage
    created = usage.cache_creation_input_tokens
    read = usage.cache_read_input_tokens
    standard = usage.input_tokens
    print(f"Cache write: {created}, Cache read: {read}, Standard: {standard}")

    return response.content[0].text

# İlk çağrı: cache_creation_input_tokens = ~1920 (1,25x'te yazma)
chat("Review this async function for race conditions...")

# İkinci çağrı: cache_read_input_tokens = ~1920 (0,1x'te okuma -- %90 indirim!)
chat("Now optimize the same function for throughput...")

Önbellek Yazma ve Okuma Fiyatlandırmasını Anlamak

İşte Anthropic'in fiyatlandırması ilginçleşiyor. Örnek olarak Claude Sonnet 4.5 (3 $/MTok temel giriş) kullanarak:

  • Standart giriş: Milyon token başına 3,00 $
  • Önbellek yazma (5 dk): Milyon token başına 3,75 $ (1,25x) -- ilk seferde daha fazla ödersiniz
  • Önbellek okuma: Milyon token başına 0,30 $ (0,1x) -- sonraki her isabet için %90 daha ucuz

5 dakikalık önbellek yalnızca 1 okuma sonrasında kendini amorti eder. 1 saatlik önbellek (6,00 $/MTok yazma) 2 okuma sonrasında kendini amorti eder. Aynı önekle dakikada birden fazla istek yapıyorsanız, matematik ezici biçimde sizin lehinize.

Sonuç: Anthropic en derin indirimi (%90) ve en fazla kontrolü sunar. Yüksek hacimli, maliyet hassasiyeti olan iş yükleri için en iyisi.

Google Gemini Prompt Önbelleklemeyi Nasıl Yönetir?

Gemini, iki farklı önbellekleme mekanizmasıyla farklı bir yaklaşım benimser: açık bağlam önbellekleme (oluşturduğunuz ve referans verdiğiniz adlandırılmış önbellek nesneleri) ve örtük önbellekleme (otomatik, sıfır yapılandırma, Gemini 2.5+ modelleri için 2026'da eklendi).

Açık Bağlam Önbellekleme (Adlandırılmış Önbellekler)

Önbelleklemenin şeffaf olduğu OpenAI ve Anthropic'ten farklı olarak, Gemini'nin açık önbelleklemesi önce bir adlandırılmış önbellek nesnesi oluşturmanızı ve ardından onu sonraki isteklerde referans almanızı gerektirir. Minimum token eşiği, Gemini Flash modelleri için 1.024 token, Pro modeller için 4.096 token'dır. TTL yapılandırılabilir -- varsayılan 1 saattir, ancak ihtiyacınıza göre ayarlayabilirsiniz.

Gemini 2.5 Pro'daki önbelleğe alınan token'lar, standart 1,25 $/MTok giriş fiyatına karşılık 0,125 $/MTok olarak fiyatlandırılır -- %90 indirim. Pro için saatte milyon token başına 4,50 $, Flash için 1,00 $ depolama maliyeti de mevcuttur.

Gemini 2.5'te Örtük Önbellekleme (2026)

Gemini 2.5 Pro ve Flash ile başlayarak Google, örtük önbellekleme ekledi -- OpenAI'nin yaklaşımı gibi çalışan otomatik önbellekleme. Yapılandırma gerekmez. Prompt'unuzun başına büyük, ortak içerik koyun ve benzer öneklerle hızlı ardışık istekler gönderin. Sistem, önbelleklemeye uygun içeriği otomatik olarak tespit eder ve tasarrufları aktarır.

Gemini Python SDK Örneği

python
from google import genai
from google.genai import types

client = genai.Client()

SYSTEM_PROMPT = """You are a senior Python developer specializing in async programming.
You follow PEP 8, use type hints, and write comprehensive docstrings.
When reviewing code, check for: race conditions, resource leaks, error handling,
and performance bottlenecks. Always suggest specific fixes with code examples.
[... imagine 1,800 more tokens of coding guidelines, examples, and rules ...]"""

# Adım 1: Adlandırılmış önbellek nesnesi oluştur
cache = client.caches.create(
    model="gemini-2.5-flash",
    config=types.CreateCachedContentConfig(
        display_name="python-review-guidelines",
        system_instruction=SYSTEM_PROMPT,
        ttl="3600s",  # 1 saat
    ),
)

print(f"Cache created: {cache.name}, expires: {cache.expire_time}")

# Adım 2: Önbelleği isteklerde kullan
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="Review this async function for race conditions...",
    config=types.GenerateContentConfig(
        cached_content=cache.name,
    ),
)

# Yanıttaki önbellek kullanımını kontrol et
metadata = response.usage_metadata
print(f"Cached tokens: {metadata.cached_content_token_count}")
print(f"Total input tokens: {metadata.prompt_token_count}")

Açık yaklaşımın büyük bir avantajı vardır: TTL'yi tam olarak kontrol edersiniz. Toplu işinizin 4 saat sürdüğünü biliyorsanız, 4 saatlik TTL ayarlayın ve işleme ortasında önbellek süresinin dolmasını önleyin.

Sonuç: Gemini'nin yapılandırılabilir TTL'si ve iki önbellekleme modu (açık + örtük), onu çok yönlü kılar. Minimum eşik artık diğer sağlayıcılarla karşılaştırılabilir, önbelleğe alınan okumalardaki %90 indirim Anthropic ile aynı.

Yan Yana Kod Karşılaştırması -- Aynı Kullanım Durumu, 3 Sağlayıcı

İşte üç SDK'da da uygulanan, aynı sohbet botu ve önbelleğe alınan sistem prompt'u. Geliştirici deneyimini doğrudan karşılaştırın.

python
# --- OpenAI: Sıfır yapılandırma, sadece API'yi çağır ---
from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": SYSTEM_PROMPT},  # Otomatik önbelleğe alındı
        {"role": "user", "content": user_message},
    ],
)
cached = response.usage.prompt_tokens_details.cached_tokens
python
# --- Anthropic: Açık cache_control kesme noktası ---
import anthropic
client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-5-20250514",
    max_tokens=1024,
    system=[{
        "type": "text",
        "text": SYSTEM_PROMPT,
        "cache_control": {"type": "ephemeral"},  # Önbellek sınırını işaretle
    }],
    messages=[{"role": "user", "content": user_message}],
)
cached = response.usage.cache_read_input_tokens
python
# --- Gemini: Adlandırılmış önbellek nesnesi ---
from google import genai
from google.genai import types

client = genai.Client()
cache = client.caches.create(
    model="gemini-2.5-flash",
    config=types.CreateCachedContentConfig(
        system_instruction=SYSTEM_PROMPT,
        ttl="3600s",
    ),
)
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents=user_message,
    config=types.GenerateContentConfig(cached_content=cache.name),
)
cached = response.usage_metadata.cached_content_token_count
BoyutOpenAIAnthropicGemini
Kurulum KarmaşıklığıYokcache_control bloğu ekleÖnce önbellek nesnesi oluştur
Önbellek KontrolüYalnızca otomatikOtomatik veya açıkÖrtük veya açık
Önbelleğe Alınan Okuma İndirimi%50%90~%90
Minimum Token1.0241.0241.024 (Flash) / 4.096 (Pro)
DX SonucuEn basitEn fazla kontrolEn esnek TTL

Zahmetsiz tasarruf istiyorsanız OpenAI'yi tercih edin. En derin indirimi ve ayrıntılı kontrolü istiyorsanız Anthropic'i seçin. Yapılandırılabilir önbellek ömrüne ihtiyacınız varsa veya zaten Google Cloud'dasanız Gemini'yi alın.

Üretim Maliyet Hesaplayıcısı -- Ölçekte Gerçek Tasarruflar

Soyut yüzdeler kararları yönlendirmez. Dolar tutarları yönlendirir. İşte Claude Sonnet 4.5 (3 $/MTok giriş), GPT-4o (2,50 $/MTok giriş) ve Gemini 2.5 Pro (1,25 $/MTok giriş) kullanarak gerçek maliyet tahminleriyle üç üretim senaryosu.

Fiyatlandırma Mart 2026 itibarıyla doğrulanmıştır. Güncel fiyatlar için Anthropic, OpenAI ve Gemini'yi kontrol edin.

Varsayımlar: %80 önbellek isabet oranı (iyi yapılandırılmış prompt'lar için gerçekçi), önbellekleme yalnızca giriş maliyetlerini etkilediğinden çıkış token'ları hariç tutulmuştur.

SenaryoÖnbelleksiz (Aylık)OpenAI Önbelleği ileAnthropic Önbelleği ileGemini Önbelleği ile
Hobi Sohbet Botu: 100 istek/gün, 2K sistem prompt'uOpenAI: $15 / Anthropic: $18 / Gemini: $7,50$12 ($3 tasarruf)$5,40 ($12,60 tasarruf)$2,25 ($5,25 tasarruf)
Growth API: 10K istek/gün, 8K önbelleğe alınmış önekOpenAI: $600 / Anthropic: $720 / Gemini: $300$360 ($240 tasarruf)$144 ($576 tasarruf)$60 ($240 tasarruf)
Kurumsal Pipeline: 100K istek/gün, 10K önbelleğe alınmış önekOpenAI: $7.500 / Anthropic: $9.000 / Gemini: $3.750$4.500 ($3.000 tasarruf)$1.800 ($7.200 tasarruf)$750 ($3.000 tasarruf)

Growth katmanında, Anthropic önbelleklemesi OpenAI'dan daha yüksek temel fiyata rağmen aylık 576 $ tasarruf sağlar. Kurumsal ölçekte Anthropic ile aylık 7.200 $ tasarrufa bakıyorsunuz -- ya da yıllık 86.400 $. Bu, bir yapılandırma değişikliğiyle elde edilen kıdemli mühendis maaşına eşdeğer.

Örüntü açık: istek hacminiz ne kadar yüksek ve statik önekiniz ne kadar uzunsa, önbellekleme o kadar fazla tasarruf sağlar. Anthropic'in %90 indirimi ölçekte baskındır, ancak Gemini'nin düşük temel fiyatı toplam maliyeti hesaba kattığınızda rekabetçi kalmasını sağlar.

Prompt Önbellekleme Anti-Kalıpları -- Ne Zaman ÖNBELLEKLEME Yapmamalısınız

Önbellekleme, önbellek isabet oranınız gizemli bir şekilde %0'a oturuncaya kadar basit görünür. İşte prompt önbelleklemeyi sessizce bozan hatalar -- ve nasıl düzeltileceği.

Önbelleği Bozan Hatalar (Çözümlerle Birlikte)

Sistem prompt'larında zaman damgaları -- En yaygın hata. Sistem prompt'unuz datetime.now() içeriyorsa, önbellek anahtarı her saniye değişir.

python
# KÖTÜ: Her istekte önbellek ıskalama
system_prompt = f"""You are a helpful assistant.
Current time: {datetime.now().isoformat()}
Always be helpful and accurate."""

# İYİ: Zaman damgasını kullanıcı mesajına taşı
system_prompt = """You are a helpful assistant.
Always be helpful and accurate."""

user_message = f"[Current time: {datetime.now().isoformat()}]\n{user_query}"

Statik içerikten önce kullanıcıya özgü içerik -- Başa session_id veya kullanıcı tercihleri koyarsanız, her kullanıcı benzersiz bir önek alır.

python
# KÖTÜ: Kullanıcı başına benzersiz önek = sıfır önbellek yeniden kullanımı
messages = [
    {"role": "system", "content": f"User ID: {user_id}\nPreferences: {prefs}\n{GUIDELINES}"},
    {"role": "user", "content": query},
]

# İYİ: Önce statik içerik, kullanıcı bağlamı sonda
messages = [
    {"role": "system", "content": GUIDELINES},  # Tüm kullanıcılar için aynı -> önbelleğe alındı
    {"role": "user", "content": f"Context: User {user_id}, prefs: {prefs}\n{query}"},
]
Anti-KalıpÖnbelleği Neden BozarÇözüm
Sistem prompt'unda zaman damgalarıÖnek her saniye değişirZaman damgasını kullanıcı mesajına taşı
Önekte oturum/kullanıcı ID'leriKullanıcı başına benzersiz önekKullanıcı bağlamını statik içerikten sonraya taşı
Dönen az sayıda örnekFarklı örnekler = farklı önekSabit örnek seti kullan
Dinamik araç tanımlarıDeğişen araçlar = önek uyuşmazlığıAraç şemalarını statik tut
Kısa prompt'lar (minimumun altında)Önbellek basitçe tetiklenmez1.024 token'ı aşmak için bağlamı birleştir
Sistem prompt'unda istek başına kişiselleştirmeSistem prompt'u her çağrıda değişirPaylaşılan sistem prompt'u + kullanıcıya özgü mesajlar kullan

Prompt Önbelleklemenin Gerçekten Yardımcı Olmadığı Durumlar

Bazı senaryolar, prompt'larınızı mükemmel şekilde yapılandırsanız bile önbelleklemeden yararlanmaz:

  • Tek kullanımlık prompt'lar: Her istek paylaşılan önek olmaksızın tamamen benzersiz bir bağlama sahipse, önbelleğe alınacak bir şey yoktur.
  • Çok kısa prompt'lar: 1.024 token'ın (OpenAI/Anthropic) veya 4.096 token'ın (Gemini Pro) altında önbellekleme etkinleşmez.
  • Seyrek istekler: İstekler saatler arayla geliyorsa, ikinci istek gelmeden önbelleğin süresi dolar. OpenAI'nin 5-10 dakikalık penceresi ve Anthropic'in 5 dakikalık varsayılan TTL'si, tutarlı trafiğe ihtiyaç duyduğunuz anlamına gelir.

Prompt Önbellekleme Akışla Çalışır mı?

Evet. Prompt önbellekleme ve akış bağımsızdır -- önbellekleme giriş token'larında çalışır, akış çıktı teslimini etkiler. İstek yaşam döngüsünün farklı aşamalarında farklı sorunları çözerler.

Önbellek, ön dolum aşamasını (giriş prompt'unuzun işlenmesi) yönetir. Akış, kod çözme aşamasını (çıktı token'larının artımlı olarak üretilmesi ve gönderilmesi) yönetir. Her iki avantajı da aynı anda elde edersiniz: önbellek isabetiyle daha hızlı ön dolum, artı akışla aşamalı çıktı teslimatı.

İşte önbellekleme etkinken akış örneği:

python
import anthropic

client = anthropic.Anthropic()

with client.messages.stream(
    model="claude-sonnet-4-5-20250514",
    max_tokens=1024,
    system=[{
        "type": "text",
        "text": SYSTEM_PROMPT,
        "cache_control": {"type": "ephemeral"},
    }],
    messages=[{"role": "user", "content": "Explain Python's GIL..."}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

    # Akış tamamlandıktan sonra önbellek metriklerini kontrol et
    usage = stream.get_final_message().usage
    print(f"\nCache read: {usage.cache_read_input_tokens} tokens")

Önbelleklemeden kaynaklanan TTFT iyileştirmesi, akışla aslında en belirgin şekilde fark edilir. Önbelleksiz, ilk token geri akış yapmadan önce tam ön dolumu beklersiniz. Önbellek sayesinde ön dolum neredeyse anlık olur, dolayısıyla token'lar neredeyse hemen akmaya başlar.

Üretimdeki Önbellek İsabet Oranlarını İzleme

Önbelleklemeyi kurmak savaşın yarısıdır. Gerçekten çalışıp çalışmadığını bilmek diğer yarısıdır. Önbellek isabet oranınız %50'nin altına düşerse, prompt yapınızda bir şey değişti ve para kaybediyorsunuz demektir.

Sağlayıcıya Özgü Önbellek Metrikleri

SağlayıcıÖnbellek Okuma AlanıÖnbellek Yazma AlanıToplam Giriş Alanı
OpenAIusage.prompt_tokens_details.cached_tokensYok (otomatik)usage.prompt_tokens
Anthropicusage.cache_read_input_tokensusage.cache_creation_input_tokensusage.input_tokens
GeminiusageMetadata.cachedContentTokenCountYok (açık önbellek nesnesi)usageMetadata.promptTokenCount

Basit Bir Önbellek İsabet Oranı Günlükçüsü

İşte API yanıt alanları aracılığıyla önbellek isabet oranlarını izlemek için herhangi bir projeye ekleyebileceğiniz bir yardımcı fonksiyon:

python
import logging

logger = logging.getLogger("cache_monitor")

def log_cache_metrics(provider: str, usage: dict) -> float:
    """Herhangi bir sağlayıcının yanıtından önbellek metriklerini çıkarır ve günlüğe kaydeder. İsabet oranını döndürür."""

    if provider == "openai":
        cached = getattr(usage.prompt_tokens_details, "cached_tokens", 0)
        total = usage.prompt_tokens
    elif provider == "anthropic":
        cached = usage.cache_read_input_tokens
        created = usage.cache_creation_input_tokens
        total = cached + created + usage.input_tokens
    elif provider == "gemini":
        cached = getattr(usage, "cached_content_token_count", 0)
        total = usage.prompt_token_count
    else:
        raise ValueError(f"Unknown provider: {provider}")

    hit_rate = (cached / total * 100) if total > 0 else 0
    logger.info(f"[{provider}] Cache hit rate: {hit_rate:.1f}% ({cached}/{total} tokens)")

    if hit_rate < 50:
        logger.warning(f"[{provider}] Low cache hit rate! Check prompt structure.")

    return hit_rate

Sağlıklı bir üretim sistemi %70-90 önbellek isabet oranlarını sürdürmelidir. %50'nin altındaysanız, anti-kalıplar bölümünü yeniden inceleyin. Bunu ayrıca prompt pipeline'ınızdaki gerilemeieri yakalamak için otomatik değerlendirme metrikleriyle entegre edebilirsiniz.

Gerçek Dünya Kullanım Durumlarında Prompt Önbellekleme

Yukarıdaki sohbet botu örnekleri mekanizmaları açıklar, ancak prompt önbellekleme gerçekten belirli mimari kalıplarda parlar.

RAG Pipeline'ları

Bir RAG kurulumunda sistem prompt'unuz ve az sayıda örneğiniz tüm sorgular için statiktir. Alınan belgeler her seferinde değişir. Önbelleğe alınan öneği en üst düzeye çıkarmak için prompt'unuzu şu şekilde yapılandırın:

  1. Sistem prompt'u (önbelleğe alındı)
  2. Az sayıda örnek (önbelleğe alındı)
  3. Alınan belgeler (dinamik -- sona gelir)
  4. Kullanıcı sorgusu (her zaman benzersiz)

5.000 token'lık sistem prompt'u ve 3.000 token'lık az sayıda örnekle, her istekte 8.000 token önbelleğe alınır. Anthropic'te günde 1.000 istekle, yalnızca önbelleğe alınan önek üzerinden günde yaklaşık 6,50 $ tasarruf edersiniz. Bağlam bloklarını alıp önbelleğe aldığınızda, alım çıktısının statik önekten sonra geldiğinden emin olun.

Çok Turlu Sohbet Botları

Çok turlu konuşmalar, prompt önbellekleme için ideal bir kullanım durumudur. Her tur konuşma geçmişine eklenir, ancak önceki tüm konuşma önceki turlardan zaten önbelleğe alınmıştır. Önbellek avantajı birikerek büyür -- 10. turda, son kullanıcı mesajından yalnızca 200 taze token ile 15.000 token önbelleğe alınmış geçmişe sahip olabilirsiniz.

Ajantik Sistemler ve MCP Araç Tanımları

Araç kullanımıyla ajanlar oluşturuyorsanız, araç tanımlarınız her API çağrısında tekrarlanan statik JSON şemalarıdır. Tipik bir ajan 20'den fazla araca ve toplamda 3.000-5.000 token tanıma sahip olabilir. Bu, önbellekleme için mükemmel malzemedir.

Bu, sunucu araç tanımlarının her çağrıda gönderildiği MCP tabanlı mimariler için özellikle geçerlidir. Anthropic'in açık cache_control'u ile tools dizisini önbellekleme için işaretleyebilir ve bu token'ların yeniden kullanılmasını garanti edebilirsiniz.

Hangi Sağlayıcıyı Seçmelisiniz?

Şuna İhtiyaç Duyuyorsanız...En İyi SeçimNeden
Sıfır yapılandırma, sadece tasarrufOpenAIOtomatik önbellekleme, kod değişikliği gerekmez
Maksimum maliyet azaltımı (%90)Anthropic0,1x önbelleğe alınan okuma fiyatı, en derin indirim
Ayrıntılı önbellek kontrolüAnthropicAçık kesme noktaları + yapılandırılabilir TTL (5 dk veya 1 saat)
Uzun belge analiziGeminiAçık adlandırılmış önbelleklerle yapılandırılabilir TTL
Çok turlu sohbet sadeliğiOpenAIBüyüyen konuşma geçmişinde otomatik önek eşleştirme
Araç tanımlarıyla ajantik sistemlerAnthropiccache_control ile araç tanımlarını açıkça önbelleğe al
Çok sağlayıcı esnekliğiLiteLLMTüm sağlayıcılar için birleşik önbellekleme sözdizimi

Zaten bir sağlayıcı kullanıyorsanız, oradan başlayın -- prompt önbellekleme geçiş gerektirmez. LiteLLM bir proxy katmanı olarak işlev görür ve birden fazla modele istek yönlendiriyorsanız kullanışlı olan sağlayıcılar genelinde önbellekleme parametrelerini normalleştirir.

SSS -- LLM Prompt Önbellekleme

LLM'lerde prompt önbellekleme nedir?

Prompt önbellekleme, daha önce işlenmiş prompt öneklerinden hesaplanan dikkat durumlarını (KV önbelleği) saklar. Sonraki bir istek aynı token dizisiyle başladığında, sağlayıcı yeniden hesaplamak yerine saklanan bu durumları yeniden kullanır -- çıktı kalitesi üzerinde sıfır etkiyle hem maliyeti hem de gecikmeyi azaltır.

Prompt önbellekleme API maliyetlerinde ne kadar tasarruf sağlar?

Tasarruflar sağlayıcıya bağlı olarak %50 ile %90 arasında değişir. OpenAI, önbelleğe alınan giriş token'larında %50 indirim sunar. Anthropic'te %90'a kadar indirim (temel fiyatın 0,1x'i olarak önbelleğe alınan okumalar) mevcuttur. Gemini, önbelleğe alınan okumalarda yaklaşık %90 indirim sunar. Gerçek tasarruflar önbellek isabet oranınıza, prompt uzunluğuna ve istek sıklığına bağlıdır.

OpenAI prompt önbelleklemesi otomatik olarak mı gerçekleşir?

Evet, Ekim 2024'ten bu yana. 1.024+ giriş token'lı her API çağrısı otomatik olarak önbelleklemeden yararlanır. Katılım, başlık veya kod değişikliği gerekmez. Önbellek, prompt'un başından itibaren token öneklerini eşleştirir.

Prompt önbellekleme ve anlamsal önbellekleme arasındaki fark nedir?

Prompt önbellekleme, GPU düzeyinde tam token öneklerini eşleştirir -- doğruluk kaybı yoktur ve çıktılar önbelleksiz isteklerle özdeştir. Anlamsal önbellekleme, "yeterince yakın" önceki sorguları bulmak ve önbelleğe alınan yanıtları döndürmek için gömme benzerliğini kullanır -- daha hızlıdır ama yanlış veya güncel olmayan yanıtlar döndürebilir. Temelden farklı sorunları çözerler.

Prompt önbelleği ne kadar süre geçerlidir?

Sağlayıcıya göre değişir. OpenAI: 5-10 dakika (uzatılmış saklama ile 24 saate kadar). Anthropic: 5 dakika (varsayılan) veya 1 saat (Claude 4.5+ modellerinde mevcut, yazma için 2x maliyet). Gemini: yapılandırılabilir, açık önbellekler için varsayılan 1 saattir. Örtük önbellekleme TTL'si Google tarafından otomatik olarak yönetilir.

Prompt önbellekleme için minimum token uzunluğu nedir?

OpenAI: 1.024 token. Anthropic: Çoğu güncel model için 1.024 token. Gemini: Flash modeller için 1.024 token, Pro modeller için 4.096. Bu eşiklerin altındaki prompt'lar önbelleklemeyi etkinleştirmez -- bu, en yaygın "çalışmıyor" sorunudur.

Prompt önbellekleme akış yanıtlarıyla çalışır mı?

Evet. Önbellekleme ve akış, isteğin farklı aşamalarında çalışır. Önbellekleme giriş ön dolum aşamasını hızlandırır; akış çıktı token'larını artımlı olarak iletir. Her ikisi de eşzamanlı çalışır ve TTFT iyileştirmesini akış etkinken daha belirgin şekilde fark edersiniz.

Prompt önbelleklemeyi ne zaman KULLANMAMALIYIM?

Prompt'larınız minimum token eşiğinin altındaysa, sistem prompt'una zaman damgaları veya oturum ID'leri dahil ediyorsanız, çağrılar arasında az sayıda örneği döndürüyorsanız veya istekler süresi dolmadan önce önbelleğe ulaşamayacak kadar seyrekse (OpenAI/Anthropic için 5-10 dakikalık pencere) önbelleklemeye güvenmeyin.

Prompt önbelleklemeyi LangChain veya LiteLLM ile kullanabilir miyim?

Evet. LangChain, sağlayıcıya özgü önbellekleme parametrelerini API sarmalayıcıları aracılığıyla iletir. LiteLLM, birleşik bir önbellekleme sözdizimi sağlar ve cache_control'ü Anthropic, OpenAI, Gemini, Vertex AI ve Bedrock genelinde normalleştirir -- özellikle çok sağlayıcılı kurulumlar için kullanışlıdır.

Önbellek isabeti ile önbellek ıskalama nedir?

Bir önbellek isabeti, sağlayıcının bellekte eşleşen bir önek bulduğu ve saklanan KV durumlarını yeniden kullandığı anlamına gelir -- indirimli önbelleğe alınan token ücretini ödersiniz ve daha hızlı TTFT elde edersiniz. Bir önbellek ıskalama, eşleşme bulunmadığı anlamına gelir, dolayısıyla tam prompt standart fiyatlandırmayla sıfırdan işlenir. API yanıtındaki cached_tokens (OpenAI), cache_read_input_tokens (Anthropic) veya cachedContentTokenCount (Gemini) alanlarını kontrol ederek hangisinin gerçekleştiğini görebilirsiniz.

Son Karar

KategoriKazananTemel Neden
En Kolay KurulumOpenAIOtomatik, sıfır yapılandırma
En Derin İndirimAnthropicÖnbelleğe alınan okumalarda %90 (0,1x temel)
En Fazla KontrolAnthropicAçık kesme noktaları + 5 dk veya 1 saatlik TTL
Uzun Belgeler için En İyiGeminiAdlandırılmış önbellek nesneleriyle yapılandırılabilir TTL
Çok Turlu Sohbet için En İyiOpenAIKonuşma geçmişinde otomatik önek eşleştirme
Ajanlar/MCP için En İyiAnthropicAraç tanımlarını açıkça önbelleğe al

Prompt önbellekleme, LLM API yığınındaki en az emek gerektiren, en yüksek getirili optimizasyondur. Modelinizi değiştirmezsiniz, kaliteden ödün vermezsiniz ve uygulama "hiçbir şey yapmama" (OpenAI) ile "bir alan ekleme" (Anthropic) ile "bir önbellek nesnesi oluşturma" (Gemini) arasında değişir.

Mevcut sağlayıcınızın otomatik önbelleklemesiyle başlayın. Yukarıdaki günlük kaydı yardımcı programıyla önbellek isabet oranınızı ölçün. %70'in altındaysanız, prompt'larınızı yeniden yapılandırın (önce statik, sonra dinamik) ve anti-kalıpları ortadan kaldırın. Çoğu ekip, bu değişiklikleri uyguladıktan sonra bir gün içinde %50-80 maliyet azalması görür.

Kaynaklar

Etiketler

llm-prompt-onbelleklemeprompt-cachingllm-api-maliyetleriopenaianthropicgeminikv-cacheyapay-zeka-geliştirme

Bu makaleyi paylaş

Projenize Başlayın

Harika bir şey inşa etmeye hazır mısınız?

Vizyonunuzu hayata geçirelim. Fark yaratan yazılımlar için ekibimiz hazır.