Prompt-Caching ist eine leistungsstarke Optimierungsfunktion, die deine API-Anfragen sowohl schneller als auch günstiger macht, wenn du wiederholt denselben Inhalt an Claude sendest. Lass uns erkunden, wie du es effektiv in deinen Anwendungen implementieren kannst.
Wie Prompt-Caching funktioniert
Wenn du Prompt-Caching aktivierst, schreibt die erste Anfrage Inhalte in einen Cache mit einer standardmäßigen Lebensdauer von 5 Minuten, und jedes Mal, wenn der zwischengespeicherte Inhalt verwendet wird, wird dieses Zeitfenster ohne zusätzliche Kosten aktualisiert. Wenn du ein längeres Zeitfenster benötigst, kannst du dich für eine Cache-Dauer von 1 Stunde gegen einen Aufpreis entscheiden. Nachfolgende Anfragen lesen aus diesem Cache, anstatt denselben Inhalt erneut zu verarbeiten. Dies ist besonders wertvoll, wenn du Folgendes sendest:
- Große System-Prompts (wie ein 6K-Token-Coding-Assistent-Prompt)
- Komplexe Tool-Schemas (etwa 1,7K Token für mehrere Tools)
- Wiederholte Nachrichteninhalte
Die zentrale Erkenntnis ist, dass Caching nur hilft, wenn du wiederholt identische Inhalte sendest – aber in vielen Anwendungen kommt das extrem häufig vor.
Einrichten des Tool-Schema-Cachings
Um deine Tool-Schemas zu cachen, musst du ein Cache-Control-Feld zum letzten Tool in deiner Liste hinzufügen. Hier ist die richtige Vorgehensweise, ohne deine ursprünglichen Tool-Definitionen zu verändern:
if tools:
tools_clone = tools.copy()
last_tool = tools_clone[-1].copy()
last_tool["cache_control"] = {"type": "ephemeral"}
tools_clone[-1] = last_tool
params["tools"] = tools_cloneDieser Ansatz erstellt Kopien sowohl der Tools-Liste als auch des letzten Tool-Schemas, bevor das Cache-Control-Feld hinzugefügt wird. Während du tools[-1]["cache_control"] direkt ändern könntest, verhindert der Kopieransatz Probleme, falls du deine Tools später neu anordnest.
System-Prompt-Caching
Für System-Prompts musst du sie als Textblock mit Cache-Control strukturieren:
if system:
params["system"] = [
{
"type": "text",
"text": system,
"cache_control": {"type": "ephemeral"}
}
]Dies wandelt deinen System-Prompt von einem einfachen String in ein strukturiertes Format um, das Caching unterstützt.
Cache-Verhalten verstehen
Wenn du Anfragen mit aktiviertem Caching ausführst, siehst du unterschiedliche Nutzungsmuster in der Antwort:
- Erste Anfrage:
cache_creation_input_tokens=1772– Claude schreibt in den Cache - Nachfolgende Anfragen:
cache_read_input_tokens=1772– Claude liest aus dem Cache - Geänderter Inhalt: Neue Cache-Erstellungs-Token erscheinen
Der Cache ist extrem empfindlich – selbst die Änderung eines einzelnen Zeichens in deinen Tools oder deinem System-Prompt macht den gesamten Cache für diese Komponente ungültig.
Cache-Reihenfolge und Breakpoints
Du kannst mehrere Cache-Breakpoints in einer einzigen Anfrage festlegen. Die Reihenfolge ist wichtig:
- Tools (falls angegeben)
- System-Prompt (falls angegeben)
- Nachrichten
Wenn du deinen System-Prompt änderst, aber dieselben Tools beibehältst, siehst du einen partiellen Cache-Read (für Tools) und einen Cache-Write (für den neuen System-Prompt). Dieses granulare Caching bedeutet, dass du nur für die Verarbeitung der Teile bezahlst, die sich tatsächlich geändert haben.
Praktische Überlegungen
Prompt-Caching ist am effektivsten, wenn du Folgendes hast:
- Konsistente Tool-Schemas über Anfragen hinweg
- Stabile System-Prompts
- Anwendungen, die mehrere Anfragen mit ähnlichem Kontext stellen
Denke daran, dass der Standard-Cache 5 Minuten dauert (bei jeder Nutzung aktualisiert), mit einer 1-Stunden-Option gegen Aufpreis verfügbar, sodass er für Anwendungen mit relativ häufiger API-Nutzung konzipiert ist und nicht für die langfristige Speicherung.