Zum Hauptinhalt springen
Prompt Caching speichert verarbeitete Eingabe-Tokens, sodass nachfolgende Anfragen mit identischen Präfixen sie wiederverwenden können, anstatt sie erneut zu verarbeiten. Das reduziert Latenz (bis zu 80 % bei langen Prompts) und Kosten (bis zu 90 % Rabatt auf gecachte Tokens). Venice übernimmt das Caching automatisch für unterstützte Modelle. Aber zu verstehen, wie jeder Anbieter Caching implementiert, hilft Ihnen, Cache-Hit-Raten zu maximieren und Kosten zu minimieren.

So funktioniert Caching

Caching arbeitet mit Präfix-Matching: Das System speichert verarbeitete Tokens und verwendet sie wieder, wenn nachfolgende Anfragen mit demselben Inhalt beginnen. Stellen Sie sich einen Chatbot mit einem 2.000-Token-System-Prompt vor:
1

Anfrage 1

System-Prompt (2.000 Tokens) + Benutzernachricht (50 Tokens)Verarbeitet: 2.050 Tokens · Aus Cache: 0 TokensPräfix in Cache geschrieben.
2

Anfrage 2

System-Prompt (2.000 Tokens) + Benutzernachricht (80 Tokens)Verarbeitet: 80 Tokens · Aus Cache: 2.000 Tokens
3

Anfrage 3

System-Prompt (2.000 Tokens) + Benutzernachricht (120 Tokens)Verarbeitet: 120 Tokens · Aus Cache: 2.000 Tokens
Gesamt ohne Caching: 2.050 + 2.080 + 2.120 = 6.250 Tokens zum vollen Preis Gesamt mit Caching: 2.050 + 80 + 120 = 2.250 Tokens zum vollen Preis, 4.000 Tokens zum rabattierten Preis
Caching funktioniert nur auf dem Präfix. Jede Änderung am Anfang Ihres Prompts invalidiert den Cache für alles, was danach kommt. Platzieren Sie statischen Inhalt (System-Prompt, Dokumente, Beispiele) immer vor dynamischem Inhalt (Benutzernachrichten).

Unterstützte Modelle und Preise

Loading…
Claude Opus 4.5 berechnet einen Aufpreis für Cache-Writes ($7.50/1M Tokens vs. $6.00 für reguläre Eingabe). Die erste Anfrage, die den Cache befüllt, kostet mehr, aber nachfolgende Cache-Hits sparen 90 %. Andere Modelle erheben keinen Aufpreis für Cache-Writes.

Anbieter-spezifisches Verhalten

Venice normalisiert das Caching über Anbieter hinweg. Für die meisten Modelle erfolgt das Caching automatisch. Senden Sie einfach Ihre Anfragen und prüfen Sie die Antwort auf Cache-Statistiken. Claude erfordert explizite Cache-Marker auf Protokollebene, aber Venice fügt diese automatisch für System-Prompts und Konversationsverlauf hinzu. Das Caching-Verhalten wird letztlich von jedem Anbieter gesteuert und kann sich ändern. Prüfen Sie daher die Anbieter-Dokumentation für die neuesten Details.
ModellAnbieterMin. TokensCache-LebensdauerWrite-KostenRead-RabattExplizite Marker
Claude Opus 4.5Anthropic~4.0005 Min+25 %90 %Erforderlich
GPT-5.2OpenAI1.0245–10 MinKeine90 %Nicht nötig
GeminiGoogle~1.0241 StundeKeine75–90 %Nicht nötig
GrokxAI~1.0245 MinKeine75–88 %Nicht nötig
DeepSeekDeepSeek~1.0245 MinKeine50 %Nicht nötig
MiniMaxMiniMax~1.0245 MinKeine90 %Nicht nötig
KimiMoonshot~1.0245 MinKeine50 %Nicht nötig

Claude Opus 4.5 (Anthropic)

Claude erfordert explizite Cache-Breakpoints auf Protokollebene. Venice übernimmt das automatisch:
  • System-Prompts werden automatisch gecacht
  • Konversationsverlauf wird gecacht, indem ein Breakpoint auf die vorletzte Benutzernachricht gesetzt wird
Das bedeutet, dass Ihr Konversationsverlauf aus dem Cache gelesen wird und nur der letzte Turn als neuer Input verarbeitet wird:
TurnPrompt-TokensCache ReadCache WriteEinsparung
110.979010.938Erstes Write
211.03110.9383199,7 % gecacht
311.06210.9695299,5 % gecacht
Zusätzliche Details:
  • Bis zu 4 Breakpoints pro Anfrage: Das System verwendet das längste übereinstimmende Präfix
  • Cache-Schlüssel ist byte-exakt: Whitespace-Änderungen, andere Bildkodierungen oder umgeordnete Tools führen zu Cache-Misses
  • Cache-bewusste Rate-Limits: Gecachte Tokens zählen nicht gegen Ihr ITPM-Limit, was höheren effektiven Durchsatz ermöglicht
  • 25 % Write-Aufpreis: Erste Anfrage kostet mehr, aber 90 % Ersparnis bei nachfolgenden Reads

