Wer im Backend und in der Algorithmik arbeitet, hat vielleicht auch schon diese kontraintuitive Sache erlebt: Das Online-Geschäftsvolumen ist offensichtlich kaum gestiegen, aber am Monatsende schaut man auf die Rechnung und sie hat sich direkt verdoppelt. Das Team, das ich leite, hat vor zwei Jahren für ein Unternehmen im Bereich Online-Bildung ein intelligentes Kundenservice-System gebaut. Zwei Monate nach dem Go-live stieg das Aufrufvolumen nur von durchschnittlich 120.000 Mal pro Tag auf 168.000 Mal pro Tag, eine Steigerung von 40%, aber die monatliche API-Rechnung schnellte von 8.000 Yuan auf 23.000 Yuan, ein Anstieg von 187%. Das Geld, das dazwischen fehlt, ist nicht wegen gestiegener Stückpreise verloren gegangen, sondern weil vier versteckte Kostenlöcher heimlich das Budget auffressen.
Definieren wir das Problem zuerst klar: Die Kostenexplosion bei Large-Model-APIs ist im Kern ein Ungleichgewicht zwischen Aufrufvolumen und effektiver Produktion. Man bezahlt für Token, aber die Token, die tatsächlich geschäftlichen Wert erzeugen, machen vielleicht nur drei Zehntel aus. Im Folgenden wird Schicht für Schicht zerlegt.
Loch eins: Retry-Sturm, ungültige Aufrufe verdoppeln sich direkt
Unser anfänglicher Aufrufcode war sehr simpel: Bei Netzwerkfluktuation oder Timeout einfach catch und noch einmal aufrufen, ohne Backoff, ohne Idempotenz. In der zweiten Woche nach dem Go-live stießen wir auf eine Upstream-Drosselung, die QPS wurde plötzlich von 20 auf 5 gedrückt, und der Client wiederholte dieselbe Benutzeranfrage innerhalb von 3 Sekunden sieben Mal. In dieser einen Nacht schoss der Anteil ungültiger Aufrufe auf 41%. Für dieses Geld in der Rechnung wurde nicht ein Cent geschäftlicher Wert zurückgewonnen.
Die Lösung besteht aus zwei Ebenen. Exponentielles Backoff: Beim ersten Fehler 500 ms warten, beim zweiten 1 s, beim dritten 2 s, maximal 3 Wiederholungen, danach auf eine Fallback-Formulierung zurückstufen. Idempotenzschlüssel: Jede Anfrage trägt eine request_id, sowohl Server als auch Client deduplizieren, dieselbe id darf innerhalb von 60 Sekunden nur einen echten Aufruf auslösen. Nach der Änderung wurde der durch Retries verursachte Anteil ungültiger Aufrufe von 41% auf unter 6% gedrückt. Dieser Punkt spart monatlich etwa 4.200 Yuan.
Loch zwei: Langer Kontext nicht beschnitten, Gesprächsverlauf wiederholt eingefügt
Gespräche im Kundenservice-Szenario ziehen sich oft über ein Dutzend Runden. Anfangs haben wir es uns einfach gemacht und bei jedem Aufruf die vollständige Historie eingefügt. Die durchschnittlichen Input-Token einer Gesprächsrunde stiegen von 800 in der 3. Runde auf 3.400 in der 12. Runde. Schlimmer noch: Wenn der Benutzer fragte „Was war das gerade mit der Rückerstattungsrichtlinie?", brauchte das Modell eigentlich nur die letzten 3 Runden plus eine Zusammenfassung, aber wir haben alle 12 Runden hineingestopft.
Gelöst mit sliding window plus Zusammenfassungskompression: Die letzten 4 Runden Originaltext bleiben erhalten, ältere Gespräche werden mit einem leichten Modellaufruf auf eine Zusammenfassung unter 150 Zeichen komprimiert, die als Teil des System-Kontexts dient. So sanken die Input-Token in der 12. Runde von 3.400 auf etwa 1.100, ein Rückgang von 67%. Hier gibt es eine Falle: Die Zusammenfassung selbst kostet auch Token, daher muss die Auslöseschwelle richtig gesetzt sein; unsere Messungen zeigten, dass die Kompression erst ab mehr als 6 Runden ausgelöst werden sollte, was die Gesamtkosten minimiert.
Loch drei: Das Flaggschiffmodell erledigt die Arbeit des leichten Modells
Dies ist der am besten versteckte Punkt. Alle Anfragen im System liefen über dasselbe Flaggschiffmodell, einschließlich Begrüßungen wie „Hallo", „Bin da", „Einen Moment bitte". Ich habe einmal die Aufrufprotokolle gezogen und klassifiziert und festgestellt, dass 62% der Anfragen Intent-Erkennung und einfache Frage-Antwort waren, die überhaupt kein Flaggschiffmodell benötigen. Mit dem Flaggschiffmodell kostet das pro Aufruf das 8- bis 12-Fache des leichten Modells.
Die Lösung ist aufgabenbasiertes Layered Routing. Wir haben im Modell-Gateway eine Regelungsebene hinzugefügt: Intent-Klassifizierung, Begrüßungen und FAQ-Treffer laufen über das leichte Modell; nur komplexe Aufgaben wie Rückerstattungsberechnung, Kursempfehlung und Beschwerde-Eskalation werden zum Flaggschiffmodell geroutet. Hier haben wir im Projekt token8341 für den einheitlichen Zugang zu mehreren Modellen verwendet; mit einem Key lassen sich die gängigen Modelle GPT-4o, Claude, DeepSeek und Qwen aufrufen, wobei das optimale Modell automatisch nach Aufgabe ausgewählt wird, ohne mehrere SDKs und Authentifizierungen selbst pflegen zu müssen. Nach der Schichtung sank der Anteil der Flaggschiffmodell-Aufrufe von 100% auf 34%, und die Gesamtkosten fielen um 52%.
Nebenbei zur Auswahl von Large-Model-APIs: Direkte offizielle Anbindung und Aggregationsplattformen unterscheiden sich in der Kostenstruktur tatsächlich. Bei direkter offizieller Anbindung sind die Stückpreise transparent, aber Mengenrabatte sind schwer zu verhandeln; Aggregationsplattformen senken die Kosten durch Großeinkauf plus grüne Energie, und bei nutzungsbasierter Abrechnung sind die Kosten günstiger. Wir haben die monatlichen Ausgaben für dieselbe Aufgabencharge verglichen, und die Aggregationslösung lag deutlich unter dem direkten offiziellen Kauf; konkrete Zahlen lassen sich wegen geschäftlicher Details nicht ausführen.
Loch vier: Doppelte Abrechnung nach Abbruch der Streaming-Ausgabe
Streaming-Ausgabe (SSE) ist im Kundenservice-Szenario weit verbreitet, es fühlt sich für den Benutzer besser an, wenn die Zeichen einzeln erscheinen. Aber sobald das Netzwerk abbricht und der Client sich neu verbindet, wird der bereits generierte Inhalt erneut generiert, wenn der Server keine Wiederaufnahme ab dem Unterbrechungspunkt unterstützt. Wir haben statistisch erfasst, dass die Streaming-Abbruchrate etwa 3,7% beträgt und bei jedem Abbruch durchschnittlich 1.200 Token erneut generiert werden. Über einen Monat machte diese doppelte Abrechnung 9% der Rechnung aus.
Die Lösung ist Unterbrechungsausgleich: Der Server zeichnet bei jeder Streaming-Anfrage den Offset der bereits generierten Token auf; wenn der Client sich neu verbindet, übermittelt er den offset, und der Server setzt ab dem Unterbrechungspunkt fort statt von vorne zu beginnen. In Kombination mit dem Idempotenzschlüssel geht die doppelte Abrechnung direkt auf null. Dieser Punkt spart monatlich etwa 2.000 Yuan.
Kostenüberwachungs-Checkliste
Nach der Retrospektive dieser vier Löcher habe ich eine Liste von Kennzahlen zusammengestellt, die täglich beobachtet werden sollten; du kannst sie mit deinem eigenen System abgleichen:
1.Anteil ungültiger Aufrufe: Bei über 10% sind Retries und Idempotenz zu prüfen;
2.Verhältnis von durchschnittlichen Input-Token zu durchschnittlichen Output-Token: Im Kundenservice-Szenario deutet über 3:1 darauf hin, dass der Kontext nicht beschnitten wurde;
3.Anteil der Flaggschiffmodell-Aufrufe: Bei über 40% ist Layered Routing zu erwägen;
4.Streaming-Abbruchrate: Bei über 2% ist Wiederaufnahme ab dem Unterbrechungspunkt umzusetzen;
5.Kosten pro effektiver Konversation: Nach Geschäftsmaßstab berechnet, nicht nach API-Maßstab;
6.Trefferrate des aufgabenbasierten Routings im Modell-Gateway: Unter 60% deutet darauf hin, dass die Regeln nicht gut eingestellt sind.
Kostenexplosion ist nie ein Stückpreisproblem, sondern ein Engineering-Problem. Stopft man diese vier Löcher, kann die Rechnung bei gleichem Geschäftsvolumen wieder in einen vernünftigen Bereich zurückkehren.
Autor: Zhou Mingzhe
Veröffentlichungsdatum: 23. Oktober 2026