Prompt Caching
Eine Optimierungstechnik bei LLM-APIs, bei der wiederkehrende Teile eines Prompts (z.B. System-Prompts oder lange Dokumente) gecacht werden, um Latenz und Kosten zu reduzieren.
Eine Optimierungstechnik, die häufig verwendete Kontexte (System-Prompts, Dokumente, Beispiele) zwischen LLM-Aufrufen zwischenspeichert, um Kosten und Latenz bei wiederholten Anfragen zu reduzieren.
Context Caching speichert den verarbeiteten Kontext eines LLM-Aufrufs, sodass er bei der nächsten Anfrage nicht erneut berechnet werden muss.
Ohne Caching (jeder Aufruf):
[System-Prompt] + [Dokument] + [Frage]
→ kompletter Kontext wird erneut verarbeitet
Nächste Frage: Dasselbe von vorn
→ wieder vollständige Kontextverarbeitung
Mit Caching:
Erster Aufruf: [System + Dokument] cachen + [Frage]
→ Kontext wird vorbereitet und gespeichert
Nächste Frage: [Cache-Hit] + [neue Frage]
→ nur der neue Teil muss vollständig verarbeitet werden
| Ansatz | Feature | Nutzen | Cache-Verhalten |
|---|---|---|---|
| Anbieter-API | Prompt oder Context Caching | reduzierte Kosten oder Latenz bei Cache-Hits | abhängig von Modell, TTL und API-Regeln |
| Managed Plattform | Caching für große Kontexte | wiederholte Dokument- oder Systemkontexte günstiger nutzen | oft konfigurierbar |
| Self-Hosted | KV-Cache / Prefix Caching | Latenz- und Durchsatzoptimierung | abhängig von Inferenz-Engine und Session-Handling |
import anthropic
client = anthropic.Anthropic()
# Großen Kontext einmal senden und cachen
response = client.messages.create(
model="chat-model",
max_tokens=response_token_limit,
system=[{
"type": "text",
"text": "Du bist ein Experte für..." + langes_dokument,
"cache_control": {"type": "ephemeral"} # ← Caching aktivieren
}],
messages=[{"role": "user", "content": "Frage 1"}]
)
# Zweiter Aufruf: Cache-Hit kann Kosten oder Latenz reduzieren
response2 = client.messages.create(
# Gleicher System-Prompt → wird aus Cache geladen
...
messages=[{"role": "user", "content": "Frage 2"}]
)
Context Caching ist wie ein Lehrer, der ein Lehrbuch einmal gründlich liest und sich Notizen macht – statt es für jeden Schüler von vorn zu lesen. Die Vorbereitung kostet einmal Zeit, aber danach kann er jede Frage schneller und günstiger beantworten.
Speichert verarbeitete Kontexte (Prefill) für wiederholte Nutzung
Kann Kosten und Latenz bei wiederholten Anfragen mit gleichem Kontext deutlich reduzieren
Verfügbar als Anbieterfeature, Prompt Caching oder Prefix-/KV-Cache in eigenen Inferenz-Stacks
Chatbots mit großem System-Prompt
System-Prompt + Wissensbasis einmal cachen, nur User-Nachrichten neu verarbeiten
Dokumentenanalyse
Ein großes Dokument cachen und viele verschiedene Fragen dazu stellen
Few-Shot-Learning im Produktionsbetrieb
Beispiele einmal cachen statt bei jeder Anfrage mitzusenden
RAG-Systeme
Häufig abgerufene Kontexte zwischenspeichern
KV-Cache speichert die berechneten Key-Value-Paare der Attention-Layer während einer einzelnen Generierung. Context Caching geht weiter: Es speichert den verarbeiteten Kontext über mehrere Anfragen hinweg – also zwischen verschiedenen API-Aufrufen.
Das hängt von Anbieter, Modell, Cache-Regeln, Token-Mix und Wiederverwendungsrate ab. Je größer und stabiler der wiederverwendete Kontext ist, desto eher lohnen sich Cache-Mechanismen.
Wenn derselbe Kontext – etwa System-Prompt, Dokumente oder Beispiele – über mehrere Anfragen stabil bleibt. Bei einmaligen Anfragen oder stark wechselndem Kontext ist der Nutzen meist gering.