Skip to content

Smart Model Router

The Smart Model Router provides capability-based model selection with user-configurable routing rules. It wraps the core ModelRouter with an extended API for defining model pools, routing rules, and budget constraints.

Capabilities

Models are tagged with capability types for matching:

CapabilityDescription
codeCode generation and understanding
reasoningLogical reasoning and chain-of-thought
analysisData analysis and interpretation
creativeCreative writing and brainstorming
mathMathematical computation
multimodalMultiple input modalities
visionImage understanding
image_generationImage creation
long_contextLarge context window support
low_costCost-efficient inference
fastLow-latency inference
high_qualityHighest quality output
function_callingTool use support
json_modeStructured JSON output
streamingStreaming response support
translationMulti-language translation
summarizationText summarization
extractionInformation extraction

Configuration

typescript
import { SmartModelRouter } from '@commander/core';

const router = new SmartModelRouter({
  mode: 'cascade',  // auto | manual | cascade
  modelPool: [
    {
      id: 'gpt-4o',
      provider: 'openai',
      capabilities: ['code', 'reasoning', 'function_calling', 'streaming'],
      costPer1MInput: 2.5,
      costPer1MOutput: 10,
      contextWindow: 128000,
      tier: 'power',
    },
    {
      id: 'claude-sonnet-4-20250514',
      provider: 'anthropic',
      capabilities: ['code', 'reasoning', 'long_context', 'function_calling'],
      costPer1MInput: 3,
      costPer1MOutput: 15,
      contextWindow: 200000,
      tier: 'power',
    },
    {
      id: 'deepseek-chat',
      provider: 'deepseek',
      capabilities: ['code', 'reasoning', 'low_cost'],
      costPer1MInput: 0.14,
      costPer1MOutput: 0.28,
      contextWindow: 64000,
      tier: 'eco',
    },
  ],
  routingRules: [
    {
      taskType: 'code_review',
      requiredCapabilities: ['code', 'reasoning'],
      preferredTier: 'power',
      maxCostPer1K: 0.05,
    },
    {
      taskType: 'simple_query',
      requiredCapabilities: ['reasoning'],
      preferredTier: 'eco',
      maxCostPer1K: 0.001,
    },
  ],
  budget: {
    maxCostPerTask: 1.0,
    dailyBudget: 10.0,
  },
});

Routing Modes

ModeBehavior
autoRouter selects best model based on task requirements and budget
manualUse only the defaultModel — no automatic selection
cascadeTry models in tier order (eco → standard → power), failover on error

Model Tiers

TierDescriptionExamples
ecoCheapest, fastest, good for simple tasksDeepSeek, Groq
standardBalanced cost/qualityGPT-4o-mini, Claude Haiku
powerHighest quality, most expensiveGPT-4o, Claude Sonnet
consensusUsed for multi-model votingAny tier

Routing Decision

Task → Analyze requirements → Match capabilities → Filter by budget

                    ┌────────────────────────────────────┘

            Select model by tier preference

                    ┌────────────────────────────────────┐
                    ▼                                    ▼
            Primary model                          Fallback chain
            (best match)                           (next tier)

Programmatic API

typescript
// Get routing decision for a task
const decision = router.route({
  taskType: 'code_generation',
  requiredCapabilities: ['code', 'function_calling'],
  estimatedTokens: 5000,
});

console.log(`Selected: ${decision.modelId}`);
console.log(`Tier: ${decision.tier}`);
console.log(`Estimated cost: $${decision.estimatedCost}`);

// List available models for a capability set
const models = router.listModels({
  capabilities: ['code', 'reasoning'],
  tier: 'power',
});

// Check budget status
const budget = router.getBudgetStatus();
console.log(`Daily spend: $${budget.spent} / $${budget.limit}`);

Integration with Deliberation

The Smart Model Router integrates with the deliberation engine to select the optimal model for each agent in a multi-agent run:

Deliberation → Topology Selection → Agent Count → Per-Agent Model Selection


                                                SmartModelRouter
                                                (capability matching)

MIT Licensed — Built for multi-agent orchestration.