Published on

Token-Kosten halbieren: Caching, Routing, Kontextdisziplin

Authors

Die Modellrechnung halbieren, ohne die Qualität zu senken

TL;DR

Drei Hebel, in dieser Reihenfolge: Kontextdisziplin — die meisten Anfragen schicken doppelt so viel Kontext wie nötig. Routing — nicht jede Anfrage braucht das teure Modell. Caching — wiederkehrende Prompt-Anfänge müssen nicht neu bezahlt werden. Zusammen halbieren sie in typischen Installationen die Rechnung.


Vorab: Lohnt sich das überhaupt?

Eine ehrliche Vorbemerkung, weil sie den Aufwand ins Verhältnis setzt.

In einer mittelständischen Installation liegen die Modellkosten bei rund 18.000 Euro im Jahr, die Personalkosten für den Betrieb bei 45.000 bis 63.000. Wer einen halben Personentag pro Monat darauf verwendet, die Modellrechnung um 30 Prozent zu senken, spart 5.400 Euro und verbraucht 5.400 Euro Arbeitszeit.

Die drei Hebel unten lohnen sich trotzdem — aber weil sie einmalig eingerichtet werden und danach ohne Aufwand wirken. Was sich nicht lohnt, ist laufende Optimierung.

Hebel 1: Kontextdisziplin

Der größte, und er steht in keinem Anbieterangebot, weil er nichts kostet.

Prüfen Sie, wie viel Kontext Ihre Anfragen tatsächlich mitschicken:

-- Aus den Verbrauchsprotokollen des Gateways
SELECT
    model,
    round(avg(prompt_tokens))                                    AS schnitt_eingabe,
    round(percentile_cont(0.95) WITHIN GROUP (ORDER BY prompt_tokens)) AS p95,
    max(prompt_tokens)                                           AS maximum,
    round(avg(completion_tokens))                                AS schnitt_ausgabe
FROM "LiteLLM_SpendLogs"
WHERE "startTime" >= now() - interval '30 days'
GROUP BY model;

Was Sie in der Regel sehen: Der Schnitt liegt bei 4.000 bis 8.000 Eingabe-Token, das Maximum bei 60.000 oder mehr. Und die Ausgabe liegt bei 300 bis 600.

Das Verhältnis ist der Punkt. Sie zahlen für das Zehn- bis Zwanzigfache dessen, was zurückkommt. Drei Ursachen, in der Reihenfolge ihrer Häufigkeit:

Zu viele abgerufene Abschnitte. Wenn 20 Abschnitte statt 6 im Kontext landen, zahlen Sie das Dreifache — und bekommen eine schlechtere Antwort, weil das Modell den Bezug verliert. Der richtige Weg ist ein Reranker: 30 Treffer abrufen, die besten 6 behalten. Das senkt Kosten und verbessert die Qualität.

Zu lange Systemanweisungen. 1.200 Token Anweisung mit acht Beispielen, bei jeder einzelnen Anfrage. Prüfen Sie, ob es mit vier Beispielen genauso gut geht — meist ja.

Vollständige Gesprächsverläufe. Wenn die Oberfläche bei jeder Nachricht den kompletten Verlauf mitschickt, wächst der Kontext mit jedem Austausch. Nach 20 Nachrichten kostet die einundzwanzigste ein Vielfaches der ersten. Eine Begrenzung auf die letzten sechs Austausche plus eine Zusammenfassung des Älteren ist meist unauffällig.

Hebel 2: Routing

Nicht jede Anfrage braucht das teuerste Modell. In den Installationen, die wir messen, brauchen unter 15 Prozent tatsächlich Spitzenqualität.

model_list:
  - model_name: schnell            # kurze Antworten, Klassifikation
    litellm_params:
      model: openai/qwen3-8b
      api_base: http://vllm.intern:8001/v1

  - model_name: standard           # der Alltag
    litellm_params:
      model: openai/qwen3-30b-a3b
      api_base: http://vllm.intern:8000/v1

  - model_name: anspruchsvoll      # bewusst und begrenzt
    litellm_params:
      model: azure/<ihr-deployment>
      api_base: https://ihre-instanz.openai.azure.com

Die Zuordnung erfolgt am besten in der Anwendung, nicht automatisch: Ein Klassifikationsschritt nimmt schnell, die Chat-Oberfläche standard, die Vertragsprüfung anspruchsvoll. Automatische Schwierigkeitsklassifikation klingt elegant und erzeugt in der Praxis unvorhersehbares Verhalten — Sie wissen dann nicht mehr, warum eine Antwort schlechter war.

Wie die Entkopplung funktioniert, steht im Beitrag zum Modellwechsel über das Gateway.

Hebel 3: Caching

Zwei verschiedene Dinge, die oft verwechselt werden.

