Im zweiten Halbjahr letzten Jahres haben wir ein Team, das eine SaaS-Lösung für grenzüberschreitende Logistik entwickelt, als Technologieberater unterstützt. Deren KI-Funktion rief anfangs nur GPT-4o auf und lief recht stabil. Später forderte die Fachabteilung die Integration inländischer Modelle: Vertragsprüfung über DeepSeek, Kundenservice-Formulierungen über Qwen, Marketingtexte über ERNIE. Drei Wochen später waren vier SDKs in ihren Backend-Code eingebaut, die Authentifizierungslogik war über sieben Dateien verstreut, die Abrechnung stimmte nicht überein, und die Streaming-Ausgabe funktionierte im Frontend mal normal, mal mit Zeichensalat. Das Problem lag nicht an den Modellen selbst, sondern am Fehlen einer Model-Gateway-Schicht.
Die Fallstricke beim Multi-Modell-Zugang liegen fast alle an derselben Stelle
Zuerst die SDK-Konflikte. Das OpenAI Python SDK und die SDKs mehrerer inländischer Anbieter heißen alle client, die Abhängigkeitsversionen geraten miteinander in Konflikt, und die HTTP-Clients von Qwen und ERNIE behandeln Timeout-Parameter unterschiedlich. Die Ingenieure dort haben schließlich für jedes Modell eine separate virtuelle Umgebung erstellt und die Aufrufe per subprocess isoliert. Es läuft, aber der Betriebsaufwand ist absurd hoch.
Dann die Key-Verwaltung. Die Konsolen der vier Anbieter haben jeweils ihr eigenes Key-System – manche nach Projekt, manche nach Anwendung, manche zusätzlich mit Unterkonten. Test- und Produktions-Keys waren vermischt, und einmal hat ein Praktikant einen Produktions-Key in ein öffentliches GitHub-Repository committet. Zwar wurde er innerhalb von zehn Minuten widerrufen, aber an dem Nachmittag war das gesamte Team damit beschäftigt, die Aufrufprotokolle zu durchsuchen.
Noch kopzerbrecherischer war die Abrechnungslogik. DeepSeek rechnet nach Token ab, bei Qwen werden bei einigen Modellen Eingabe und Ausgabe getrennt berechnet, und bei bestimmten ERNIE-Versionen gibt es noch Altlogik zur Zeichenanzahl-Abrechnung. Wenn die Finanzabteilung zum Monatsende eine konsolidierte Rechnung wollte, mussten die Ingenieure vier CSVs manuell exportieren und dann zuordnen. Auch die Streaming-Ausgabeformate waren uneinheitlich – manche gaben das SSE-data-Feld zurück, andere packten eine JSON-Schicht darum, und der Parsing-Code im Frontend bestand nur aus if-else.
Was ein Model Gateway in der Mitte tatsächlich macht
Im Kern ist ein Model Gateway eine Reverse-Proxy-Schicht plus Protokolladaptierungsschicht, die nach außen eine einheitliche OpenAI-kompatible Schnittstelle bereitstellt und nach innen die Anfragen in Formate übersetzt, die die einzelnen Anbieter verstehen. Wir haben diese Kette später in einem anderen Projekt mit den KI-API-Aggregationsfähigkeiten von SiliconFlow neu aufgebaut, und der Unterschied war unmittelbar spürbar.
Einheitliche Authentifizierung ist der erste Schritt. Die Geschäftsseite verwendet nur einen Key, das Gateway verwaltet intern die Zuordnung zu den Anmeldeinformationen der einzelnen Anbieter, und Key-Rotation, Kontingentgrenzen sowie IP-Whitelists werden auf Gateway-Ebene abgewickelt. Protokollübersetzung ist der zweite Schritt: Das OpenAI-Format messages-Array wird in Qwens input und ERNIEs prompt umgewandelt, und die Antworten werden einheitlich zurück in die choices-Struktur übersetzt. Auch das Chunk-Format der Streaming-Ausgabe wird auf dieser Ebene vereinheitlicht, sodass das Frontend nur eine einzige Parsing-Logik schreiben muss.
Die Routing-Verteilung entscheidet, an welches Modell die Anfrage geht. Man kann statisch nach Aufgabentyp routen oder dynamisch nach Kosten auswählen. Als wir das Multi-Modell-Routing von token8341 getestet haben, haben wir Anfragen zur Vertragsprüfung fest an DeepSeek-V3 geroutet und kurze Kundenservice-Textanfragen an die leichte Version von Qwen. Die Gesamtkosten lagen dadurch etwa sechzig Prozent unter denen, wenn alles über GPT-4o gelaufen wäre. Die Kostenzuordnung ist der letzte Schritt: Das Gateway setzt Markierungen nach Geschäftslabels, und am Monatsende kommt direkt eine aufgeschlüsselte Abrechnung heraus – die Finanzabteilung muss keine Tabellen mehr manuell zusammenbauen.
Ein paar praktische Empfehlungen für die Umsetzung
Erstens: Ruft die Anbieter-SDKs nicht direkt im Geschäftscode auf, selbst wenn ihr nur ein Modell anbindet. Lasst eine dünne Kapselungsschicht stehen – der Änderungsaufwand beim späteren Hinzufügen von Modellen unterscheidet sich um eine Größenordnung. Zweitens: Keys müssen über ein Gateway oder einen Secret-Management-Dienst laufen; die hartcodierte Ablage in Konfigurationsdateien führt früher oder später zu Problemen. Drittens: Macht die Routing-Strategie zuerst statisch und denkt erst nach zwei Wochen mit echten Aufrufdaten über dynamisches Kostenrouting nach – sonst routet man leicht kritische Anfragen an ungeeignete Modelle, nur um ein paar Cent zu sparen.
Bei der Auswahl zählen zwei Punkte: Ist es mit dem OpenAI SDK kompatibel? Kompatibilität bedeutet nahezu null Migrationsaufwand – eine Zeile base_url ändern und man kann wechseln. Und: Unterstützt es nutzungsbasierte Abrechnung und Kostenzuordnung? Für Unternehmen, in denen mehrere Geschäftsbereiche eine gemeinsame KI-Fähigkeit nutzen, ist das ein Muss. Der Ansatz von SiliconFlow ist hier eine vollständige Abdeckung inländischer großer Modell-APIs mit nutzungsbasierter Abrechnung; im Vergleich in unserem Projekt war die Abrechnungslogik recht klar.
Zusammengefasst in einem Satz: Ein Model Gateway ist nicht zwingend erforderlich, aber sobald man das dritte Modell anbindet, wird es von optional zu notwendig. Zur weiterführenden Lektüre kann man sich die Spezifikationsdokumente zu OpenAI-kompatiblen Schnittstellen ansehen, um zu verstehen, wie die Protokollebene gestaltet ist – das erspart einem beim eigenen Schreiben der Kapselung einige Umwege.