
Was ist ein KV-Cache?
Der KV-Cache ist der Speicher, in dem ein Transformer-Sprachmodell die Attention-Keys und -Values ablegt, die es für vorherige Token bereits berechnet hat. Durch deren Wiederverwendung erzeugt das Modell jedes neue Token, ohne die gesamte Eingabe erneut zu verarbeiten – das macht die Token-für-Token-Generierung schnell und lange Kontexte speicherintensiv teuer.
Die wichtigsten Punkte
- Ohne KV-Cache müsste jedes erzeugte Token die Attention über die gesamte Sequenz neu berechnen; mit ihm wird pro Schritt nur das neueste Token verarbeitet.
- Die Größe des KV-Cache wächst linear mit der Kontextlänge, und bei langen Kontexten kann sie den Speicherbedarf der Modellgewichte selbst erreichen oder übersteigen.
- Prompt Caching, die API-Funktion, die wiederholte Prompt-Präfixe vergünstigt, ist KV-Cache-Wiederverwendung über Anfragen hinweg – und der wichtigste Kostenhebel für Agent-Workloads.
- Cache-freundliches Prompt-Design – stabile Präfixe mit variablem Inhalt am Ende – senkt direkt sowohl Latenz als auch Kosten.
So funktioniert es
Der Attention-Mechanismus eines Transformers erlaubt jedem Token, auf jedes frühere Token zurückzublicken. Dafür berechnet das Modell für jedes Token in jeder Schicht einen Key- und einen Value-Vektor. Während der Generierung ändern sich diese nicht mehr, sobald sie einmal berechnet sind: Token 500 nutzt für Token 1 bis 499 dieselben Keys und Values, die bei der Verarbeitung dieser Token berechnet wurden. Sie zwischenzuspeichern ist deshalb ein reiner Gewinn. Die Generierungsschleife teilt sich in zwei Phasen: Prefill, bei dem das Modell den gesamten Prompt parallel einliest und den Cache befüllt, und Decode, bei dem es ein Token nach dem anderen ausgibt, wobei jeder Schritt nur für das neueste Token Keys und Values berechnet und alles andere aus dem Cache liest. Prefill ist compute-bound und bestimmt die Zeit bis zum ersten Token; Decode ist speicherbandbreiten-bound und bestimmt die Token pro Sekunde.
Der Preis dieser Geschwindigkeit ist Speicher. Die Cache-Größe skaliert mit der Anzahl der Schichten, der Attention-Heads, der Head-Dimension und vor allem der Sequenzlänge, sodass eine Sitzung mit sehr langem Kontextfenster pro Anfrage zig Gigabyte an Cache verlangen kann. Ein Großteil des modernen Inference-Engineerings dreht sich um KV-Cache-Management: Grouped-Query Attention und Multi-Head Latent Attention verkleinern, was gespeichert werden muss, Paged Attention weist Cache in Blöcken zu, damit Server keinen reservierten Speicher verschwenden, Cache-Quantisierung speichert Keys und Values mit geringerer Präzision, und Eviction-Verfahren verwerfen alte Einträge, wenn der Speicher knapp wird. Die bekämpfte Verschwendung ist erheblich: Das vLLM-Team hat gemessen, dass Serving-Systeme vor PagedAttention 60-80 % des KV-Cache-Speichers durch Fragmentierung und Überreservierung verloren, was das Paged-Design auf nahezu null senkt [1]. Das PagedAttention-Paper der UC Berkeley berichtet von 2-4-fach höherem Serving-Durchsatz gegenüber bisherigen State-of-the-Art-Systemen wie FasterTransformer und Orca bei gleicher Latenz [2]. Anbieter nutzen über Anfragen hinweg gecachte Präfixe wieder, den Entwicklern verkauft als Prompt Caching mit großen Rabatten auf Eingabe-Token für den wiederverwendeten Anteil.
Beispiel
Ein Agent-Plattform-Team bemerkt, dass die Rechnung seines Coding-Agenten von Eingabe-Token dominiert wird: Jede Runde sendet dasselbe 30.000-Token-Präfix aus System-Prompt, Tool-Definitionen und Repo-Konventionen erneut, gefolgt von der wachsenden Konversation. Weil das Präfix über die Runden hinweg byte-identisch ist, bedient der Cache des Anbieters es zu einem Bruchteil des normalen Eingabepreises – aber nur, wenn es identisch bleibt. Ein Ingenieur fügt daraufhin einen aktuellen Zeitstempel nahe dem Anfang des System-Prompts ein, und die Cache-Trefferquote bricht ein, wodurch sich die effektiven Eingabekosten über Nacht verdreifachen, da jede Anfrage nun ab dem ersten abweichenden Token ein anderes Präfix hat. Die Lösung ist die Reihenfolge: statische Anweisungen und Tools zuerst, alles Dynamische zuletzt. Die Latenz verbessert sich zusammen mit den Kosten, weil gecachte Präfixe den Großteil des Prefills überspringen.
Häufige Missverständnisse
Die häufige Verwechslung besteht darin, den KV-Cache für einen Antwort-Cache zu halten, als würde das Modell Antworten auf wiederholte Fragen memoisieren. Er cacht internen Attention-Zustand, keine Ausgaben. Ein Cache-Treffer auf dem Prompt-Präfix bedeutet nicht, dieselbe Vervollständigung zu erhalten, und er erfordert nicht dieselbe Frage, nur dieselben führenden Bytes. Dieses Missverständnis führt zu echten Fehlern in beide Richtungen: Teams erwarten identische Antworten von gecachten Prompts und sind über Abweichungen überrascht, oder sie halten Prompt Caching für irrelevant, weil sich ihre Fragen unterscheiden, und übersehen dabei, dass ihr riesiger gemeinsamer System-Prompt genau das ist, was der Cache monetarisiert.
FAQ
Warum verbraucht der KV-Cache so viel Speicher? Weil er Key- und Value-Vektoren für jedes Token in jeder Schicht speichert. Die Kosten pro Token sind architekturbedingt fix, sodass der Speicherbedarf linear mit der Kontextlänge wächst, und viele parallele Nutzer mit langem Kontext zu bedienen multipliziert das. Das begrenzt, mehr als die Modellgewichte selbst, die Anzahl gleichzeitiger Long-Context-Sitzungen auf einer GPU. Deshalb dominiert Cache-Management auch die Serving-Performance: In vLLMs Benchmarks von 2023 auf LLaMA-Modellen lieferte Paged-Cache-Management bis zu 24-fach höheren Durchsatz als Hugging Face Transformers [3].
Ist Prompt Caching dasselbe wie der KV-Cache? Prompt Caching ist die kommerzielle Oberfläche der KV-Cache-Wiederverwendung: Der Anbieter behält den berechneten Cache für ein Prompt-Präfix und berechnet einen reduzierten Satz, wenn eine spätere Anfrage es exakt wiederverwendet. Der zugrunde liegende Mechanismus ist derselbe Cache, der die Generierung innerhalb einer einzelnen Anfrage beschleunigt.
Wie mache ich meinen Agenten cache-freundlich? Halten Sie das Prompt-Präfix über Runden hinweg stabil und byte-identisch: System-Prompt und Tool-Definitionen zuerst, dynamischer Inhalt wie abgerufener Kontext und Nutzernachrichten zuletzt, und fügen Sie niemals Zeitstempel oder Zufalls-IDs früh im Prompt ein. Das Anhängen ans Ende einer Konversation bewahrt das gecachte Präfix; das Bearbeiten des Anfangs macht es ungültig.
Quellen
- vLLM-Projekt (offizieller Blog). "Bestehende LLM-Serving-Systeme verschwenden 60-80 % des KV-Cache-Speichers; PagedAttention senkt die Verschwendung auf nahezu null." https://vllm.ai/blog/2023-06-20-vllm. Abgerufen im August 2026.
- UC Berkeley (arXiv, SOSP 2023). "PagedAttention verbessert den LLM-Serving-Durchsatz um das 2-4-Fache gegenüber FasterTransformer und Orca bei gleicher Latenz." https://arxiv.org/abs/2309.06180. Abgerufen im August 2026.
- vLLM-Projekt (offizieller Blog). "vLLM lieferte bis zu 24-fach höheren Durchsatz als Hugging Face Transformers auf LLaMA-Modellen." https://vllm.ai/blog/2023-06-20-vllm. Abgerufen im August 2026.
Related terms
Ready to build your product?

