Start KI-Lösungen Fertige Lösungen Peers & Simulation RAG & Retrieval Use Cases Frameworks Blog English Kontakt
Zurück zum Blog

Eine Tür für jeden Modellaufruf

Ein Kunde fragte, wie hoch sein Anteil an unseren Modellkosten sei. Wir hatten eine Rechnung eines Anbieters über alles, keine Möglichkeit der Zuordnung — und eine Woche Arbeit vor uns für eine Frage, die eine Datenbankabfrage hätte sein sollen.

Die Frage, die wir nicht beantworten konnten

Es war eine berechtigte und alltägliche Frage: Was kostet Sie der Betrieb unseres Systems im Monat? Wir konnten eine Gesamtsumme über alle Kunden ausweisen und sie nicht aufteilen, weil elf Stellen in unserem Code einen Modellanbieter direkt mit demselben Schlüssel aufriefen.

Es aus Anbieterprotokollen zu rekonstruieren war möglich und unerfreulich, und die Schätzung, die wir schließlich gaben, trug einen Vorbehalt zu ihrer Genauigkeit. Das ist eine schlechte Lage für einen Anbieter, der die Leistung abrechnet und den Kunden bittet, den Zahlen zu vertrauen.

Anfrage Routerschwierigkeit Kleines Modellschnell · günstig Reasoning-Modelllangsam · stark qualität wo nötigkosten wo nicht
Eine Anfrage kommt an — der Router stuft die Schwierigkeit ein. 1/4

Was wir gebaut haben

Einen internen Dienst, durch den jeder Modellaufruf geht. Er nimmt eine benannte Fähigkeit statt einer Modellkennung, einen Mandanten und eine Anfrage. Er gibt die Antwort zurück und hält Mandant, Fähigkeit, tatsächlich genutztes Modell, Tokenzahlen und Latenz fest.

Mehr tut er nicht. Er ist kein Framework und hat bewusst keine Meinung zu Prompts, Wiederholungen oder Orchestrierung — denn ein Gateway, das anfängt zu entscheiden, wird zu einer Komponente, die jedes Team verstehen muss, statt zu einer, die es ignorieren kann.

Die vier Dinge, die es eingebracht hat

Zuerst die Zuordnung, wofür wir es gebaut haben. Kosten je Mandant, je Fähigkeit und je Anfrage sind heute eine Abfrage, und das Kundengespräch, das dies auslöste, dauert eine Minute statt eines Tages.

Dann die Austauschbarkeit: Weil Aufrufer eine Fähigkeit verlangen, ist der Wechsel des bedienenden Modells Konfiguration. Dann eine einzige Stelle für Zeitüberschreitungen und Ratenbegrenzungen je Mandant. Und schließlich ein Prüfpfad — was sich als das herausstellte, was unsere Sicherheitsprüfungen die ganze Zeit wollten.

Je Aufruf festgehaltenWarum es zählt
Mandant und FähigkeitZuordnung ohne Raten
Tatsächlich genutztes Modell und VersionDamit ein stiller Anbieterwechsel sichtbar wird
Tokenzahlen ein und ausKosten und Drift der Prompt-Größe
Latenz und ob gecacht wurdeLeistung und Trefferquoten

Die Forschung zur selben Idee

Martin und Kollegen beschrieben in jenem Oktober eine Vermittlungsschicht zwischen Anwendungen und Modellanbietern, die die Zugangskosten senken soll, indem sie Anfragen routet und die Mechanik zentral erledigt statt in jeder Anwendung.

Wir hatten unseres für die Buchhaltung gebaut und nicht fürs Routing, und die Lektüre brachte uns dazu, das Routing zu ergänzen, um das wir uns gedrückt hatten. Das Gateway schickt die begrenzten mengenstarken Fähigkeiten heute an ein kleines Modell und die offenen an ein Spitzenmodell — eine Änderung, die möglich war, weil es eine Stelle dafür gab.

Was es zu tun sich weigert

Es wiederholt nicht. Die Wiederholungsstrategie hängt davon ab, was der Aufrufer tut, und ein Gateway, das still wiederholt, macht aus einem sichtbaren Fehlschlag drei unsichtbare plus Kosten, die der Aufrufer nicht bewilligt hat.

Es cacht nicht mandantenübergreifend, aus Gründen, über die wir gesondert geschrieben haben. Und es verändert keine Prompts — was offensichtlich klingt und das am häufigsten gewünschte Merkmal ist, meist als gut gemeinter Einfall, überall eine Standardanweisung einzuschleusen.

Die Zahl, die uns überrascht hat

Sobald wir Ausgaben je Fähigkeit sehen konnten, entfielen achtunddreißig Prozent der Rechnung auf einen Schritt. Es war eine Zusammenfassung, die bei der Aufnahme über jedes Dokument läuft und die niemand kalkuliert hatte, weil sie im Hintergrund läuft und niemand darauf wartet.

Wir haben sie auf ein kleineres Modell verschoben, und die Rechnung fiel um rund ein Viertel, ohne messbare Qualitätsänderung auf dem Referenzset. Dieser eine Fund deckte die Baukosten des Gateways mehrfach — und aus einer Rechnung hätten wir ihn nie gefunden.

Was wir jemandem raten würden, der anfängt

Baut es, bevor ihr es braucht, und haltet es dumm. Unseres kostete eine Woche bei elf Aufrufstellen; bei vierzig hätte es einen Monat gekostet und wäre vermutlich wieder zugunsten von etwas Dringenderem verschoben worden.

Die Disziplin, die es trägt, ist, dass Aufrufer Fähigkeiten benennen. Benennen sie Modelle, ist das Gateway nur eine Buchhaltungsschicht, und jede Modellentscheidung bleibt genau so über den Code verstreut wie zuvor.

Was wir nicht behaupten

Wir behaupten nicht, ein Gateway verbessere die Qualität. Es verbesserte unsere Sicht und unsere Änderbarkeit, und die folgenden Qualitätsgewinne kamen aus Entscheidungen, die diese Sicht ermöglichte, nicht aus der Komponente selbst.

Wir behaupten auch nicht, unseres sei ein Produkt. Es sind ein paar hundert Zeilen, zugeschnitten auf unsere Arbeitsweise, und der Grund gegen etwas Größeres ist, dass das meiste, was größere Frameworks mitbringen, genau jenes meinungsstarke Verhalten ist, das das Gateway nicht haben sollte.

Quellen