SAllgemein

Semantic Cache (Semantischer Cache)

Cache auf Basis semantischer Ähnlichkeit statt exakter Prompt-Gleichheit

Ein Semantic Cache (semantischer Cache) ist ein Zwischenspeicher für LLM-Antworten, der Anfragen nicht nur bei exakt gleichem Prompt wiederverwendet, sondern bei semantisch ähnlichen Fragen. Statt String-Gleichheit nutzt er Vektor-Ähnlichkeit (z. B. Cosine Similarity), um passende frühere Antworten zu finden und so Kosten, Latenz und Rate-Limits zu reduzieren.

Was bedeutet „semantisch“ beim Caching?

Beim klassischen Caching (z. B. Prompt Caching (Antwort-/Prompt-Cache)) wird ein Treffer nur erzielt, wenn der Prompt identisch ist. Ein Semantic Cache arbeitet mit Bedeutungsnähe: „Wie setze ich einen Webhook in n8n auf?“ und „Wie richte ich in n8n einen Webhook ein?“ sind unterschiedliche Texte, aber nahezu gleiche Absicht. Der Cache kann daher die bereits berechnete Antwort wiederverwenden.

Wie funktioniert ein Semantic Cache?

  • 1) Embedding berechnen: Aus dem Prompt (und oft auch Kontext wie System-Prompt/Tool-Parameter) wird ein Vektor erstellt – typischerweise via Embeddings.
  • 2) Ähnlichkeitssuche: Der Vektor wird gegen gespeicherte Prompt-Vektoren gesucht (meist in einer Vektordatenbank (Vector Database) oder einem ANN-Index). Das ist eng verwandt mit Vector Search (Vektorsuche) / Semantic Search (/wissen/was-ist/vector-search-vektorsuche-semantic-search).
  • 3) Threshold & Auswahl: Nur wenn die Ähnlichkeit über einem Schwellwert liegt (z. B. 0,85), gilt es als Cache-Hit. Optional folgt Re-Ranking (Neu-Rangordnung).
  • 4) Antwort zurückgeben oder neu generieren: Bei Hit wird die gespeicherte Antwort (ggf. mit Metadaten) geliefert. Bei Miss wird das Large Language Model (LLM) aufgerufen und das Ergebnis anschließend in den Cache geschrieben.
  • 5) Governance/TTL: Ein Ablaufdatum (TTL), Versionierung und Filter (z. B. Modellversion, Sprache, Tenant) verhindern veraltete oder falsche Wiederverwendung.

Beispiele aus der Praxis

  • Support-Chat mit ChatGPT: Viele Nutzer stellen ähnliche FAQs („Passwort zurücksetzen“, „Rechnung herunterladen“). Ein Semantic Cache kann Antworten wiederverwenden, auch wenn die Formulierung variiert.
  • Automation-Workflows: In Automatisierung (Automation)-Pipelines (z. B. n8n-Flows) werden wiederkehrende Klassifizierungen/Extraktionen oft mit leicht unterschiedlichen Inputs ausgeführt. Der Cache reduziert LLM-Aufrufe deutlich.
  • RAG-Systeme: Bei RAG (Retrieval-Augmented Generation) kann ein Semantic Cache entweder die finalen Antworten oder Zwischenstufen (z. B. Retrieval-Ergebnisse) cachen, wenn die Nutzerfrage ähnlich ist.

Warum ist ein Semantic Cache wichtig?

Er senkt Token-Kosten, verbessert Latenz und stabilisiert Systeme unter Last (Rate-Limits). Besonders bei Inference-intensiven Anwendungen oder hoher Parallelität ist das ein direkter Hebel für Cost Optimization (Token-Kostenoptimierung).

Grenzen & Risiken

  • Falsche Treffer: Semantische Ähnlichkeit ist nicht gleich Identität. Kleine Unterschiede (z. B. „für EU-Kunden“ vs. „für US-Kunden“) können eine andere Antwort erfordern.
  • Kontextabhängigkeit: Wenn System-Prompt, Tools (Function Calling / Tool Use), Policies oder Datenquellen variieren, muss das im Cache-Key berücksichtigt werden.
  • Datenschutz: Gespeicherte Prompts/Antworten können personenbezogene Daten enthalten. Maßnahmen wie PII Redaction (PII-Schwärzung) sowie Vorgaben aus Datenschutz (DSGVO/GDPR) & KI sind zentral.

Semantic Cache vs. Prompt Cache

Ein Prompt-Cache trifft nur bei identischem Prompt; ein Semantic Cache trifft bei ähnlicher Bedeutung. In der Praxis werden beide kombiniert: erst exakter Cache, dann semantischer Fallback. So erhält man maximale Trefferquote bei kontrollierbarem Risiko.