docs / concepts / smart-routing

Smart routing

Elke prompt wordt geclassificeerd in een task-categorie binnen vijf milliseconden en daarna geroute naar het model dat het hoogst scoort voor die categorie binnen jouw randvoorwaarden. Deterministisch, transparant en te overschrijven.

De routing-pipeline

  1. Classificeer de prompt in een TaskType met lexical signals en een kleine prompt-classifier. Resultaat: één van coding, reasoning, general, embedding, pilot.
  2. Haal constraints op uit het request: model='auto' laat de router kiezen, een expliciet model pinned. Constraints kunnen zijn: alleen-lokaal, een kostenplafond, een latency-budget en een voorkeur-provider.
  3. Kijk in de capability map voor de doelcategorie. Filter naar modellen die aan de constraints voldoen.
  4. Kies de hoogste scorer met geldige hardware-beschikbaarheid. RAM-aware loading voorkomt dat Soriku een model kiest dat niet naast wat al geladen is past.
  5. Voer uit op het gekozen model en log de beslissing voor auditeerbaarheid in data/routing_log.jsonl.

Determinisme

Bij dezelfde capability map, dezelfde constraints en dezelfde prompt kiest de router altijd hetzelfde model. Geen randomness in de beslissingsstap. Als je een routing-beslissing niet kan reproduceren, kan je hem niet auditen.

Constraints die je kan zetten

ConstraintTypeEffect
prefer_localboolAlleen lokaal gehoste modellen meenemen
max_cost_per_1kfloatReject modellen waarvan de kosten dit plafond overschrijden
max_latency_msintReject modellen waarvan de recente p95 latency dit overschrijdt
provider_allowlistlistBeperk tot specifieke providers (ollama, anthropic, openai, etc.)
pinned_modelstringBypass routing volledig en gebruik dit exacte model

Task-types

De classifier mapt een prompt op één van vijf task-types. De mapping is rule-based en snel.

Task typeTriggerRouteert naar
codingCode-generatie, debugging, refactoring intentsModellen met hoge code_generation of code_review scores
reasoningMulti-step analyse, math, planning, formal reasoningModellen met hoge reasoning scores
generalConversational, samenvatting, vertaling, creatief schrijvenModellen met hoge category-matching algemene scores
embeddingRequests naar /api/v1/embeddingsEmbedding-capable model, default nomic-embed-text
pilotTool-gebruikende prompts (file ops, shell, web fetch) gedetecteerd via verb regexPilot-mode worker, zie Pilot mode

De router overschrijven

Drie niveaus van override, van meest algemeen tot meest specifiek.

Zelfs met een override wordt de routing-beslissing gelogd met routed_by: pin zodat audits zien dat de override bewust was.

Volgende: agent persona's →