ARCHITEKTUR

Fassaden hinein. Ein Modell hindurch.

Die meisten AI Gateways sind HTTP-Reverse-Proxys, denen eine Modell-Liste zugewachsen ist: Das Anfrageformat ist die Abstraktion, und jede neue Modalität oder jeder neue Lebenszyklus wird zum Sonderfall. Wäg geht von der Inference-Anfrage als Domänenobjekt aus und behandelt die API-Formate von OpenAI, Anthropic und Gemini als Fassaden, die darauf abgebildet werden.

DIE INFERENCE-ANFRAGE

Sechs Dinge, die erstklassig sind statt abgeleitet

In einem HTTP-geprägten Gateway werden diese aus einem Pfad, einem Header oder dem Verhalten eines Provider-SDK erschlossen. Hier sind es Felder eines Domänenobjekts — deshalb können Policy, Routing, Caching und Abrechnung einheitlich darüber urteilen.

ModalitätOperationLebenszyklusKostenPolicyIdentität

Diese eine Entscheidung ist der Grund, warum Chat, Embeddings, Vision, Audio, asynchrone Video-Jobs und Realtime-Sitzungen einen gemeinsamen Pfad für Policy, Routing und Abrechnung nutzen statt sechs verschiedene.

FASSADEN

Den Dialekt sprechen, die Wiedergabetreue behalten

Clients senden Anfragen im OpenAI-, Anthropic- oder Gemini-Format oder direkt im nativen Inference-Request-Format. Native Adapter erhalten anbieterspezifisches Verhalten — Tool-Calling, Vision, strukturierte Ausgaben —, statt alles über ein Format zu vereinheitlichen und dabei Funktionalität an den Rändern zu verlieren.

DER ANFRAGEWEG

Neun Stufen in fester Reihenfolge

Jede Anfrage durchläuft dieselben Stufen. Identität, Modellzugriff und Budget werden aufgelöst, bevor irgendetwas aufgerufen wird; die Eingabe-Policy läuft vor dem Cache, sodass auch eine gecachte Antwort geprüft ist; das Routing wählt das Deployment; Ausgabe- und Werkzeug-Policy laufen auf der Antwort; Kosten, Bewertungen und Nachweise fallen auf dem Rückweg an.

  1. 01
    Authentifizieren

    Virtueller Key, Agenten-Token oder ein Unternehmens-IdP-Token auf /v1 (Enterprise). Löst Org, Team, Nutzer, Anwendung und Agentenlauf auf.

    ✗ 401
  2. 02
    Modellzugriff

    Modellfreigaben, eingeengt durch die Whitelist des Keys, entscheiden, welche Aliase diese Identität aufrufen darf.

    ✗ 403
  3. 03
    Budget

    Ratenlimits und Budgets werden auf Key, Org, Team, Nutzer, Anwendung und Modell reserviert. Alle müssen bestehen.

    ✗ 429 — keine Anbieterkosten
  4. 04
    Policy (vor dem Aufruf)

    Geordnete Guardrail-Kette auf der Eingabe: PII, Injection, Moderation oder Ihr eigener Webhook. Der Cache sieht den maskierten Prompt.

    ✗ BLOCKIEREN · ◑ MASKIEREN · ◐ SCHWÄRZEN
  5. 05
    Cache

    Exakt → kanonisch → Near-Dup → semantisch, jede Stufe gegen Falschtreffer abgesichert. Ein Treffer überspringt den Anbieter und die Ausgabestufen.

    ✓ TREFFER → zurück, kein Anbieteraufruf
  6. 06
    Routing

    Fähigkeitsfilter, Residenz, Sitzungsaffinität, dann wählt die Routing-Strategie das Deployment. Ein Failover verlässt nie die erlaubten Rechtsräume.

  7. 07
    Aufrufen

    Anbieterdialekt, echtes SSE-Streaming, Failover innerhalb des Alias, dann geordnete Fallbacks; jeder Versuch schreibt einen Egress-Eintrag in den Ledger. Policy während des Streams läuft auf einem gleitenden Fenster.

  8. 08
    Policy (nach dem Aufruf)

    Ausgabe-Guardrails laufen auf der vollständigen Antwort. Werkzeugaufrufe, die das Modell zurückgibt, beurteilt die Werkzeug-Policy: zugelassen, mit Hinweis entfernt oder abgelehnt.

    ✗ 403 · entfernt
  9. 09
    Abrechnen

    Budgets werden abgerechnet, der Ledger hält das Ergebnis fest, und Tokens, Kosten, Bewertungen und die Routing-Entscheidung landen als Anfrage-Logs, OTEL-Traces und Prometheus-Metriken.

Ein Proxy leitet eine Anfrage weiter. Dies entscheidet, was die Anfrage sein darf — und genau darin besteht der Unterschied zwischen Gateway und Control Plane.

LEBENSZYKLEN

Vier Lebenszyklen, ein Policy-Pfad

Weil der Lebenszyklus ein Feld der Anfrage ist und kein Implementierungsdetail eines Endpunkts, gilt für alle vier dieselbe Governance.

Synchron

Anfrage hinein, Completion heraus, alle Policy inline angewandt.

Streaming

Echte Server-Sent Events über LiveStream-Adapter — im Normalfall ohne vollständige Pufferung. Policy im Stream kann einen problematischen Stream abbrechen, bevor er den Client erreicht.

