Was ist Prompt Caching?
Wenn du eine Anfrage an eine LLM-API sendest, muss das Modell jeden Input-Token durch seine Transformer-Schichten verarbeiten und Key-Value-Paare (KV) für den Attention-Mechanismus berechnen. Prompt Caching speichert diese berechneten KV-Paare serverseitig, sodass nachfolgende Anfragen mit demselben Prompt-Präfix diese aufwändige Berechnung komplett überspringen können. Statt Tausende von Tokens erneut zu verarbeiten, lädt das Modell den gecachten KV-Zustand und verarbeitet nur die neuen, einzigartigen Tokens.
Verbindung zum KV-Cache
Prompt Caching ist die API-Ebenen-Anwendung des KV-Cache-Konzepts aus dem vorherigen Artikel. Während KV-Cache innerhalb einer einzelnen Generierung arbeitet (Tokens werden während der Erzeugung gecacht), persistiert Prompt Caching den KV-Cache über separate API-Anfragen mit demselben Präfix.
Cache Hit vs. Cache Miss
Wenn eine Anfrage eintrifft, hasht der Anbieter das Prompt-Präfix und prüft, ob ein passender KV-Cache existiert. Der Unterschied in der Verarbeitung ist dramatisch:
Cache Miss (Erste Anfrage)
Cache Hit (Folgeanfrage)
Bearbeite den Prompt unten und beobachte, wie Änderungen das Caching beeinflussen. Cache-Matching funktioniert Zeichen für Zeichen von Anfang an — jede Änderung invalidiert alles danach.
Wie Anbieter es implementieren
Jeder große LLM-Anbieter hat seinen eigenen Ansatz für Prompt Caching, mit unterschiedlichen Kompromissen bei Kontrolle, Preisgestaltung und minimaler Token-Anzahl.
Anthropic (Claude)
Explizites Opt-in über den cache_control-Parameter. Markiere bestimmte Inhaltsblöcke als cachebar. 90% Kostenreduktion bei gecachten Tokens, ~3× Latenzverbesserung. Minimum 1.024 Tokens zum Cachen. Cache-TTL ist 5 Minuten (wird bei Hit erneuert).
OpenAI (GPT-4o)
Automatisch — keine Codeänderungen nötig. Die API cached automatisch passende Präfixe ab 1.024+ Tokens. 50% Rabatt auf gecachte Input-Tokens. Caching passiert transparent im Hintergrund.
Google (Gemini)
Explizit über die Context Caching API. Erstelle benannte Cache-Objekte mit konfigurierbarer TTL. 75% Rabatt auf gecachte Tokens. Am besten für sehr große Kontexte (32k+ Tokens), die über viele Anfragen wiederverwendet werden.
Wann Prompt Caching nutzen
Ideal für
- ✓Lange System-Prompts, die über Konversationen wiederverwendet werden (z.B. AI-Assistenten mit detaillierten Anweisungen)
- ✓Few-Shot-Beispiele, die konstant bleiben, während sich Benutzeranfragen ändern
- ✓Große Dokumente (Verträge, Codebasen), die mit verschiedenen Fragen analysiert werden
- ✓Agentische Workflows, bei denen dieselben Tool-Definitionen und Kontext wiederholt gesendet werden
Nicht ideal für
- ✗Einzigartige, einmalige Prompts, die nie wiederholt werden
- ✗Sehr kurze Prompts (unter 1.024 Tokens) — unter der Caching-Schwelle
- ✗Prompts, bei denen sich das Präfix häufig zwischen Anfragen ändert
Kosten & Performance
Die Einsparungen durch Prompt Caching sind erheblich, besonders für Anwendungen mit langen, wiederholten Prompt-Präfixen. Hier sind die Zahlen der großen Anbieter:
Kostenreduktion bei gecachten Tokens (Anthropic)
schnellere Time-to-First-Token (Anthropic)
Standard-Cache-Lebensdauer (wird bei jedem Hit erneuert)
Preisvergleich (Input-Tokens)
| Anbieter | Basispreis | Gecachter Preis | Ersparnis |
|---|---|---|---|
| Anthropic (Claude) | $3.00 / MTok | $0.30 / MTok | 90% |
| OpenAI (GPT-4o) | $2.50 / MTok | $1.25 / MTok | 50% |
| Google (Gemini) | $1.25 / MTok | $0.3125 / MTok | 75% |
Preise für Flaggschiff-Modelle, Stand Anfang 2025. Cache-Write-Tokens können 25% mehr als der Basispreis kosten (Anthropic). Immer aktuelle Preisdokumentation prüfen.
Standard-Cache-Lebensdauer (wird bei jedem Hit erneuert)
Beobachte, wie die 5-Minuten-TTL bei jedem Cache-Hit erneuert wird. Eine Pause bei Anfragen lässt den Cache ablaufen — die nächste Anfrage erstellt einen neuen Cache.
Code-Beispiel: Anthropic API
Anthropics Implementierung gibt dir explizite Kontrolle darüber, was gecacht wird. Füge cache_control zu jedem Inhaltsblock in deinem System-Prompt oder Nachrichten hinzu:
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system=[
{
"type": "text",
"text": "You are an expert legal assistant. Here is the "
"complete contract document you must analyze...\n\n"
"[... 15,000 tokens of contract text ...]",
"cache_control": {"type": "ephemeral"} # ← Cache this!
}
],
messages=[
{"role": "user", "content": "Summarize the key obligations."}
]
)
# Check cache performance in the response
usage = response.usage
print(f"Input tokens: {usage.input_tokens}")
print(f"Cache creation: {usage.cache_creation_input_tokens}")
print(f"Cache read (hits): {usage.cache_read_input_tokens}")
# First request: cache_creation = 15000, cache_read = 0
# Second request: cache_creation = 0, cache_read = 15000 ← 90% cheaper!Implementierungstipps
Statischen Inhalt zuerst
Cache-Matching funktioniert auf Präfixen. Platziere deinen System-Prompt und Few-Shot-Beispiele vor dynamischem Inhalt, damit das Präfix über Anfragen hinweg stabil bleibt.
Minimale Token-Anzahl beachten
Anthropic erfordert mindestens 1.024 Tokens in einem cachebaren Block (2.048 für Claude Haiku). Inhalte unter dieser Schwelle werden nicht gecacht.
TTL verstehen
Anthropics Cache lebt 5 Minuten, wird bei jedem Hit erneuert. Bei seltenen Anfragen kann der Cache zwischen Aufrufen ablaufen. OpenAIs automatisches Caching hat eine ähnliche zeitbasierte Verfallszeit.
Cache-Hit-Raten überwachen
Prüfe die Usage-Felder in API-Antworten (cache_creation_input_tokens vs cache_read_input_tokens), um zu verifizieren, dass Caching funktioniert. Niedrige Hit-Raten bedeuten, dass sich dein Präfix zu oft ändert.
Wichtige Erkenntnisse
Prompt Caching verwendet berechnete KV-Paare über API-Anfragen hinweg wieder und überspringt redundante Berechnungen für wiederholte Prompt-Präfixe.
Anthropic bietet die besten Einsparungen (90% Kosten, ~3× Geschwindigkeit) mit explizitem cache_control. OpenAI macht es automatisch mit 50% Ersparnis.
Am besten für lange System-Prompts, Few-Shot-Beispiele und große Dokumente, die mehrfach abgefragt werden.
Strukturiere Prompts mit statischem Inhalt zuerst (Präfix) und dynamischem Inhalt zuletzt, um Cache-Hit-Raten zu maximieren.