Wird geladen

Regeln für Prompt-Caching

Lektion 4710 Min.

Prompt-Caching in Claude funktioniert, indem die Rechenarbeit, die für Nachrichten geleistet wurde, gespeichert wird, sodass sie in Folgeanfragen wiederverwendet werden kann. Dies macht nachfolgende Anfragen sowohl günstiger als auch schneller in der Ausführung, aber nur, wenn du wiederholt denselben Inhalt sendest.

Der Prozess folgt einem zweiphasigen Muster: Die erste Anfrage schreibt in den Cache, und Folgeanfragen können daraus lesen. Der Cache lebt nur 5 Minuten, daher ist diese Funktion am nützlichsten, wenn du denselben Inhalt wiederholt innerhalb eines kurzen Zeitraums sendest.

Cache-Punkte

Prompt-Caching wird nicht automatisch aktiviert - du musst manuell Cache-Punkt-Nachrichtenteile hinzufügen, um zu steuern, was gecacht wird. Cache-Punkte teilen Claude mit, die gesamte Arbeit zu cachen, die für alles vor diesem Punkt in deiner Nachricht geleistet wurde.

So fügst du einer Benutzernachricht einen Cache-Punkt hinzu:

python
user_message = {
  "role": "user",
  "content": [
    {"text": ""},
    {"cachePoint": {"type": "default"}}
  ]
}

Die wichtigste Regel ist, dass die Arbeit, die für alles vor dem Cache-Punkt geleistet wurde, gecacht wird, aber alles nach dem Cache-Punkt nicht im Cache gespeichert wird.

Wie Cache-Punkte funktionieren

Wenn du eine erste Anfrage mit einem Cache-Punkt stellst, verarbeitet Claude den gesamten Inhalt und speichert die bis zu diesem Cache-Punkt geleistete Arbeit. Bei Folgeanfragen liest Claude, wenn der Inhalt vor dem Cache-Punkt identisch ist, die zuvor verarbeitete Arbeit aus dem Cache, anstatt sie erneut zu verarbeiten.

Der Cache wird nur verwendet, wenn der Inhalt vor dem Cache-Punkt vollständig identisch ist. Selbst kleine Änderungen, wie das Hinzufügen von „Bitte" am Anfang deines Prompts, verhindern die Nutzung des Caches und zwingen Claude, alles von Grund auf neu zu verarbeiten.

Caching über Nachrichten hinweg

Cache-Punkte können sich über mehrere Nachrichten erstrecken und sogar Assistant-Nachrichten einschließen. Das bedeutet, dass du ganze Gesprächsverläufe bis zu einem bestimmten Punkt cachen kannst.

Zum Beispiel könntest du ein Gespräch mit einer Benutzernachricht, einer Assistant-Antwort und einer weiteren Benutzernachricht haben, mit einem Cache-Punkt am Ende. Die gesamte Verarbeitungsarbeit für diesen gesamten Gesprächsverlauf wird gecacht und kann wiederverwendet werden.

Mindestinhaltslänge

Der Inhalt muss mindestens 1024 Token lang sein, um gecacht zu werden. Dies ist die Summe aller Nachrichten und Teile, die du vor dem Cache-Punkt zu cachen versuchst.

Eine einfache Nachricht wie „Hallo!" erreicht das Minimum von 1024 Token nicht, sodass nichts gecacht wird. Aber wenn du „Hallo!" 500 Mal wiederholst, würde das 1024 Token überschreiten und für das Caching qualifizieren.

Orte für Cache-Punkte

Cache-Punkte sind nicht auf Benutzernachrichten beschränkt. Du kannst sie zu System-Prompts und Tool-Definitionen hinzufügen, die tatsächlich die häufigsten Caching-Möglichkeiten darstellen.

Für Tool-Definitionen:

python
tools = [
  {"toolSpec": add_duration_to_datetime_schema},
  {"toolSpec": get_current_datetime_schema},
  {"cachePoint": {"type": "default"}}
]

Für System-Prompts:

python
system = [
  {"text": "You are a senior software..."},
  {"cachePoint": {"type": "default"}}
]

Dies sind die wertvollsten Caching-Möglichkeiten, da sich System-Prompts und Tool-Listen selten zwischen Anfragen ändern, was sie zu perfekten Kandidaten für das Caching macht.