Agenten

Prompt Caching und KV-Cache-Optimierung: Wie Unternehmen Inferenzkosten und Latenzen bei Sprachmodellen um bis zu 90 Prozent senken

03.09.2026

In produktiven Unternehmensanwendungen wie Retrieval-Augmented Generation (RAG), mehrstufigen Agenten-Workflows und automatisierten Dokumentenanalysen senden Softwaresysteme wiederholt grosse, identische Kontextblöcke an Sprachmodelle. Ohne gezielte Optimierung berechnet die Inferenz-Engine den sogenannten Key-Value-Cache (KV-Cache) für unveränderte Präfixe bei jedem einzelnen Aufruf vollständig neu. Durch Prompt Caching und automatisches Prefix Caching vermeiden IT-Architekten diese redundanten Matrixmultiplikationen in der Prefill-Phase, senken die Time to First Token (TTFT) um bis zu 80 Prozent und reduzieren Token-Kosten bei Cloud-Providern um bis zu 90 Prozent [1][2][3].

Funktionsweise: Von der Attention-Berechnung zur KV-Cache-Wiederverwendung

Die Inferenz moderner Transformer-Modelle gliedert sich in zwei grundlegende Phasen: die Prefill-Phase und die Decode-Phase. Während der Prefill-Phase verarbeitet das Sprachmodell sämtliche Eingabe-Tokens parallel. Für jedes Token entstehen dabei Key- und Value-Vektoren in jedem Layer der Modellarchitektur. Diese Vektoren werden im sogenannten KV-Cache im schnellen GPU-Speicher (HBM/SRAM) abgelegt, damit nachfolgende Tokens während der autoregressiven Decode-Phase nicht die gesamte Vorgeschichte neu berechnen müssen [3].

Klassische Inferenz-Server verwerfen diesen KV-Cache nach Abschluss einer Anfrage sofort. Wenn ein Kundendienst-Agent nun ein 50-seitiges Produkthandbuch oder ein komplexes RAG-System denselben Wissenskontext in zwanzig aufeinanderfolgenden Benutzeranfragen nutzt, führt die GPU dieselbe Vorberechnung zwanzigmal durch. Prompt Caching setzt genau hier an: Es behält den KV-Cache für unveränderte Präfixe über Anfragen hinweg im Speicher [1][2].

RadixAttention und automatische Präfix-Erkennung

Moderne Open-Source-Inferenz-Engines wie vLLM und SGLang implementieren sogenanntes Automatic Prefix Caching (APC) über Trie-Datenstrukturen, bekannt als RadixAttention [3]. Der Inferenz-Server unterteilt die Eingabe in deterministische Token-Blöcke und weist jedem Block einen kryptografischen Hashwert zu. Trifft eine neue Anfrage ein, gleicht der Server den Token-Baum ab und lädt bereits berechnete KV-Cache-Blöcke direkt aus dem Grafikspeicher, anstatt sie durch die Transformer-Layer zu jagen [3].

Bei Cloud-Providern existieren zwei Betriebsmodelle:

  • Automatisches Caching (z. B. OpenAI): Das System hasht Eingabe-Prompts automatisch ab einer Mindestlänge von 1024 Tokens in 128-Token-Schritten. Für gecachte Tokens gewährt der Anbieter 50 Prozent Rabatt auf die Input-Preise [2].
  • Explizites Caching mit Breakpoints (z. B. Anthropic): Entwickler markieren statische Blöcke (Systemanweisungen, Tool-Schemata, Dokumente) gezielt mit Kontrollstrukturen. Gecachte Tokens erhalten bis zu 90 Prozent Rabatt und eine Gültigkeitsdauer (TTL) von typischerweise 5 Minuten, die sich bei jedem Cache-Hit erneuert [1].

Entscheidungsmatrix: Cloud-APIs versus Self-Hosted Inferenz

Die Wahl des optimalen Caching-Ansatzes richtet sich nach Durchsatz, Sicherheitsvorgaben und Latenztoleranz des Unternehmens:

  • Kostenstruktur und Einsparpotenzial: Cloud-APIs bieten direkte Preisabschläge von 50 bis 90 Prozent auf gecachte Input-Tokens [1][2]. Bei Self-Hosted-Setups (vLLM) führt Prefix Caching zu einer drastischen Steigerung des maximalen Anfrage-Durchsatzes (Queries per Second) pro GPU-Node, was Hardware-Neuanschaffungen verzögert [3].
  • Latenzgewinn (Time to First Token): Beide Architekturen senken die TTFT bei Cache-Hits um bis zu 80 bis 85 Prozent, da die rechenintensiven Vorberechnungen übersprungen werden [1][3].
  • Cache-Steuerung und Granularität: Cloud-APIs steuern den Cache providerseitig (automatisch oder über strukturierte Kontrollblöcke). Self-Hosted-Engines ermöglichen feingranulare Konfigurationen von GPU-VRAM-Allokation, FP8-Quantisierung und Eviction-Policies [3].
  • Datenschutz und Isolation: Self-Hosted Inferenz garantiert vollständige Datenhoheit im eigenen VPC oder Rechenzentrum, während Cloud-Caches den Sicherheits- und Mandantengarantien des jeweiligen API-Betreibers unterliegen [2].