Manuelle Cache-Steuerung

Für Sonderfälle wie das Cachen eines großen Dokuments im ersten Turn können Sie explizite Breakpoints hinzufügen:
{
  "messages": [
    {
      "role": "system",
      "content": [{
        "type": "text",
        "text": "You are a legal assistant...",
        "cache_control": { "type": "ephemeral" }
      }]
    },
    {
      "role": "user", 
      "content": [{
        "type": "text",
        "text": "[Long contract document...]",
        "cache_control": { "type": "ephemeral" }
      }]
    },
    { "role": "assistant", "content": "I've reviewed the contract." },
    { "role": "user", "content": "What are the termination clauses?" }
  ]
}
Dies stellt sicher, dass sowohl der System-Prompt als auch das Dokument ab der ersten Anfrage gecacht werden. Für typische Konversationen benötigen Sie keine manuellen Marker.

Alle anderen Modelle

Caching erfolgt automatisch. Keine speziellen Parameter erforderlich. Stellen Sie nur sicher, dass Ihre Prompts ~1.024 Tokens überschreiten, und verwenden Sie prompt_cache_key für konsistentes Routing.

Anfrageparameter

ParameterTypModelleBeschreibung
prompt_cache_keystringAlleRouting-Hinweis für Cache-Affinität. Anfragen mit demselben Schlüssel treffen mit höherer Wahrscheinlichkeit denselben Server mit warmem Cache.
cache_controlobjectClaudeMarkiert Content-Blöcke für Caching. Siehe Abschnitt Claude Opus 4.5.

prompt_cache_key

Für Konversationen oder agentische Workflows verwenden Sie einen konsistenten prompt_cache_key, um die Cache-Hit-Rate zu verbessern:
{
  "model": "claude-opus-4-5",
  "prompt_cache_key": "session-abc-123",
  "messages": [...]
}
Das leitet Anfragen an Server weiter, die Ihren Kontext wahrscheinlich bereits gecacht haben. Verwenden Sie eine Session-ID, Konversations-ID oder Benutzer-ID als Schlüssel.

Antwortfelder

Das usage-Objekt der Antwort enthält Cache-Statistiken:
{
  "usage": {
    "prompt_tokens": 5500,
    "completion_tokens": 200,
    "total_tokens": 5700,
    "prompt_tokens_details": {
      "cached_tokens": 5000,
      "cache_creation_input_tokens": 0
    }
  }
}
FeldBeschreibung
prompt_tokensGesamte Input-Tokens in der Anfrage
prompt_tokens_details.cached_tokensTokens, die aus dem Cache bedient wurden (zum Rabattpreis abgerechnet)
prompt_tokens_details.cache_creation_input_tokensIn den Cache geschriebene Tokens (kann bei Claude Aufpreis verursachen)
Abrechnungs-Aufschlüsselung (am Beispiel Claude Opus 4.5):
  • 5.000 gecachte Tokens × $0.60/1M = $0.003
  • 500 nicht-gecachte Tokens × $6.00/1M = $0.003
  • Gesamt: $0.006 (vs. $0.033 ohne Caching, 82 % Ersparnis)

Best Practices

Prompts für Caching strukturieren

Platzieren Sie statischen Inhalt am Anfang, dynamischen Inhalt am Ende. Gute Struktur
PositionInhaltGecacht?
1System-AnweisungenJa
2ReferenzdokumenteJa
3Few-Shot-BeispieleJa
4BenutzeranfrageNein
Schlechte Struktur
PositionInhaltGecacht?
1Aktueller ZeitstempelNein (invalidiert alles danach)
2System-AnweisungenNein
3BenutzeranfrageNein

Präfixe byte-identisch halten

Cache-Schlüssel werden aus exakten Byte-Sequenzen berechnet. Selbst triviale Unterschiede führen zu Cache-Misses:
  • Unterschiedliche Whitespaces oder Zeilenumbrüche
  • Zeitstempel oder Request-IDs in Prompts
  • Randomisierte Reihenfolge der Few-Shot-Beispiele
  • Unterschiedliche Formatierung desselben Inhalts

Mindest-Token-Schwellen einhalten

Wenn Ihre Prompts unter dem Mindestwert (typischerweise 1.024 Tokens) liegen, wird Caching nicht aktiviert. Für kleine Prompts erwägen Sie:
  • Mehr Kontext oder Beispiele hinzufügen, um die Schwelle zu erreichen
  • Mehrere kleine Anfragen in gebündelte Prompts zusammenfassen
  • Akzeptieren, dass Caching für einfache Abfragen nicht greift

prompt_cache_key für Konversationen verwenden

Für laufende Konversationen setzen Sie einen konsistenten prompt_cache_key:
// Turn 1
{ "prompt_cache_key": "conv-xyz", "messages": [...] }

// Turn 2
{ "prompt_cache_key": "conv-xyz", "messages": [...] }

