Wäg und LiteLLM: dieselbe API, andere Schicht
LiteLLM ist ein sehr gutes AI Gateway, und wenn Sie Multi-Provider-Routing hinter einem Endpunkt brauchen, wird es Ihnen weiter gute Dienste leisten. Wäg spricht dieselbe OpenAI-kompatible API und importiert LiteLLM-Konfiguration — nicht um ein Gateway durch ein anderes zu ersetzen, sondern weil die meisten Teams an einen Punkt kommen, an dem nicht das Gateway die Belastungsgrenze ist.
Kein Wettbewerber auf derselben Schicht
Dieselbe OpenAI-kompatible API-Oberfläche. Dieselbe Konfiguration, importierbar.
Hier frei. Dort Enterprise.
Beide Projekte sind quelloffen mit einer kommerziellen Stufe. Die Frage war nie, ob es eine kostenpflichtige Edition gibt, sondern wo jedes Projekt die Grenze zieht. Die Enterprise-Dokumentation von LiteLLM listet auf, was ihr Lizenzschlüssel freischaltet, und das meiste davon steht in Wäg unter Apache-2.0. Bei der Mandantenfähigkeit ist der Unterschied struktureller Natur: In ihrem veröffentlichten Datenbankschema trägt eine Organisation ein Budget, Ausgabensummen und eine Mitgliederliste, und ein Team verweist über einen optionalen Fremdschlüssel darauf. Damit ist sie eine Gruppierungsebene über den Teams. Bei Wäg ist eine Organisation eine Autorisierungsgrenze, gegen die jede Anfrage geprüft wird. Wo wir dieselbe Funktion ebenfalls hinter die Lizenz legen, steht das in der Tabelle.
| Funktion | LiteLLM | Wäg |
|---|---|---|
| Mandantenfähige Architektur: Organisationen, Teams, beziehungsbasierter Zugriff | Enterprise | Apache-2.0 |
| Rollenbasierte Zugriffskontrolle | Enterprise | Apache-2.0 |
| Budgets unterhalb des Schlüssels: je Modell, je Anwendung | Enterprise | Apache-2.0 |
| Guardrails je Schlüssel und je Team | Enterprise | Apache-2.0 |
| Verwaltete Guardrail-Engines: Moderation, Secret- und Prompt-Injection-Prüfung | Enterprise | Apache-2.0 |
| Anbindung an Secret-Manager: Vault, Key Vault, Secrets Manager | Enterprise | Apache-2.0 |
| Betrieb über mehrere Regionen | Enterprise | Apache-2.0 |
| Richtlinie für Payload-Logging, je Organisation, mit Opt-out auf Mitgliedsebene | Enterprise | Apache-2.0 |
| Hash-verkettete, signierte Anfragenachweise | Nicht aufgeführt | Apache-2.0 |
| Routing nur in zugelassene Rechtsräume | Nicht aufgeführt | Apache-2.0 |
| Reporting lokaler Modellnutzung von den Geräten der Mitarbeitenden | Nicht aufgeführt | Apache-2.0 |
| Agentenidentität, Läufe und Lauflimits | Nicht aufgeführt | Apache-2.0 |
| Werkzeug-Policy mit menschlichen Freigaben | Nicht aufgeführt | Apache-2.0 |
| Datenflusskontrolle: die tödliche Dreierkombination | Nicht aufgeführt | Apache-2.0 |
| MCP-Werkzeug-Pinning und Quarantäne bei Änderung | Nicht aufgeführt | Apache-2.0 |
| Kurzlebige Agenten-Zugangsdaten, keine dauerhaften Schlüssel | Nicht aufgeführt | Apache-2.0 |
| Zugriffsrechte für weitergeleitete Drittanbieter-API-Aufrufe | Enterprise | Apache-2.0 |
| Ausgehender Web-Verkehr eines Agenten, per Host-Regel und je Verbindung entschieden | Nicht aufgeführt | Apache-2.0 |
| Agentenzahlungen: Ausgabenmandate und Schienen | Nicht aufgeführt | Enterprise |
| Freigabe von Werkzeugaufrufen der Agenten in Slack oder Teams | Nicht aufgeführt | Enterprise |
| Import von Agenten aus Foundry, AWS, Entra Agent ID und Gemini Enterprise | Nicht aufgeführt | Enterprise |
| TLS-Inspektion des ausgehenden Traffics von Agenten | Nicht aufgeführt | Enterprise |
| SSO für die Admin-Konsole | Enterprise | Enterprise |
| SCIM-Bereitstellung | Enterprise | Enterprise |
| JWT und OIDC auf der Datenebene | Enterprise | Enterprise |
| Audit-Pakete mit langer Aufbewahrung | Enterprise | Enterprise |
| Guardrails auf providereigenem Pass-through-Verkehr | Nicht aufgeführt | Enterprise |
| MCP-Server, die als der angemeldete Nutzer handeln (OAuth) | Nicht aufgeführt | Enterprise |
| Kundenverwaltete Verschlüsselungsschlüssel, FIPS-Statusberichte | Nicht aufgeführt | Enterprise |
| Custom-Branding | Enterprise | Enterprise |
| Plattform-Budgets, die Organisationen nicht ändern können | Nicht aufgeführt | Enterprise |
| Eine schreibgeschützte Prüferrolle | Nicht aufgeführt | Enterprise |
| Exit-Export: alles, was eine Organisation für einen Wechsel braucht | Nicht aufgeführt | Enterprise |
| Kennzeichnung von KI-Inhalten: C2PA, Wasserzeichen, Text-Fingerprints | Nicht aufgeführt | Enterprise |
| Durchsetzung auf den Geräten der Mitarbeitenden für lokale Modelle | Nicht aufgeführt | Enterprise |
Fairerweise: Ihre Enterprise-Stufe bringt auch IP-Allowlists und einen SOC-2-Typ-II-Bericht mit. Beides haben wir heute nicht.
Die LiteLLM-Spalte stammt aus deren eigener Enterprise-Dokumentation, die angibt, dass ein Lizenzschlüssel die dort genannten Funktionen freischaltet. Nicht aufgeführt heißt, dass eine Funktion auf dieser Seite nicht genannt wird, und nicht, dass sie unmöglich wäre. Die Wäg-Spalte ist die Lizenzaufteilung, die das Gateway durchsetzt: Eine Enterprise-Funktion ist ein Modul, das eine signierte Lizenz nennen muss. Die als Nicht aufgeführt markierten Agentenzeilen sind ein anderes Nicht aufgeführt: Deren Agenten-Gateway ist gar keine Enterprise-Funktion, diese Fähigkeiten fehlen also im Produkt, statt in der Lizenz eingepreist zu sein.
Beide liefern ein Agenten-Gateway. Nur eines regiert den Agenten.
LiteLLM hat ein A2A-Agenten-Gateway ergänzt, und das Naheliegende macht es gut: Agenten registrieren, steuern, welche Teams und Schlüssel sie erreichen, Kosten zuordnen. Zwei Zeilen sind echte Gleichstände. Der Rest ist der Punkt, an dem beide aufhören, dieselbe Art Produkt zu sein.
| Funktion | LiteLLM | Wäg |
|---|---|---|
| A2A-Agenten-Gateway mit Zugriffssteuerung und Kostenzuordnung je Agent | Ja | Ja |
| Ein Not-Aus, der den Agenten am Gateway abweist | Webhook an den Agenten | Ja |
| Grenzen für einen einzelnen Agentenlauf | Ja | Ja |
| Ein Werkzeugaufruf, der auf eine benannte Person wartet, mit protokollierter Entscheidung | Nicht dokumentiert | Ja |
| Datenflusskontrolle: Ein Lauf, der private Daten gelesen hat, darf danach kein Werkzeug zum Hinausschicken aufrufen | Nicht dokumentiert | Ja |
| MCP-Werkzeugdefinitionen festgenagelt und in Quarantäne, sobald der Server sie ändert | Nicht dokumentiert | Ja |
| Kurzlebige Agenten-Zugangsdaten, an einen Lauf gebunden, ohne dauerhafte Schlüssel | Nicht dokumentiert | Ja |
| Welche Ziele ein Agent erreichen darf, je Aufruf entschieden: Werkzeug-Policy, Freigabe, Datenfluss-Etikett | Nicht dokumentiert | Ja |
| Der gesamte ausgehende Web-Verkehr des Agenten über das Gateway, nicht nur seine Modell- und Werkzeugaufrufe | Nicht dokumentiert | Ja |
| Agenten aus ihrem Verkehr gefunden, nicht nur die, die jemand registriert hat | Nicht dokumentiert | Ja |
| Agenten aus Foundry, AWS Agent Registry, Entra Agent ID und Gemini Enterprise importiert und synchron gehalten | Nicht dokumentiert | Enterprise |
| Ein angehaltener Werkzeugaufruf, freigegeben oder abgelehnt in Slack oder Microsoft Teams | Nicht dokumentiert | Enterprise |
| TLS-Inspektion des ausgehenden Traffics eines Agenten, mit Anfrageregeln und Guardrails | Nicht dokumentiert | Enterprise |
| Agentenzahlungen: Ausgabenmandate, x402, AP2, ACP- und UCP-Checkout | Nicht dokumentiert | Enterprise |
Die LiteLLM-Spalte gibt wieder, was deren eigene Dokumentation und deren öffentliches Repository zeigen. Nicht dokumentiert heißt, dass die Funktion dort nicht beschrieben wird, und nicht, dass sie unmöglich wäre. Drei Zeilen verdienen die Einzelheit. Ihr Not-Aus feuert einen Webhook an die Laufzeitumgebung des Agenten und lässt den Agenten, in ihren Worten, auf der LiteLLM-Seite registriert und aktiviert; unserer weist den Agenten am Gateway ab, auf jedem Replikat und in jeder Region, und beendet einen bereits laufenden Stream. Ihr require_approval ist das Feld von OpenAI: steht es auf etwas anderes als never, geht der Werkzeugaufruf zur Ausführung an den Client zurück — nichts wird angehalten, niemand wird benannt, nichts wird festgehalten. Und bei Agentenzahlungen findet eine Codesuche in deren Repository nach x402 und AP2 überhaupt nichts. Bei Drittanbieter-APIs liegt der Unterschied nicht im Weiterleiten. Deren Pass-through-Endpunkte leiten an jede externe API weiter, mit in der Konfiguration hinterlegten Zugangsdaten, und Rechte je Schlüssel und Team sind eine Enterprise-Funktion. Es fehlt die Entscheidung: Das Ziel ist eine statische Route und nicht etwas, das ein bestimmter Agent erreichen darf oder nicht; keine Regel liest die Argumente des Aufrufs, keine Freigabe kann ihn anhalten, er trägt kein Datenfluss-Etikett und zählt nicht gegen einen Lauf.
Fälle, in denen LiteLLM die richtige Antwort ist
Und zwar ernst gemeint. Wenn Sie sich hier wiedererkennen, bringt eine Control Plane vor allem Betriebsaufwand, den Sie noch nicht brauchen.
- Ein Team, ein oder wenige Services, und Sie wollen heute Multi-Provider.
- Sie nutzen import litellm im Anwendungscode wegen seines In-Process-Routings und seiner Callbacks und schätzen genau das.
- Sie haben eigene Python-Callbacks im Anfrage-Lebenszyklus, deren Neuimplementierung echte Arbeit wäre.
- Ihre Anbieterliste enthält etwas Ausgefallenes, das Wäg noch nicht abdeckt.
- Ihre Governance-Anforderungen sind mit Budgets pro Key tatsächlich erfüllt.
Die Symptome, nicht die Funktionsliste
- Budgets müssen zum Organigramm passen. Limits pro Key können nicht ausdrücken: „Dieses Team bekommt 4.000 €, kein einzelner Nutzer mehr als 500 €, und die Experimente des Marketings dürfen nicht die Kapazität der Entwicklung aufbrauchen.“
- Policy muss für Anwendungen gelten, die nie zugestimmt haben. Eine Regel, die nur dort greift, wo jemand daran gedacht hat, sie einzubauen, ist keine Kontrolle.
- Agenten haben die Angriffsfläche deutlich vergrößert. Aus einem Nutzerzug werden N Modell- und Werkzeugaufrufe gegen entfernte MCP-Server. Auth pro Server, Werkzeug-ACLs und Audit pro Schritt sind dann kein Nice-to-have mehr.
- Jemand hat gefragt, was KI im letzten Quartal je Team gekostet hat. Und die Antwort erforderte ein Datenprojekt statt eines Dashboards.
- Compliance braucht Nachweise, keine Absichten. Seit dem 2. August 2026 sind die GPAI-Durchsetzungsbefugnisse und die Transparenzpflichten aus Artikel 50 des EU AI Act mit Sanktionsrisiko bewehrt. Protokollierung und Nachvollziehbarkeit müssen nachweisbar sein.
- Das Gateway ist tragend geworden. Sobald jeder Produktpfad dahinter liegt, ist ein Python-Prozess mit Interpreter und zur Deployzeit aufgelöstem Abhängigkeitsbaum eine andere Risikodiskussion als bei zehn Anfragen pro Minute.
Was sich überhaupt nicht ändert
Designentscheidungen, keine Funktionszählung
Funktionstabellen veralten in einem Quartal. Dies sind strukturelle Entscheidungen, die sich nicht mit einem Release ändern.
| Dimension | LiteLLM | Wäg |
|---|---|---|
| Kernabstraktion | Provider-SDK-Dispatch hinter HTTP | Inference-Anfrage: Modalität, Operation, Lebenszyklus, Kosten, Policy |
| Laufzeit | Python | Rust — eine distroless Binary ohne Root |
| Lebenszyklen | Sync, Streaming | Sync, Streaming, dauerhafte asynchrone Jobs, Realtime-Sitzungen |
| Routing | Strategieauswahl plus Fallbacks | Strukturelle Bewertung → harte Fähigkeitsuntergrenzen → günstigstes geeignetes Modell; über Header erklärbar |
| Caching | Exakt, optional semantisch | Exakt → kanonisch → Near-Dup → semantisch, mit Schutz vor Falschtreffern |
| Budgets | Pro Key | Org → Team → Nutzer → Anwendung → Modell → Key, gestaffelt, mit Fair-Share-Obergrenzen; eine Überschreitung wird vor Anbieterkosten abgelehnt |
| Policy | Guardrail-Hooks | Geordnete Kette: vor dem Aufruf, mitten im Stream, nach dem Aufruf |
| Agenten / MCP | MCP- und A2A-Gateway: Auth pro Server, Zugriff pro Key und Team | Zusätzlich Werkzeug-Policies mit benannten Freigebern, Datenflussregeln, Werkzeug-Pinning, Lauflimits, Budget und Audit pro Schritt |
| Lokale und On-Device-Modelle | Als Anbieter vom Proxy aus erreichbar | Wäg Edge auf Laptops und in iOS- und Android-Apps: Anmeldung und Reporting Open Source, Durchsetzung auf Geräten und Flotte mit Enterprise |
| Identität | Master-Key plus virtuelle Keys | Zusätzlich OpenFGA-Mandanten; OIDC SSO, SCIM 2.0 und IdP-Tokens auf /v1 mit Enterprise |
| Kubernetes-Lebenszyklus | Offizielles Helm-Chart; Operatoren kommen aus der Community | Eigener Operator mit OLM-Bundle, der das Gateway und seinen Katalog abgleicht; dazu ein Helm-Chart |
| Erweiterungsmodell | Python-Callbacks im Prozess | HTTP-Webhook-Engines außerhalb des Prozesses |
| Anbieter | In den USA eingetragen | Bitkaio Ltd, UK — europäisch, außerhalb der EU |
Wenn LiteLLM seine Aufgabe erfüllt, behalten Sie es. Wenn das, was tatsächlich an die Grenze kommt, Governance statt Routing ist, dann ist das eine andere Schicht — und genau für die ist Wäg gebaut.
Ein Endpunkt. Jedes Modell. Volle Kontrolle.
Betreiben Sie es in Ihrer eigenen Infrastruktur
Alles, was Sie brauchen, um eine Control Plane produktiv zu betreiben, steht unter Apache-2.0 und bleibt es auch — Routing, HA, Caching, Failover, Budgets, Policy, MCP, Jobs und Observability. Self-hosted, ohne Account, ohne Phone-Home.
$ docker run -p 4000:4000 <registry>/waeg-gateway:<version>Kein funktionierender Pull: Die Images sind noch nicht öffentlich. Designpartner erhalten die Registry-Details vertraulich.
In 5 Minuten deployenAls Design-Partner mitgestalten
Wäg ist noch nicht öffentlich verfügbar. Wir arbeiten mit einer kleinen Gruppe von Teams, die Multi-Provider-KI produktiv betreiben und Governance und Souveränität ernst nehmen, um die Control Plane an echten Workloads zu härten.
- Jede Enterprise-Funktion enthalten, ohne Lizenzkosten
- Migration gemeinsam mit uns — auch von LiteLLM
- Direkter Draht zu den Engineers und realer Einfluss darauf, was als Nächstes kommt