Präfix-Zwischenspeicherung wirkt auf der Seite des Modellservers: Identische Prompt-Anfänge werden nicht neu verarbeitet. Bei lokalen Modellen aktivieren Sie das im Inferenzserver, bei Cloud-Anbietern greift es teils automatisch, teils muss die Anfrage entsprechend strukturiert sein — der unveränderliche Teil zuerst, der variable danach. Das ist eine kostenlose Optimierung, die nur eine Umstellung der Prompt-Reihenfolge verlangt.

Antwort-Caching wirkt im Gateway: Identische Anfragen bekommen dieselbe Antwort, ohne dass das Modell läuft.

litellm_settings:
  cache: true
  cache_params:
    type: redis
    ttl: 3600

Der Anteil identischer Anfragen ist niedriger, als man hofft — Menschen formulieren selten wortgleich. In internen Wissenssystemen sehen wir 5 bis 15 Prozent Trefferquote. Das ist kein großer Hebel, kostet aber auch fast nichts.

Ein Warnhinweis zum semantischen Caching, bei dem ähnliche statt identische Anfragen denselben Cache-Eintrag treffen: Es erhöht die Trefferquote deutlich und birgt ein reales Risiko. "Gilt das Prüfintervall für Behälter über 1000 Liter?" und "Gilt das Prüfintervall für Behälter unter 1000 Liter?" sind semantisch sehr ähnlich und verlangen gegensätzliche Antworten. Setzen Sie den Ähnlichkeitsschwellwert hoch an, oder lassen Sie es bei Fachfragen ganz.

Was die Hebel zusammen bringen

Aus einer typischen Installation, vor und nach der Umstellung:

vorhernachher
Eingabe-Token je Anfrage6.4002.900
Anteil auf dem teuren Modell100 %12 %
Cache-Trefferquote0 %9 %
Monatskosten1.480 €610 €

Der größte Einzelbeitrag kommt aus der Kontextdisziplin, der zweitgrößte aus dem Routing. Beides sind einmalige Änderungen.

Bevor Sie damit anfangen: Ohne Kostenverfolgung je Anwendungsfall wissen Sie nicht, wo Sie ansetzen sollen. Die Einrichtung dafür steht im Beitrag zur Kostenverrechnung pro Abteilung.

Häufig gestellte Fragen

Wie senke ich die Kosten für LLM-Nutzung am wirksamsten?

Über die Kontextlänge. In den meisten Installationen werden deutlich mehr Dokumentabschnitte mitgeschickt als nötig — häufig zwanzig statt sechs. Ein Reranker, der aus vielen Treffern die besten auswählt, senkt die Eingabe-Token erheblich und verbessert gleichzeitig die Antwortqualität, weil das Modell weniger abgelenkt wird.

Was bringt Prompt-Caching wirklich?

Bei Präfix-Zwischenspeicherung auf Serverseite spürbar, wenn Ihre Anfragen einen langen gemeinsamen Anfang haben — etwa einen ausführlichen Systemprompt. Bei Antwort-Caching im Gateway eher wenig: Der Anteil wortgleicher Anfragen liegt in internen Wissenssystemen bei 5 bis 15 Prozent, weil Menschen selten identisch formulieren.

Ist semantisches Caching sinnvoll?

Mit Vorsicht. Es erhöht die Trefferquote deutlich, birgt aber ein inhaltliches Risiko: Zwei Fragen können semantisch sehr ähnlich sein und gegensätzliche Antworten verlangen — etwa bei Grenzwerten oder Bedingungen. Bei Fachfragen mit Zahlen raten wir davon ab oder setzen den Ähnlichkeitsschwellwert so hoch an, dass praktisch nur identische Anfragen treffen.

Sollte die Modellauswahl automatisch nach Schwierigkeit erfolgen?

Wir raten davon ab. Eine automatische Klassifikation der Anfrageschwierigkeit macht das Systemverhalten unvorhersehbar — bei einer schlechten Antwort wissen Sie nicht mehr, welches Modell sie erzeugt hat. Praktikabler ist die Zuordnung durch die Anwendung: Jeder Anwendungsfall bekommt einen festen logischen Modellnamen.

Lohnt sich Kostenoptimierung bei LLM überhaupt?

Als einmalige Einrichtung ja, als laufende Tätigkeit meist nicht. In mittelständischen Installationen sind die Modellkosten deutlich kleiner als die Personalkosten für den Betrieb. Wer regelmäßig Arbeitszeit in die Optimierung steckt, tauscht teure gegen günstige Euro — die drei genannten Hebel wirken dagegen nach einmaliger Einrichtung dauerhaft ohne Aufwand.


Der nächste Schritt

Führen Sie die Abfrage über Ihre Verbrauchsprotokolle aus und schauen Sie sich das Verhältnis von Eingabe- zu Ausgabe-Token an. Liegt es über zehn zu eins, haben Sie Ihren größten Hebel gefunden, bevor Sie irgendetwas installieren. Bei der Auswertung helfen wir gern.

📖 Verwandte Artikel

Weitere interessante Beiträge zu ähnlichen Themen