// Turn 3
{ "prompt_cache_key": "conv-xyz", "messages": [...] }
Das erhöht die Wahrscheinlichkeit, dass alle Turns denselben Server mit warmem Cache treffen.

Cache-Performance überwachen

Verfolgen Sie diese Metriken:
  • Cache-Hit-Rate: cached_tokens / prompt_tokens
  • Kostenersparnis: Tatsächliche Kosten vs. ungecachte Kosten vergleichen
  • Latenzreduktion: Time-to-First-Token mit vs. ohne Cache-Hits
Wenn cached_tokens konstant 0 ist:
  1. Prompts könnten unter der Mindest-Token-Schwelle liegen
  2. Prompts könnten sich zwischen Anfragen ändern
  3. Anfragen könnten auf unterschiedliche Server treffen (verwenden Sie prompt_cache_key)
  4. Cache könnte abgelaufen sein (Anfragen zu selten)

Cache-Ökonomie berücksichtigen

Claude Opus 4.5 Cache-Write-Aufpreis: Erste Anfrage kostet 25 % mehr, aber 90 % Ersparnis bei nachfolgenden Reads.
SzenarioCache-Write-Aufpreis lohnt sich?
1 Anfrage mit diesem PromptNein (25 % mehr zahlen, ohne Nutzen)
2+ Anfragen mit gleichem PräfixJa (Break-Even bei zweiter Anfrage)
Schnell wechselnde PromptsNein (konstante Write-Kosten)
Stabiler System-Prompt, viele AbfragenJa (amortisiert über viele Reads)

Cache-Lebensdauer

Caches verfallen nach einer Phase der Inaktivität (typischerweise 5–10 Minuten). Das bedeutet:
Traffic-MusterCaching-Nutzen
Kontinuierliche Anfragen (< 5 Min Pausen)Hoch: Cache bleibt warm
Bursty Traffic (Pausen > 10 Min)Begrenzt: Cache läuft zwischen Bursts ab
Sporadische Anfragen (Stunden auseinander)Keine: Cache immer kalt

Caching mit Tools und Functions

Function-Definitionen können zusammen mit System-Prompts gecacht werden:
{
  "model": "claude-opus-4-5",
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "search_database",
        "description": "Search the product database",
        "parameters": { ... }
      }
    }
  ],
  "messages": [
    {
      "role": "system",
      "content": [
        {
          "type": "text",
          "text": "You are a shopping assistant...",
          "cache_control": { "type": "ephemeral" }
        }
      ]
    },
    ...
  ]
}
Die Tool-Definitionen werden Teil des gecachten Präfixes. Wenn Sie viele Tools haben, kann das die Kosten pro Anfrage erheblich reduzieren.

Caching mit Bildern und Dokumenten

Für Vision-Modelle können Bilder in den gecachten Inhalt eingebunden werden:
{
  "model": "claude-opus-4-5",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "image_url",
          "image_url": { "url": "data:image/png;base64,..." }
        },
        {
          "type": "text",
          "text": "This is the floor plan. I'll ask several questions about it.",
          "cache_control": { "type": "ephemeral" }
        }
      ]
    },
    {
      "role": "assistant",
      "content": "I can see the floor plan. What would you like to know?"
    },
    {
      "role": "user",
      "content": "How many bedrooms are there?"
    }
  ]
}
Das Bild und der initiale Kontext werden gecacht, sodass Folgefragen zu demselben Bild es nicht erneut verarbeiten.

Troubleshooting

UrsacheLösung
Prompt zu kurzSicherstellen, dass der Prompt ~1.024 Tokens überschreitet (4.000 bei Claude)
Präfix geändertAuf dynamischen Inhalt am Anfang Ihres Prompts prüfen
Erste AnfrageErwartet: Erste Anfrage schreibt in den Cache, nachfolgende Anfragen lesen
Cache abgelaufenZeit zwischen Anfragen auf unter 5 Minuten reduzieren
Unterschiedliche Serverprompt_cache_key hinzufügen, um Anfragen konsistent zu routen
UrsacheLösung
Prompt ändert sichZeitstempel, Request-IDs oder anderen dynamischen Inhalt aus dem Präfix entfernen
cache_control fehltBei Claude sicherstellen, dass der cache_control-Marker bei Content-Blöcken vorhanden ist
Unter SchwellenwertPrompts unter der Mindest-Tokenzahl lösen kein Caching aus
Einzelne BenutzernachrichtErwartet beim ersten Turn. Cache wächst mit dem Konversationsverlauf.
UrsacheLösung
Cache-Write-AufpreisClaude berechnet 25 % mehr für Writes. Lohnt sich nur, wenn Sie den Prompt wiederverwenden.
Geringe WiederverwendungWenn jeder Prompt einzigartig ist, zahlen Sie Write-Kosten ohne Read-Vorteile
Schlechte Prompt-StrukturDynamischen Inhalt ans Ende verschieben, damit das Präfix stabil bleibt