Asynchrone Jobs

Dauerhafte Worker mit Lease für lange Arbeiten wie Video und Batches: einreihen → übernehmen → Heartbeat → abschließen, mit Aufräumen abgelaufener Leases. Absturzsicher.

Echtzeit

Eine WebSocket-Brücke, sodass Live-Sprache und interaktive Sitzungen dieselbe Auth, Budgets und Protokollierung nutzen wie alles andere.

Das ist der Teil, den ein HTTP-geprägtes Gateway ohne Neuentwicklung nicht nachrüsten kann. Der Lebenszyklus muss im Domänenmodell liegen, bevor Policy einheitlich darauf wirken kann.

ARCHITEKTUR

Vier Ebenen, bewusst getrennt

EbeneWas sie enthältWarum getrennt
Data PlaneDer Anfrageweg. Zustandslose Rust-Replicas: Auth, Budgetprüfung, Policy, Cache, Routing, Aufruf, Abrechnung.Skaliert horizontal und unabhängig. Keine Admin-Abhängigkeit im heißen Pfad.
Control PlaneKonfiguration, Identität, Policy-Definitionen, Budgets, Keys, Mandanten, MCP-Registry.Ihre, nicht unsere. Es existiert keine Anbieter-Mandantschaft, von der man abhängen oder die man erzwingen könnte.
Analytics PlaneNutzung, Ausgaben, Traces, Audit-Datensätze.Von der Steuerungsspeicherung getrennt, damit Reporting-Last die Durchsetzung nie berührt.
Policy PlaneScanner-Engines, OpenFGA-Relationen, Preisbuch.Steckbar und außerhalb des Prozesses, sodass eine Policy-Änderung keine Gateway-Änderung erfordert.
KUBERNETES-NATIV

Kubernetes-nativ, nicht Kubernetes-kompatibel

Alles in einem Container ist Kubernetes-kompatibel. Nativ heißt, dass die Plattform das Ding modelliert, das Sie betreiben: Wäg liefert einen eigenen Operator und eigene Custom Resources, sodass das Gateway ein Objekt ist, das der Cluster versteht, statt eines Deployments, das jemand zusammengesteckt hat. Eine WaegInstance verantwortet die Deployments, das Networking, das Autoscaling und das Monitoring des Gateways und meldet eine Fehlkonfiguration als Condition mit Begründung; Anbieter, Modelle, Organisationen, Budgets, Guardrails und Keys können ebenfalls Custom Resources sein. Weil Budgets und Ratenlimits über Redis geteilt und nicht pro Replica gehalten werden, gibt Skalierung nie ein Budget doppelt aus — und der Operator markiert eine Instanz mit mehreren API-Replicas ohne Redis als nicht bereit. Vorausgesetzt sind Kubernetes 1.28 oder neuer oder OpenShift 4; wer lieber templatet als betreibt, nutzt das Helm-Chart.

PERFORMANCE

Rust in der Data Plane

Gebaut auf tokio, hyper und axum mit Zero-Copy-Streaming, ausgeliefert als eine distroless Binary ohne Root. Kein Interpreter, kein Paketmanager, keine Node-Laufzeit im Gateway — die Admin-Konsole wird von derselben Binary ausgeliefert. Im heißen Pfad gibt es keinen ML-Router, Routing kostet also deterministische Analyse statt Modellinferenz.

Warum auf dieser Seite keine Multiplikatoren stehen

Der Durchsatz eines Gateways hängt von Payload-Form, Anbieterlatenz, Cache-Trefferquote, Tiefe der Policy-Kette und Parallelität ab. Ein einzelner Multiplikator gegenüber einem anderen Produkt sagt etwas über die gewählte Konfiguration aus, nichts über Ihren Workload. Wir veröffentlichen lieber das Messwerkzeug, damit Sie das messen, was Sie tatsächlich interessiert.

ABGRENZUNG

Was Wäg nicht ist

Klar benannt, damit Sie es auf der richtigen Achse bewerten und niemand ein Briefing mit falschen Erwartungen bucht.

  • Kein Inference-Server. Es führt keine Modelle aus. Es routet zu denen, die Sie ohnehin nutzen, einschließlich selbst gehosteter vLLM- oder Ollama-Endpunkte, und Wäg Edge steuert Modelle, die auf den Rechnern und in den mobilen Apps Ihrer Mitglieder laufen.
  • Kein Modell-Hosting. Keine Gewichte, keine GPUs, keine Fine-Tuning-Pipeline.
  • Keine Vektordatenbank. Es leitet Embedding-Aufrufe weiter und cached semantisch; es speichert Ihren Korpus nicht.
  • Kein Observability-Backend. Es liefert OTEL und Prometheus an das, was Sie ohnehin betreiben.
  • Kein Ersatz für ein API-Gateway. Kong und Envoy steuern HTTP. Wäg steuert Tokens, Modelle und Aktionen von Agenten. Das sind ergänzende Schichten, und die meisten Landschaften betreiben beide.

Die Control Plane ansehen · Zu den Benchmarks

Ein Endpunkt. Jedes Modell. Volle Kontrolle.

Mit Open Source starten

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 deployen
Designpartnerschaft

Als 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
Zum Programm bewerben