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 drastisch 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: 5K Tokens] + [Dokument: 20K Tokens] + [Frage: 50 Tokens]
→ 25.050 Tokens berechnet, voller Preis
Nächste Frage: Dasselbe von vorn!
→ Wieder 25.050 Tokens, voller Preis
Mit Caching:
Erster Aufruf: [System + Dokument: 25K] cachen + [Frage: 50 Tokens]
→ 25.050 Tokens, voller Preis
Nächste Frage: [Cache-Hit: 25K] + [Frage: 50 Tokens]
→ Nur 50 neue Tokens + 25K gecacht (90 % günstiger)
| Anbieter | Feature | Ersparnis | Cache-Dauer |
|---|---|---|---|
| Anthropic | Prompt Caching | 90 % auf gecachte Tokens | 5 Minuten (verlängerbar) |
| Context Caching | 75 % auf gecachte Tokens | Konfigurierbar (Stunden) | |
| OpenAI | Prompt Caching | 50 % auf gecachte Tokens | Automatisch |
| Self-Hosted | KV-Cache / Prefix Caching | Latenz-Reduktion | Session-basiert |
import anthropic
client = anthropic.Anthropic()
# Großen Kontext einmal senden und cachen
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
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 → 90 % günstiger
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
Reduziert Kosten um bis zu 90 % bei wiederholten Anfragen mit gleichem Kontext
Angeboten von Google (Gemini), Anthropic (Claude) und als KV-Cache bei Open-Source-Modellen
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.
Bei Anthropic Claude: Gecachte Tokens kosten 90 % weniger als neue. Bei Google Gemini: 75 % günstiger. Ein System-Prompt mit 10.000 Tokens, der 100× verwendet wird, spart also erheblich.
Wenn du denselben Kontext (System-Prompt, Dokumente, Beispiele) bei vielen aufeinanderfolgenden Anfragen verwendest. Bei einmaligen Anfragen mit sich ständig änderndem Kontext bringt es keinen Vorteil.