Die fünf Techniken verstärken sich gegenseitig. Jede senkt einen anderen Teil der Rechnung — drei davon bringen Sie realistisch zu einer Reduzierung um 70 % ohne Qualitätsverlust; mit allen fünf kommen Sie näher an 85–90 %. Dieser Leitfaden bietet das vollständige Menü mit gemessenen Einsparungen und ausführbarem Code für jede Technik. Jede Technik verlinkt unten auf einen fokussierten Deep Dive.
Die fünf Techniken, nach ROI geordnet
| # | Technik | Was sie reduziert | Realistische Einsparung |
|---|---|---|---|
| 1 | Prompt-Caching | Eingabetokens bei wiederholten Prompts | 60–90 % weniger Eingabekosten |
| 2 | Modell-Tiering | Tarif pro Aufruf bei einfachen Aufgaben | ~10-mal günstiger |
| 3 | Ausgabelimits | Ausgabetokens, der dominante Kostenfaktor bei kreativen Aufgaben | Ausgabe ist 4–5-mal teurer als Eingabe |
| 4 | Parallelisierung + Batching | Echtzeit, nicht Kosten pro Token | Ermöglicht engere Timeouts und weniger Wiederholungen |
| 5 | Retry-Hygiene | Ausufernde Wiederholungskosten | Begrenzt die Spitze, nicht den Durchschnitt |
1. Prompt-Caching — mit Abstand die Technik mit dem höchsten ROI
Wenn Ihr System-Prompt mehr als 1,000 Tokens umfasst und Sie denselben Prompt innerhalb eines 5-Minuten-Fensters mehr als zweimal aufrufen, ist Prompt-Caching geschenktes Geld. Anthropic berechnet gecachte Eingaben mit 10% des Eingabetarifs (2.5% on Claude Fable 5.1, 5% on Claude Opus 5.5); OpenAI wendet das Entsprechende automatisch mit 10% an. Nur ein Feld wird hinzugefügt:
# Prompt caching: 1 extra field = 10% rate on cached input
resp = client.messages.create(
model="claude-sonnet-5",
max_tokens=600,
system=[{
"type": "text",
"text": LONG_SYSTEM_PROMPT,
"cache_control": {"type": "ephemeral"}, # cache this part
}],
messages=[{"role": "user", "content": question}],
)Realistische Einsparung: 60–90 % Ihrer Eingabekosten, wenn Ihr System-Prompt groß und stabil ist. Sehen Sie in Ihrem /app/usage-Dashboard nach — wenn cache_read_input_tokens 0 ist, stehen Ihnen 30 Minuten Arbeit bevor, die sich dauerhaft auszahlen. Vertiefender Leitfaden.
2. Modell-Tiering — verwenden Sie das günstigste Modell, das gut genug ist
Claude Haiku 4.5 kostet ungefähr 10 % von Claude Opus 4.7. Für Klassifizierung, Formatierung, Routing-Entscheidungen und einfache Zusammenfassungen ist Haiku mehr als ausreichend. Reservieren Sie Opus für wirklich schwierige Reasoning-Aufrufe.
# Pick the cheapest model that's still good enough for the task.
# Escalate by difficulty: cheap (Haiku 4.5 / GPT-5.6 Terra) -> Sonnet 5 -> Opus 4.7
def pick_model(difficulty: int) -> str:
if difficulty <= 2: return "claude-haiku-4-5" # ~10x cheaper than Opus
if difficulty <= 4: return "gpt-5-6-terra" # a second family, cheap output
if difficulty <= 7: return "claude-sonnet-5"
return "claude-opus-4-7"So erstellen Sie die Tiering-Entscheidung: zuerst ein kleiner Klassifikator (Haiku selbst kann dies mit 100 Eingabetokens erledigen), dann weiterleiten. Messen Sie die Ausgabequalität mit zurückgehaltenen Evaluierungen. Lassen Sie nicht Ihre Intuition entscheiden — benchmarken Sie es.
- Tier 0 (Haiku 4.5): Klassifizierung, Extraktion, Übersetzung und Zusammenfassung von <2K Eingaben — Kosten pro Aufruf im Centbereich
- Tier 1 (GPT-5.6 Terra): längere Zusammenfassungen, Codevervollständigung, einfache Tool-Nutzung — ebenfalls Centbeträge, aber besser bei langen Kontexten
- Tier 2 (Sonnet 5): echtes Schlussfolgern, mehrstufige Agenten, Vision-Aufgaben — das Arbeitspferd für den Produktionseinsatz
- Tier 3 (Opus 4.7): nur, wenn du bestätigt hast, dass Sonnet die Aufgabe nicht korrekt löst
3. Ausgabelimits — begrenze, was sie generieren, nicht nur, was sie lesen
Ausgabetokens sind typischerweise 4–5-mal teurer als Eingabetokens. Ein großzügiger Standardwert max_tokens=4096 lädt das Modell zum Abschweifen ein. Begrenze aggressiv und verwende Stop-Sequenzen, um am richtigen Marker abzuschneiden:
# Two-layer caps: per-call max_tokens + per-key wallet cap
client.chat.completions.create(
model="claude-sonnet-5",
messages=[...],
max_tokens=800, # cap each call
stop=["</answer>"], # cut at terminator
)
# /app/keys → set "Spending limit" per key:
# Production: $50/day · Experiment: $5/day · CI: $1/dayKombiniere das max_tokens pro Aufruf mit einem Ausgabenlimit pro Schlüssel im /app/keys — eine Endlosschleife oder ein Fehler kann dein Tageslimit nicht überschreiten. Zwei Ebenen, beide wichtig.
4. Parallelisierung — für batchartige Workloads
Wenn du 1.000 unabhängige Elemente verarbeitest (Feedback klassifizieren, Leads bewerten, Beschreibungen generieren), dauern serielle Aufrufe eine Stunde. Asynchrone Aufrufe mit AsyncOpenAI und einem Nebenläufigkeitslimit bringen dich in weniger als einer Minute ans Ziel — und kürzere Timeouts lassen dich bei langsamen Upstream-Diensten schnell abbrechen. Parallelisierung senkt die Kosten pro Token nicht, ermöglicht aber Architekturmuster (idempotente Verarbeitung, kleinere Retry-Budgets), die dies tun.
5. Retry-Hygiene — bezahle nicht für endlose Wiederholungsversuche
Naiver Code versucht Anfragen bei jedem Fehler erneut, einschließlich 400-Fehlern. Damit bezahlst du für Fehlschläge (4xx-Anfragen bei Kunavo werden nicht berechnet, aber du verbrauchst trotzdem Rate-Limit-Budget und tatsächlich verstrichene Zeit). Die korrekte Richtlinie: Versuche Anfragen nur bei 408/429/5xx erneut, mit exponentiellem Backoff und Jitter, maximal 5 Versuchen insgesamt und insgesamt höchstens 30 Sekunden Wartezeit. Bei allen anderen Fehlern sofort abbrechen und den Fehler ausgeben.
So sehen die Einsparungen in der Praxis aus
Realistisch gemessene Einsparungen bei einem Kunavo-nutzenden SaaS mit Ausgaben von 5.000 $/Monat:
- Prompt-Caching hinzugefügt: 2.000 $ eingespart (−40 %)
- Haiku-Tiering für Klassifizierung: 800 $ eingespart (−16 %)
- Kleineres
max_tokens: 400 $ eingespart (−8 %) - Kombiniert: 3.200 $/Monat eingespart, 1.800 $ ausgegeben (−64 % insgesamt)
Diese Effekte verstärken sich — jede weitere Technik wirkt auf der bereits reduzierten Ausgangsbasis. Ohne zuerst angewendetes Caching sparen die anderen weniger. Die Reihenfolge zählt: Beginne mit Nr. 1, dann Nr. 2, dann Nr. 3.
Was nicht wie beworben funktioniert
- „Embedding für alles“ — Embeddings sparen bei der Textsuche, nicht bei der Generierung. Sie sind günstig, senken aber nicht die Kosten von LLM-Aufrufen
- „Lokale Fine-Tunes zur Kostensenkung“ — nur gerechtfertigt, wenn du mindestens 10 Mio. Tokens pro Tag für eine eng begrenzte Aufgabe verarbeitest. Für die meisten Teams ist Prompt-Caching plus Haiku-Tiering angesichts des operativen Aufwands des Self-Hostings die bessere Wahl
- „Günstigere Aggregatoren“ — Kunavo bepreist die meisten Modelle bereits unter dem offiziellen Tarif des Anbieters. Günstigere Aggregatoren gewinnen meist, indem sie dein angefordertes Modell stillschweigend durch ein günstigeres ersetzen
Nächste Schritte
Wende zuerst Caching an — es bietet den höchsten ROI pro investierter Stunde. Instrumentiere dann deine Aufschlüsselung im Dashboard /app/usage nach Modell und Tier. Führe anschließend Tiering ein. Verfolge die monatlichen Kosten pro aktivem Nutzer als zentrale Kennzahl — wenn sie bei wachsendem Engagement gleich bleiben oder sinken, bist du auf dem richtigen Weg.
Häufig gestellte Fragen
Wie stark kann Prompt-Caching eine LLM-Rechnung senken?
Anthropic berechnet gecachte Eingaben mit 10% des normalen Eingabetarifs (2.5% on Claude Fable 5.1, 5% on Claude Opus 5.5), und OpenAI wendet das entsprechende Verfahren automatisch mit 10% an. Bei einer Arbeitslast mit einem großen, stabilen System-Prompt bedeutet das 60–90 % weniger Eingabekosten. Wenden Sie es zuerst an — jede spätere Technik arbeitet dann auf der reduzierten Grundlage. Die genaue Anfrageform finden Sie im Deep Dive zu Prompt-Caching.
Wie viel günstiger ist Claude Haiku als Claude Opus?
Claude Haiku 4.5 kostet ungefähr 10 % von Claude Opus 4.7 — also etwa 10-mal weniger. Für Klassifizierung, Extraktion, Übersetzung und kurze Zusammenfassungen reicht Haiku aus; reservieren Sie Opus für Reasoning-Aufgaben, bei denen Sie bestätigt haben, dass Claude Sonnet 5 Fehler macht. Die aktuellen modellbezogenen Tarife finden Sie im Leitfaden zu den Claude-API-Preisen.
Sind Ausgabetokens teurer als Eingabetokens?
Ja — Ausgabetokens kosten typischerweise 4–5-mal mehr als Eingabetokens. Deshalb ist ein großzügiger Standardwert max_tokens=4096 teuer: Er lädt das Modell dazu ein, in der teuersten Rechnungszeile auszuschweifen. Begrenzen Sie max_tokens pro Aufruf und verwenden Sie Stop-Sequenzen, um am richtigen Marker abzubrechen.
Wie stark kann man eine LLM-Rechnung insgesamt realistisch senken?
Durch die Kombination von drei der fünf Techniken lässt sich realistisch eine Reduzierung um 70 % ohne Qualitätsverlust erreichen; mit allen fünf kommt man näher an 85–90 %. Bei einer gemessenen Arbeitslast von $5,000/Monat sparten Prompt-Caching $2,000 (−40 %), Haiku-Tiering für Klassifizierung $800 (−16 %) und engere max_tokens $400 (−8 %) — $3,200 gespart, $1,800 ausgegeben, insgesamt 64 % Reduzierung.
Wie lautet die richtige Retry-Policy für LLM-API-Aufrufe?
Wiederholen Sie nur Antworten mit 408, 429 und 5xx, mit exponentiellem Backoff plus Jitter, begrenzt auf 5 Versuche und insgesamt 30 Sekunden Wartezeit. Bei allem anderen sofort abbrechen. Eine Wiederholung von 400 schlägt nie fehlfrei durch — und obwohl fehlgeschlagene 4xx-Anfragen bei Kunavo nicht berechnet werden, verbrauchen sie dennoch Ratenlimit-Budget und Echtzeit.