# Ein Modell beim Client: Das Gateway staffelt automatisch

> Nehmen Sie die Modellwahl aus dem Client: ein bereitgestellter Modellname, wobei das Gateway automatisch nach Unterhaltungszustand (Plan vs. Ausführung) staffelt, sodass ein starkes Modell plant und ein kosteneffizientes Modell ausführt, ohne Konfigurationsdrift pro Maschine.

Kanonisch: https://www.gatellm.io/de/use-cases/automatic-model-tiering/

Nehmen Sie die Modellwahl aus der UI — der Client stellt einen einzigen Modellnamen bereit, Planung läuft auf dem starken Modell und Ausführung landet auf dem kosteneffizienten, gestaffelt auf dem Hop, den die Anfrage ohnehin nahm.

## Worüber die Community tatsächlich klagt
„Jeder hat ein anderes Modell in den Einstellungen und derselbe Prompt kommt bei zwei Personen unterschiedlich heraus“, „die häufigste Frage in der ersten Woche ist, welches Modell soll ich wählen“, „ein Modell außer Betrieb zu nehmen bedeutet, Umgebungsvariablen auf jeder Entwicklermaschine zu ändern“. Die Modellwahl wurde den Personen übergeben, die die wenigsten Informationen haben, um sie zu treffen: Sie können ihre eigenen Ausgaben nicht sehen und haben keine Möglichkeit zu wissen, ob diese konkrete Anfrage das starke Modell verdient.
Stellen Sie stattdessen alle auf ein günstiges Modell, und die Arbeit leidet — übertragen Sie Planung und Architektururteil einem kleinen Modell, und die Nacharbeit kostet mehr als die Ersparnis. Die entscheidende Trennung ist, was diese Anfrage gerade tut: Planung oder Ausführung. Und der Client hat dem Gateway das nie mitgeteilt.

## Wie GateLLM es macht
Der Client behält einen einzigen Modellnamen; eine Catch-all-Zuordnung (von „*“) am Gateway normalisiert, welchen Namen der Client auch anfragt, sodass das Bearbeiten persönlicher Einstellungen nicht länger ändert, wo die Anfrage landet. Es bleibt nichts zu erklären, welches Modell zu wählen ist.
Das Staffelungssignal ist bereits in der Unterhaltung: Der Plan-Modus von Claude Code injiziert beim Eintritt „Plan mode is active“ und beim Verlassen „Exited Plan Mode“. Ein Before-Slot-Skript scannt rückwärts von der letzten Nachricht, nimmt den zuletzt gesehenen Marker, um den aktuellen Zustand zu bestimmen, und ruft dann context.useModel() auf, um das Routing zu wechseln. Die Entscheidung ist ein String-Positionsvergleich — kein separater Klassifizierungsaufruf, kein zusätzlicher Netzwerk-Hop.
Die Staffelung muss im Before-Slot leben: Der After-Slot sieht den übersetzten Upstream-Body und kann die client-injizierten Marker nicht lesen, und after-slot-useModel wechselt nur innerhalb desselben Protokolls, während Plan → Ausführung eine modellübergreifende Routenänderung ist. request_payload-Regeln (prompt_cache_key und Verwandte) müssen auf beiden Modellen konfiguriert werden: Das Einstiegsmodell behält seine eigenen während der Planung, die des Zielmodells gelten, sobald der Wechsel erfolgt.

## 5 Hebel, die tatsächlich wirken
- Ein einziger Ingress-Name: Der Client stellt einen Modellnamen bereit, und eine Catch-all-Zuordnung von „*“ normalisiert jeden angefragten Namen auf ein Landemodell
- Automatische Staffelung: Ein Before-Slot-Skript nimmt den letzten Marker beim Rückwärtsscannen — der Eintrittsmarker bleibt für immer in der Historie, sodass eine „enthält“-Prüfung den Zustand dauerhaft als Plan-Modus liest
- Protokoll-Schutz: Das Skript prüft zuerst context.sourceProtocol und kehrt für Nicht-Anthropic-Datenverkehr früh zurück, sodass ein Einstiegsmodell, das mehrere Clients bedient, nie falsch geroutet wird
- Transparent: Ein SW-Tag in der Log-Spalte „Modell“ markiert einen Skriptwechsel und MM eine Identitätszuordnung; Statistiken und Abrechnung ordnen dem endgültigen Modellnamen zu, sodass jede Staffelungsentscheidung auditierbar ist
- Kein Client-Rollout: Konfigurationsänderungen erfordern keine Bearbeitung pro Maschine, und Zuordnungen werden hot-reloaded (die einzige Ausnahme ist das Skript-Heap-Limit SCRIPT_MEMORY_LIMIT_MB, das einen Neustart erfordert)

## FAQ
### Kann ein Client trotzdem sein eigenes Modell wählen?
Er kann wählen, aber die Wahl entscheidet nicht mehr, wo die Anfrage landet: Die Catch-all-Zuordnung normalisiert jeden angefragten Namen, und ein Skript-useModel ist eine administrativ erzwungene Routenänderung, die nicht an Client-Berechtigungen gebunden ist. Einen einzigen Namen beim Client bereitzustellen, beseitigt die Frage vollständig.

### Warum keinen dedizierten Modell-Router oder Klassifizierer?
Latenz und Form. Ein separater Router fügt einen Hop und in der Regel einen Klassifizierungsaufruf hinzu; hier ist das Staffelungssignal Markierungstext, der bereits in der Unterhaltung steht, und die Entscheidung ist ein Positionsvergleich des letzten Markers auf dem Pfad, den die Anfrage ohnehin nahm. Protokollübersetzung, Auth und Messung liegen bereits am Gateway — Staffelung braucht keine zweite Komponente, die sie dupliziert.

