DanLevy.net

Heiraten Sie nicht Ihr Modell

LLM-Routing, so heiß gerade

Die meisten Engineering-Teams wählen ein Sprachmodell und bleiben dabei. Ein Anbieter, ein Modell, alle Aufgaben. Es ist, als ob man eine Person einstellt, die Ihre Codierung, Ihr Copywriting und Ihre Steuern erledigt, nur weil sie beim ersten Vorstellungsgespräch gut war.

Zu jedem gegebenen Zeitpunkt ist ein Modell besser bei Code, ein anderes bei langem, chaotischem Kontext, und wieder ein anderes ist das günstigste Arbeitstier für Klassifizierung. Die Namen ändern sich. Die Form des Problems nicht. Ein Modell so zu behandeln, als wäre es in allem exzellent, bedeutet, dass Sie entweder zu viel für einfache Aufgaben bezahlen oder suboptimale Ergebnisse bei spezialisierten bekommen.

Ich habe erlebt, wie ein Team Tausende von Dollar verbrannte, indem es Sentiment-Analysen durch ein 30-Dollar-pro-Million-Token-Modell laufen ließ, während ein 0,50-Dollar-Modell die Arbeit genauso gut erledigt hätte. Einfache JSON-Formatierung, grundlegende Klassifizierungsaufgaben, alles über ihren Premium-Anbieter. Das Einzige, was heiß lief, war ihre AWS-Rechnung.

Es gibt einen besseren Weg, und er ist nicht besonders kompliziert.

Delegation statt Hingabe

Was wäre, wenn Sie Anfragen an das Modell weiterleiten könnten, das tatsächlich am besten für diese spezifische Aufgabe geeignet ist? Verwenden Sie Ihre teure Powerhouse für die schwierigen Dinge, aber senken Sie die einfache Verarbeitung und Formatierung auf etwas Günstigeres ab. Holen Sie sich die Vorteile mehrerer Anbieter, ohne sie manuell in Ihrer Codebasis jonglieren zu müssen.

Mastra ermöglicht es Ihnen, genau so ein System zu bauen. Sie richten Spezialisten-Agents für verschiedene Arten von Arbeit ein und erstellen dann einen Router-Agent, der herausfindet, welcher Spezialist jede Anfrage bearbeiten soll. Die Modell-IDs unten sind Beispiele, keine Rangliste. Tauschen Sie sie gegen die aktuellen Modelle aus, die Ihre Evaluierungen gewinnen und in Ihr Budget passen.

Stellen Sie es sich so vor: Sie haben drei Spezialisten in Ihrem Team.

./src/mastra/index.ts
import { Mastra } from '@mastra/core';
import { Agent } from '@mastra/core/agent';
import { openai } from '@ai-sdk/openai';
import { anthropic } from '@ai-sdk/anthropic';
import { google } from '@ai-sdk/google';
export const claudeAgent = new Agent({
id: 'claude-agent',
instructions: 'Sie sind ein Experten-Ingenieur. Bugs schreiben? Sie sind gefeuert.',
model: anthropic(process.env.CODE_MODEL ?? 'claude-sonnet-4-5'),
});
export const geminiAgent = new Agent({
id: 'gemini-agent',
instructions: 'Sie sind ein kreativer Schriftsteller. Seien Sie seltsam.',
model: google(process.env.LONG_CONTEXT_MODEL ?? 'gemini-3-pro-preview'),
});
export const gptAgent = new Agent({
id: 'gpt-agent',
instructions: 'Sie sind ein hilfreicher Assistent. Seien Sie langweilig.',
model: openai(process.env.GENERAL_MODEL ?? 'gpt-5.2'),
});

Jeder hat einen Job. Ihr Code-Agent sollte das Modell sein, das Ihre repo-spezifischen Coding-Evaluierungen besteht. Ihr Langkontext-Agent sollte derjenige sein, der Ihre tatsächlichen Dokumente übersteht, ohne die Mitte in Suppe zu verwandeln. Ihr allgemeiner Agent sollte günstig, zuverlässig und auf die bestmögliche Weise langweilig sein.