Konkrete Implementierung: API- und Server-Konfiguration

Um Prompt Caching in eigenen Unternehmenssystemen wirksam zu aktivieren, müssen Entwickler Prompts hierarchisch strukturieren: Statische Elemente gehören an den Anfang, dynamische Benutzereingaben an das Ende.

1. Lokale Inferenz mit vLLM aktivieren

Beim Betrieb lokaler Open-Weights-Modelle genügt ein Startparameter, um das automatische Caching zu initialisieren. Durch zusätzliche Quantisierung des KV-Caches auf FP8 lässt sich der Speicherbedarf nahezu halbieren, ohne die Modellgenauigkeit merklich zu beeinträchtigen:

python -m vllm.entrypoints.openai.api_server \
  --model /opt/models/qwen-2.5-32b-instruct \
  --enable-prefix-caching \
  --kv-cache-dtype fp8 \
  --gpu-memory-utilization 0.90 \
  --port 8000

2. Cloud-API-Aufruf mit Cache-Steuerung

In Client-Applikationen wird der statische Wissenskontext vor den Benutzerinteraktionen platziert. Das folgende Python-Beispiel demonstriert den Aufbau:

import os
import requests

api_key = os.environ.get("LLM_API_KEY", "")
endpoint = os.environ.get("LLM_API_ENDPOINT", "https://api.openai.com/v1/chat/completions")

payload = {
    "model": "gpt-4o",
    "messages": [
        {
            "role": "system",
            "content": "Sie sind ein spezialisierter Assistent für Schweizer Unternehmensrecht. Beachten Sie folgende Richtlinien: ... [statischer Leitfaden > 1024 Tokens] ..."
        },
        {
            "role": "user",
            "content": "Wie sind die Aufbewahrungsfristen für Geschäftsbücher geregelt?"
        }
    ]
}

headers = {
    "Authorization": f"Bearer {api_key}",
    "Content-Type": "application/json"
}

response = requests.post(endpoint, json=payload, headers=headers, timeout=30)
result = response.json()

Datenschutz, Mandantenfähigkeit und Compliance im DACH-Raum

Für Unternehmen in der Schweiz und im europäischen Raum stellt sich beim Caching von Eingaben stets die Frage nach der Datensicherheit gemäss revDSG und DSGVO:

  • Mandanten-Isolation: Wenn mehrere Unternehmenskunden dieselbe Inferenz-Instanz teilen, darf der KV-Cache keine geschäftskritischen Daten über Mandantengrenzen hinweg exponieren. Statische Systemanweisungen können global gecacht werden; benutzerspezifische Dokumente sollten ausschliesslich innerhalb einer getrennten Session-ID oder eines dedizierten Mandanten-Tags gecacht werden.
  • Keine personenbezogenen Daten im globalen Cache: Personendaten wie Namen, IBANs oder Kundennummern gehören in den dynamischen Schlussteil des Prompts, damit sie nicht in shared Cache-Strukturen persistiert werden.
  • Standort und Auftragsdatenverarbeitung: Bei Nutzung ausländischer Cloud-Provider muss sichergestellt sein, dass das Caching im Rahmen bestehender Datenverarbeitungsverträge (DPA) erfolgt und keine unkontrollierte Langzeitspeicherung sensibler Geschäftsgeheimnisse stattfindet.

Grenzen, Risiken und Best Practices für IT-Teams

Obwohl Prompt Caching erhebliche Effizienzgewinne ermöglicht, müssen Engineering-Teams typische Fallstricke beachten:

  1. Strikte Präfix-Konsistenz wahren: Bereits ein einziges geändertes Zeichen, ein dynamischer Zeitstempel oder eine wechselnde Reihenfolge in den Tool-Definitionen invalidiert den gesamten nachfolgenden Cache-Baum. Dynamische Variablen gehören zwingend an das Ende des Prompts.
  2. Cache-Verdrängung (Eviction) monitoren: Bei hoher Systemlast verdrängen neue Anfragen ältere Cache-Blöcke nach dem Least-Recently-Used-Prinzip (LRU). IT-Teams sollten die Cache-Hit-Rate als zentralen Performance-Indikator überwachen.
  3. Speicherdimensionierung kalkulieren: Längere Kontexte belegen signifikanten GPU-Speicher. Bei lokalen Deployments muss genügend VRAM für den KV-Cache reserviert bleiben, um Out-of-Memory-Abbrüche (OOM) unter Volllast zu verhindern.

Stand: 3. September 2026.

Newsletter abonnieren