Startseite / Dokumentation / Prompt-Caching

Prompt-Caching

Lesen Sie ein unverändertes Präfix erneut zu einem Bruchteil des Eingabepreises — was Sie zwischenspeichern sollten, was nicht und wie Sie prüfen, ob es funktioniert hat.

Prompt-Caching speichert ein Präfix Ihrer Anfrage, sodass spätere Aufrufe mit demselben Präfix zu einem reduzierten Eingabetarif abgerechnet werden. Für alles mit einem umfangreichen, unveränderlichen Vorspann — einem System-Prompt, Werkzeugschemas oder einem Dokument, zu dem Fragen gestellt werden — ist dies die Änderung mit dem größten Nutzen.

Was sich gut für den Cache eignet

Gut geeignetWarum
SystempromptsBei jedem Aufruf innerhalb einer Sitzung bytegenau identisch
Werkzeug- / FunktionsdefinitionenÜber einen gesamten Agentendurchlauf hinweg unverändert und oft umfangreich
Ein Dokument, zu dem wiederholt Fragen gestellt werdenEin Upload, viele Fragen
Few-Shot-BeispieleUnveränderlich und häufig lang
Schlecht geeignetWarum
Die neueste Nachricht des NutzersJedes Mal anders — nie ein Cache-Treffer
Alles mit einem Zeitstempel oder einer Anfrage-ID nahe dem AnfangEin einziges verändertes Byte am Anfang des Präfixes macht alles danach ungültig
Kurze PromptsUnterhalb der Mindestlänge für das Caching, daher gibt es nichts zu gewinnen

Ein Präfix markieren

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "system": [{
    "type": "text",
    "text": "<long stable instructions...>",
    "cache_control": {"type": "ephemeral"}
  }],
  "messages": [{"role": "user", "content": "Question that changes every call"}]
}

Alles bis einschließlich des markierten Blocks wird zum zwischengespeicherten Präfix. Die Reihenfolge ist wichtig: Stellen Sie unveränderliche Inhalte an den Anfang und veränderliche Inhalte ans Ende.

Prüfen, ob es funktioniert

Prüfen Sie die usage Objekt. Bei einem Cache-Treffer werden Tokens unter cache-read statt als gewöhnliche Eingabe ausgewiesen. Wenn cache-read bei wiederholten Aufrufen bei null bleibt, ist Ihr Präfix nicht tatsächlich identisch — häufige Ursachen sind ein Zeitstempel, eine Sitzungs-ID oder eine nicht deterministische Reihenfolge der JSON-Schlüssel im Vorspann.

Serialisieren Sie zwischengespeicherte Inhalte deterministisch. json.dumps(obj) ohne sort_keys=True kann die Reihenfolge der Schlüssel zwischen Durchläufen ändern, wodurch sich die Bytes ändern und Ihnen unbemerkt sämtliche Cache-Treffer verloren gehen.

Wo es am wichtigsten ist

Agentische Tools senden bei jedem einzelnen Gesprächsschritt denselben System-Prompt und dieselben Tool-Schemas erneut. In einer Sitzung mit 50 Gesprächsschritten wird dieser Vorspann ohne Caching 50 Mal berechnet, mit Caching ungefähr einmal.