Hier wird es interessant. Sie fügen einen Router hinzu, der als intelligenter Proxy fungiert:

export const routerAgent = new Agent({
id: 'router-agent',
name: 'Der Chef',
instructions: `Sie sind ein intelligenter Router.
- Codierung -> Claude
- Poesie -> Gemini
- Fakten -> GPT
Machen Sie die Arbeit nicht selbst. Delegieren Sie.`,
model: openai(process.env.ROUTER_MODEL ?? 'gpt-5-mini'), // Verwenden Sie ein günstiges Modell für das Routing!
agents: {
claudeAgent,
geminiAgent,
gptAgent,
},
});
export const mastra = new Mastra({
agents: { routerAgent, claudeAgent, geminiAgent, gptAgent },
});

Der Router selbst läuft auf einem leichtgewichtigen Modell, da er nur Entscheidungen darüber trifft, wohin der Verkehr geleitet werden soll. Sie zahlen keine Premium-Preise, um herauszufinden, welches andere Premium-Modell verwendet werden soll. Messen Sie dies auch; ein schlechter Router verwandelt Ersparnisse leise in Fehlrouten.

Wenn jemand nach einer Bubble-Sort-Implementierung fragt, erkennt der Router dies als Code-Arbeit und übergibt sie Ihrem Code-Spezialisten. Kreativer Schreibauftrag? Das geht an das Modell, das Sie für Stimme und Bandbreite gewählt haben. Faktenfrage zu historischen Ereignissen? Leiten Sie es an den allgemeinen Agenten weiter, idealerweise mit Retrieval, wenn Frische oder Zitierung wichtig ist.

Die praktischen Vorteile

Kosteneffizienz ist wichtiger, als Sie denken. Ein kleines Routing-Modell, das Delegationsentscheidungen trifft, kostet einen Bruchteil davon, jede einzelne Anfrage durch Ihren teuersten Anbieter laufen zu lassen. Mit der Zeit, besonders bei Skalierung, summiert sich dies zu echtem Geld. Sie zahlen nur für die Hochleistungs-Intelligenz, wenn Sie sie tatsächlich brauchen.

Die Qualität verbessert sich, wenn Sie Modelle mit Aufgaben abgleichen. Der Gewinner ändert sich monatlich, je nach Aufgabe und Prompt-Form. Deshalb sollte die Routing-Schicht von Ihren Evaluierungen abhängen, nicht von dem Modell, das in der Woche, in der Sie die Integration geschrieben haben, auf Twitter gewonnen hat.

Resilienz wird ein Nebeneffekt. Wenn OpenAI einen seiner periodischen Ausfälle hat (und die haben sie), kann Ihr Router den Verkehr zu anderen Anbietern umleiten. Sie sind nicht tot im Wasser und warten darauf, dass eine bestimmte API wieder online kommt.

Es geht nicht darum, clever um der Cleverheit willen zu sein. Es geht darum, Systeme zu bauen, die sowohl finanziell als auch technisch Sinn ergeben. Sie würden nicht denselben Hammer für jede Baustelle verwenden, und Sie sollten wahrscheinlich auch nicht dasselbe Sprachmodell für jede KI-Aufgabe verwenden.

Die Schönheit dieses Ansatzes ist, dass sich Ihr Anwendungscode nicht ändert. Sie rufen immer noch nur Ihren Router-Agent auf. Die Komplexität der Entscheidung, welches Modell für welche Aufgabe verwendet werden soll, lebt an einem Ort, einmal konfiguriert, anstatt in Ihrem Codebase in einer Reihe von bedingten Logiken verstreut zu sein.

Ressourcen

Lesen Sie die Serie

  1. LLM-Routing (Dieser Beitrag)
  2. Sicherheit & Guardrails
  3. MCP & Tool-Integrationen
  4. Workflows & Memory