### Das Skript hat nichts umgeschaltet und die Logs zeigen keinen Fehler?
Wahrscheinlich ein Skript-OOM: Jedes Skript läuft in seiner eigenen QuickJS-Sandbox (Heap-Limit SCRIPT_MEMORY_LIMIT_MB, standardmäßig 64 MB), und bei Überlauf verwirft der Standardmodus „loggen und fortfahren“ stillschweigend alle Seiteneffekte, useModel eingeschlossen. Die Dutzenden Tool-Definitionen von Claude Code verbrauchen zuerst Speicher — diese Untergrenze lässt sich auf Skriptebene nicht entfernen, also erhöhen Sie das Limit (ein Neustart ist erforderlich). Prüfen Sie das SW-Tag in der Log-Spalte „Modell“, um den Wechsel zu bestätigen.

- [Vollständige Anleitung: Modellwechsel nach Plan-Modus (Dokumentation)](https://docs.gatellm.io/en/howto/script-switch-model-by-plan-mode)

## Verwandte Anwendungsfälle
- [Durchsetzen, welches Modell Agenten tatsächlich ausführen: Modell festschreiben, Plan von Ausführung trennen](https://www.gatellm.io/de/use-cases/enforce-model-policy.md)

## Verwandt
- [Startseite](https://www.gatellm.io/de/index.md)
- [Preise](https://www.gatellm.io/de/pricing.md)
- [Kostenrechner](https://www.gatellm.io/de/calculator.md)
- [Über uns](https://www.gatellm.io/de/about.md)
- [Demo buchen](https://www.gatellm.io/de/demo.md)
- [FAQ](https://www.gatellm.io/de/faq.md)
- [AI-Gateways vergleichen](https://www.gatellm.io/de/compare.md)
- [LiteLLM vergleichen](https://www.gatellm.io/de/compare/litellm.md)
- [OpenRouter vergleichen](https://www.gatellm.io/de/compare/openrouter.md)
- [Alibaba Cloud AI Gateway vergleichen](https://www.gatellm.io/de/compare/alibaba-cloud.md)
- [Azure API Management vergleichen](https://www.gatellm.io/de/compare/azure-apim.md)
- [Apigee vergleichen](https://www.gatellm.io/de/compare/apigee.md)
- [Cloudflare AI Gateway vergleichen](https://www.gatellm.io/de/compare/cloudflare.md)
- [Kong AI Gateway vergleichen](https://www.gatellm.io/de/compare/kong.md)
- [Portkey vergleichen](https://www.gatellm.io/de/compare/portkey.md)
- [LiteLLM vs Kong AI Gateway](https://www.gatellm.io/de/compare/litellm-vs-kong.md)
- [LiteLLM vs OpenRouter](https://www.gatellm.io/de/compare/litellm-vs-openrouter.md)
- [LiteLLM vs Portkey](https://www.gatellm.io/de/compare/litellm-vs-portkey.md)
- [Anwendungsfälle](https://www.gatellm.io/de/use-cases.md)
- [LLM-Kosten senken](https://www.gatellm.io/de/use-cases/reduce-cost.md)
- [Hochverfügbarkeit](https://www.gatellm.io/de/use-cases/high-availability.md)
- [Multi-Tenant-Isolation](https://www.gatellm.io/de/use-cases/multi-tenant.md)
- [Compliance & Audit](https://www.gatellm.io/de/use-cases/compliance-audit.md)
- [Fehlerbehebung nach Symptom](https://www.gatellm.io/de/use-cases/troubleshooting.md)
- [Gemischter Multi-Vendor-Modellstack](https://www.gatellm.io/de/use-cases/mixed-model-stack.md)
- [KI im Office selbst hosten](https://www.gatellm.io/de/use-cases/self-hosted-office-ai.md)
- [Token-Nutzung: Transparenz & Zuordnung](https://www.gatellm.io/de/use-cases/token-ops.md)
- [Token-FinOps: KI-Kosten zuordnen & steuern](https://www.gatellm.io/de/use-cases/token-finops.md)
- [MCP-Tool-Governance](https://www.gatellm.io/de/use-cases/mcp-tool-governance.md)
- [Websuche für jedes Modell](https://www.gatellm.io/de/use-cases/web-search-grounding.md)
- [Multi-Key-Rotation & Standby](https://www.gatellm.io/de/use-cases/multi-key-pooling.md)
- [Zugangskontrolle für verbundene Clients](https://www.gatellm.io/de/use-cases/client-admission-control.md)
- [Modellrichtlinie durchsetzen](https://www.gatellm.io/de/use-cases/enforce-model-policy.md)
- [Ein Protokoll, jedes Modell](https://www.gatellm.io/de/use-cases/one-protocol-any-model.md)
- [Office / Microsoft 365 Add-in](https://www.gatellm.io/de/office-addin.md)
- [Glossar](https://www.gatellm.io/de/glossary.md)
- [Modellkatalog](https://www.gatellm.io/de/models.md)
- [SDK- & Framework-Integrationen](https://www.gatellm.io/de/integrations.md)
- [KI-Coding-Agents & Harnesses](https://www.gatellm.io/de/coding-agents.md)
- [Sicherheit & Compliance](https://www.gatellm.io/de/security.md)
