Warum Cache-Trefferquoten von KI-Agenten einbrechen: GPT, Claude und prüfbare Gateways
Quellenbasierter Leitfaden zu Cache-Fehlern bei Drittanbieter-Agenten, GPT- und Claude-Prompt-Caching, reproduzierbarer Messung und Modelflare-Kompensation.
Caching bei einem KI-Agenten ist keine Checkbox. Es ist ein Vertrag aus Protokoll, Routing und Abrechnung. Dieser Artikel erklärt, warum ein Drittanbieter-Agent trotz Prompt-Caching-Unterstützung des Upstream-Modells eine sehr niedrige Trefferquote haben kann, wie GPT und Claude Wiederverwendung messen und was ein prüfbares Gateway zusichern sollte.
Die Entscheidung in einem Satz
Setze einen cache-sensitiven Produktionsagenten nicht hinter einen Drittanbieter-Agenten oder ein Gateway, das keine nativen Cache-Nutzungsdaten liefert, keinen stabilen Präfix bewahrt, keine Modell- und Routenaffinität hält, TTL und Nenner offenlegt und das Ergebnis nicht mit einem dauerhaften Ledger abgleicht. „Caching unterstützt“ ist eine Funktionsaussage; eine gemessene Trefferquote für berechtigten Traffic ist eine Betriebskennzahl.
Das bedeutet nicht, dass jeder Drittanbieter-Agent ausfällt. Öffentliche Dokumentation kann ohne festes Korpus, festes Modell, bekanntes Beobachtungsfenster und Nutzungsnachweis je Anfrage keinen Anbieter-weiten Prozentsatz belegen. Die engere, belastbare Aussage lautet: Eine undurchsichtige Übersetzungsschicht eröffnet mehrere unabhängige Bruchstellen und kann einen gültigen Provider-Cache in einen fast immer kalten Pfad verwandeln. Für cacheabhängige Produktion ist fehlende Evidenz allein ein Grund, den Pfad nicht zu wählen.
Vor Prozentwerten den Nenner festlegen
Der Provider meldet meist drei verschiedene Töpfe. R sind aus dem Cache gelesene Tokens, W neu geschriebene Tokens und U ohne Wiederverwendung verarbeitete Eingabetokens. Für cache-berechtigte Präfixe lautet die vergleichbare Quote:
eligible_hit_rate = R / (R + W)
Für die gesamte an das Modell gesendete Eingabe lautet der Wiederverwendungsanteil:
input_reuse_share = R / (R + W + U)
Beide Zahlen beantworten verschiedene Fragen. Ein Dashboard, das durch die gesamte Eingabe teilt, wirkt bei vielen kurzen, nicht berechtigten Anfragen niedrig. Ein Dashboard nur für berechtigten Traffic kann verbergen, dass der dynamische Suffix den größten Kostenanteil trägt. Veröffentliche beide Werte, die Berechtigungsregel und das Zeitfenster.
Die Evidenz sind Provider-Felder, nicht ein grünes Symbol in der Agent-Oberfläche:
| Signal | OpenAI-Feld | Claude-Feld | Was es belegt |
|---|---|---|---|
| Wiederverwendeter Präfix | input_tokens_details.cached_tokens |
cache_read_input_tokens |
Tokens aus einem passenden Eintrag |
| Neuer Cache-Eintrag | input_tokens_details.cache_write_tokens |
cache_creation_input_tokens |
Tokens zum Erstellen oder Verlängern |
| Nicht wiederverwendete Eingabe | input_tokens - input_tokens_details.cached_tokens - input_tokens_details.cache_write_tokens (vorsichtig ableiten) |
input_tokens nach dem Breakpoint |
Eingabe außerhalb des Präfixes; Semantik verschieden |
| Korrelation | Request-ID, Modell und Route | Request-ID, Modell und Route | Welcher Provider-Versuch die Nutzung erzeugte |
Synthetisches Beispiel, keine Modelflare-Produktions-Telemetrie: R=720,000, W=80,000, U=200,000 ergeben 720,000 / 800,000 = 90% berechtigte Treffer, aber 720,000 / 1,000,000 = 72% Wiederverwendung über die gesamte Eingabe. Nur eine Zahl zu veröffentlichen verschleiert den Nenner.
input_tokens_details.cache_write_tokens=0 beweist nicht „kein Cache“: Ein Lesevorgang erzeugt keinen neuen Eintrag. Fehlt ein Nutzungsfeld in der Drittanbieterantwort, ist es ebenfalls nicht null, sondern ein Observability-Fehler und als nicht prüfbar zu markieren.
Warum der Agentenpfad Treffer verliert, obwohl das Modell Caching unterstützt
Die Ursache liegt meist zwischen Anwendung und Provider. Typische Bruchstellen sind:
- Dynamische Bytes kommen zu früh. Zeitstempel, Request-ID, Benutzer, Experimente oder ein wechselndes aktuelles Datum verändern den Präfix vor den wiederverwendbaren Anweisungen.
- Tools werden neu serialisiert. Hinzufügen, Entfernen, Sortieren oder nichtdeterministisches Serialisieren eines Tool-Schemas verändert den exakten Präfix; schon die Reihenfolge von JSON-Schlüsseln kann einen Miss erzeugen.
- Fallback ändert die Cache-Identität. Lastverteilung über Modell-Aliase, Regionen, Organisationen oder Zugangsdaten teilt keinen universellen Eintrag.
- Der Adapter entfernt native Steuerung. Werden
cache_control,prompt_cache_key, Retention oder Nutzungsdetails entfernt, wird die Fähigkeit zu unsichtbarem Best Effort. - Der Prompt unterschreitet den Schwellenwert. Ein kurzer Agent-Turn kann gültig, aber nicht cache-berechtigt sein.
- Das TTL-Fenster wird überschritten. Ein fünfminütiger Claude-Eintrag oder modellabhängige OpenAI-Retention kann während einer menschlichen Pause verfallen.
- Paralleles Aufwärmen erzeugt eine Race Condition. Erste parallele Anfragen können eintreffen, bevor die erste Antwort den Eintrag verfügbar macht.
- Der Verlauf wird umgeschrieben. Zusammenfassung, Komprimierung, Kürzung oder andere Serialisierung ändert den Präfix statt anzuhängen.
Keiner dieser Fehler setzt Täuschung voraus. Er entsteht vorhersehbar, wenn ein Gateway eine Agentenanfrage als freien Text behandelt und den Cache-Vertrag des Providers nicht bewahrt. Die praktische Warnung ist eindeutig: Kann der Agent nicht zeigen, welcher Breakpoint fehlgeschlagen ist, lassen sich cacheabhängige Kosten und Fehler nicht zuverlässig bewerten.
GPT und Claude folgen einer Idee, aber nicht derselben Semantik
Beide verlangen einen exakt passenden wiederverwendbaren Präfix, unterscheiden sich aber bei Steuerung und Abrechnung. Die Tabelle basiert auf den am 2026-08-25 geprüften offiziellen Leitfäden; Namen, Mindestlängen und Retention können sich ändern.
| Dimension | OpenAI Prompt Caching | Claude Prompt Caching |
|---|---|---|
| Wiederverwendbare Einheit | Vollständig gerenderter Kontextpräfix mit Anweisungen, Tools, Verlauf und multimodalen Teilen | Geordneter Präfix bis zum cache_control-Breakpoint: Tools, System, Nachrichten |
| Mindestlänge | Aktueller Leitfaden: 1.024 sichtbare Tokens für GPT-5.6+, meist 2.048 bei älteren Modellen | Modellspezifisch etwa 512–4.096 Tokens; kürzere Prompts werden nicht gecacht |
| Steuerung | Implizit; explizite Breakpoints und stabiler prompt_cache_key bei unterstützten Modellen |
Automatisch auf Top-Level oder Breakpoints pro Block; bis zu vier und 20-Block-Lookback |
| Retention | GPT-5.6+ unterstützt 30 Minuten TTL; ältere Modelle bieten Anbieter-Modi mit typischen Fenstern | Standard fünf Minuten, bei Nutzung erneuert; eine Stunde optional mit höherem Write-Preis |
| Preisform | Im aktuellen GPT-5.6+-Leitfaden: Writes 1,25×, Reads 0,1× des Basis-Inputs | Fünf-Minuten-Write 1,25×, Ein-Stunden-Write 2×; Read 0,1× |
| Nutzungsnachweis | input_tokens_details.cached_tokens und gegebenenfalls input_tokens_details.cache_write_tokens |
cache_read_input_tokens, cache_creation_input_tokens und input_tokens nach Breakpoint |
| Häufige Invalidierung | Modell-, Tool- oder Einstellungsänderung, Maschinenüberlauf oder Präfixänderung | Änderung von Modell, System, Tools oder Nachrichten; fehlende vorige Nachricht oder paralleler Warm-up-Miss |
OpenAI weist darauf hin, dass Einträge auf einzelnen Maschinen liegen: prompt_cache_key hilft beim Gruppieren und Routen, pinnt aber keine Maschine und garantiert keinen Hit. Claude dokumentiert exakte Übereinstimmung, Workspace-Isolation und Diagnosen wie tools_changed und messages_changed. Ein Gateway, das diese Unterschiede verbirgt, kann daraus keine ehrliche Einheitsquote machen.
Die Multiplikatoren zeigen den Effekt. Beim zitierten OpenAI-Modell kostet ein Write gefolgt von einem Read ungefähr 1.25 + 0.10 = 1.35× einer ungecachten Input-Einheit; zehn vollständig wiederverwendete Anfragen etwa 1.25 + 9×0.10 = 2.15× statt 10×. Das sind offizielle Beispielrechnungen, keine Modelflare-Rechnung und keine Zusage für jedes Modell.
Die Adaptersteuer lässt sich messen
Nutze eine Fehlermatrix statt eines Screenshots. Halte Prompt, Modell, Zugangsdaten und Rate fest, ändere jeweils eine Variable und speichere das native usage-Objekt.
| Kontrollierte Änderung | Erwartetes Signal | Was ein undurchsichtiger Agent verbergen kann | Freigabeinterpretation |
|---|---|---|---|
| Nur den User-Turn anhängen | R steigt nach dem ersten W |
Umschriebener Verlauf oder neue Route | Präfix bleibt stabil |
| Zeitstempel in den System-Prompt setzen | R fällt auf null oder neues W |
Welche Bytes sich änderten | Dynamischer Präfix bricht den Cache |
| Eine Tool-Eigenschaft umordnen | tools_changed oder neuer Write |
Verhalten des Serialisierers | Schema muss deterministisch sein |
| Traffic über Aliase oder Maschinen teilen | R niedriger und variabler |
Gewählte Route und Cache-Key | Affinität fehlt |
| Über die dokumentierte TTL schlafen | Neuer Write nach Ablauf | Ablaufzeit und Retention-Modus | Menschliche Pausen separat messen |
| Zwei identische Erstaufrufe parallel senden | Einer oder beide können schreiben | Warm-up-Race und Reihenfolge | Kältespitze misst keine Kapazität |
Bewahre Request-ID, Streaming-Modus, Zeit des ersten Events, exaktes Modell, gewählte Route, Cache-Felder und UTC-Zeitstempel. Prompts, Schlüssel und Kundendaten redigieren. Liefert das Gateway nur eine normalisierte Input-Summe, markiere den Lauf als nicht prüfbar; fehlende Dimensionen sind keine erfundenen Nullen.
Ein reproduzierbarer Audit-Datensatz
Das folgende kleine Format ist synthetisch. Die Hülle bleibt provider-neutral, usage bewahrt native Felder. Es ist kein Benchmark.
{"request_id":"demo-001","timestamp":"2026-08-25T02:00:00Z","model":"MODEL_ID","route":"route-a","stream":true,"usage":{"input_tokens":1000000,"input_tokens_details":{"cached_tokens":0,"cache_write_tokens":1000000}}}
{"request_id":"demo-002","timestamp":"2026-08-25T02:00:03Z","model":"MODEL_ID","route":"route-a","stream":true,"usage":{"input_tokens":1000000,"input_tokens_details":{"cached_tokens":720000,"cache_write_tokens":80000}}}
Führe mindestens fünf Phasen aus: serielles Aufwärmen, Append-only-Verlauf, dynamische Systemänderung, Tool-Reihenfolge und Wiederholung nach einer TTL-Lücke. Bewahre die nativen Lese-/Schreibfelder je Provider und vergleiche R/(R+W) sowie R/(R+W+U) je Phase, Route, Modell und UTC-Tag. Eine gemischte Zahl reicht nicht für eine Produktionsfreigabe.
Was Modelflare garantiert und was nicht
Die öffentliche Statusseite von Modelflare beschreibt derzeit OpenAI Cache Hit Rate Guarantee. Für berechtigte Anfragen, die OpenAI-Caching-Anforderungen erfüllen und einen gültigen Cache bilden, wird die Tagesquote nach UTC-Kalendertag berechnet. Liegt sie unter der zutreffenden Stufe, wird die Differenz kompensiert und unter Dashboard → Token Usage Analysis angezeigt. Öffentlich sind derzeit 65%, 75% und 85%.
Die Grenze ist beabsichtigt:
- Die Garantie gilt für berechtigten, gültigen OpenAI-Cache-Traffic, nicht für kurze oder ständig wechselnde Anfragen ohne Eligibility.
- Ein wechselndes Modell, Tool-Schema, Routing oder TTL wird dadurch nicht zu einem wiederverwendbaren Präfix.
- Die Berechnung erfolgt pro UTC-Tag und die Gutschrift über die dokumentierte Kontofläche; sie behauptet keinen Hit für jede einzelne Anfrage.
- Native Nutzungsdaten und Eligibility-Berechnung bleiben erforderlich. Ein expliziter Nenner macht die Kompensation prüfbar.
Das unterscheidet ein prüfbares Serviceversprechen von einem Drittanbieter-Slogan: Das Versprechen benennt Population, Fenster, Schwelle und Gutschriftziel.
Preisvorteil und Betriebssicherheit sind getrennte Belege
Die aktuelle Preisseite zeigt außerdem ein 0,015-Aktionsverhältnis für die erste Aufladung der jeweils geltenden Kampagne/Gruppe sowie Mindestbetrag und Bedingungen. Das ist ein Preisvorteil, keine Cache-Garantie. Prüfe Modellumfang und Abrechnung auf der Live-Seite.
Die öffentlichen Trust- und Rechtsunterlagen nennen Havenbyte LLC als Betreiber und beschreiben den Betrieb als in den USA ansässig. Stripe wird als Zahlungsabwickler für Zahlungen, Rechnungen, Rückerstattungen und Betrugsschutz genannt. Das sind Signale für Zuständigkeit, keine Aussage über eine bestimmte staatliche Registrierung oder Zertifizierung.
Empfehlung für Produktionsagenten
Wähle einen Drittanbieter-Agenten nur, wenn er diese Liste erfüllt:
- Er leitet native Cache-Steuerung weiter und gibt native Reads und Writes zurück.
- Er hält die Bytes des stabilen Instruktions- und Tool-Präfixes identisch und hängt dynamischen Zustand danach an.
- Er zeigt Modell, Route, Organisations-/Regionsgrenze, TTL-Modus und Request-ID.
- Er protokolliert serielles und paralleles Aufwärmen getrennt.
- Er definiert berechtigten Traffic, Nenner, UTC-Fenster, Schwelle und Kompensation schriftlich.
- Er exportiert Anfragebelege ohne Schlüssel oder Kundendaten offenzulegen.
Ist eine Antwort „nein“, verwende den Pfad nicht für Workloads, deren Wirtschaftlichkeit von Cache-Wiederverwendung abhängt. Teste direkt beim Provider oder nutze ein prüfbares Gateway wie Modelflare mit demselben Korpus. Siehe auch zuverlässiges AI-API-Routing, AI-API-Kostentracking, Preise und Trust.
Quellen und Prüfdatum
Diese Primärquellen wurden am 2026-08-25 geprüft. Sie beschreiben Provider-Verträge und die aktuelle öffentliche Modelflare-Policy; sie belegen keine universelle Trefferquote eines unbenannten Drittanbieter-Agenten.
- OpenAI-Leitfaden zu Prompt Caching
- OpenAI-API-Preise
- Anthropic-Leitfaden zu Prompt Caching
- Anthropic Cache Diagnostics
- Modelflare-Status und Cache-Garantie
- Modelflare-Preise und aktuelle Bedingungen
- Modelflare Trust und Betreiber
FAQ: Bedeutet eine niedrige Drittanbieterquote immer Betrug?
Nein. Kurze Prompts, wechselnde Präfixe, verteilte Routen, TTL-Ablauf oder fehlende Felder können den Wert erklären. Der richtige Befund ist zunächst „nicht reproduzierbar“ oder „nicht prüfbar“.
FAQ: Kann man Claude und GPT mit einer Zahl vergleichen?
Erst nach Normalisierung des Nenners und Erhalt der nativen Felder. Vergleiche dasselbe Korpus und dieselbe Phase, nicht eine gemischte Dashboard-Summe.
FAQ: Macht Kompensation einen stabilen Präfix überflüssig?
Nein. Sie begrenzt das finanzielle Risiko für berechtigten OpenAI-Cache-Traffic; sie macht eine nicht berechtigte Anfrage nicht wiederverwendbar und repariert keinen Agenten, der den Präfix umschreibt.