Contenido

  1. Introducción — ¿Por qué Multi-Model Routing?
  2. OpenCode — 75+ Providers, Per-Agent, Fallback Plugin
  3. Codex CLI — Multi-Provider, Sin Fallback Nativo
  4. Claude Code — Aliases, Provider Resolution, Bug Conocido
  5. Tabla Comparativa de Routing
  6. Routing Strategies — Tarea, Costo, Latencia, Cascade
  7. Provider Marketplaces — OpenRouter, Together AI, Fireworks AI
  8. Research Avanzado — ZeroRouter, MTRouter, R2-Router, Speculative Decoding
  9. Model Tokens y Precios
  10. Guía de Decisión
  11. Fortalezas y Debilidades por Plataforma
  12. Fuentes Verificadas

1.Introducción — ¿Por qué Multi-Model Routing?

No existe un modelo ideal para toda tarea. Un mismo agente puede necesitar un frontier model para planificación compleja, un modelo rápido para exploración, y un modelo barato para procesamiento batch. Multi-Model Routing es el sistema nervioso que conecta cada solicitud con el modelo y provider óptimos según tarea, costo y latencia.

Stack de routing completo: Provider Selection → Model Selection → Fallback Chain → Circuit Breaker. Ninguna plataforma implementa las 4 capas completamente hoy.

¿Por qué es necesario?

🎯

Heterogeneidad

Cada modelo tiene fortalezas distintas. Un mismo prompt da resultados muy diferentes en Opus vs Sonnet vs Haiku.

💰

Costo

Usar Opus para "dime la hora" cuesta 25× más que Haiku. Cascade pattern ahorra 60-80%.

⏱️

Latencia

Tareas síncronas (CLI) necesitan <2s. Batch puede tolerar minutos. Routing elige según SLA.

🔁

Resiliencia

Rate limits, outages, quotas. Fallback multi-provider mantiene uptime sin intervención humana.

🌍

Provider Markets

OpenRouter (200+), Together AI (~100), Fireworks. Routing inteligente sobre marketplaces.

🧪

Investigación

ZeroRouter, MTRouter, R2-Router. Embedding-based routing con microsegundos de latencia.

💡 Principio fundamental: Routing no es solo elegir modelo — es elegir qué provider, qué modelo, qué tier de servicio, y qué hacer si falla.

2.OpenCode — 75+ Providers, Per-Agent, Fallback Plugin

OpenCode ofrece el ecosistema de providers más amplio del mercado: 75+ providers via AI SDK + Models.dev. La configuración se realiza en opencode.json con formato provider_id/model_id.

Providers Soportados

OpenAI, Anthropic, Google, AWS Bedrock, Azure, OpenRouter, Ollama, LM Studio, Groq, DeepSeek, Together AI, Fireworks AI, GitHub Copilot, GitLab Duo, Hugging Face (17+ providers), Cloudflare AI, y cualquier API compatible con OpenAI via @ai-sdk/openai-compatible.

Modelo por Agente

{
  "agent": {
    "plan": { "model": "anthropic/claude-haiku-4-20250514" },
    "build": { "model": "anthropic/claude-sonnet-4-20250514" }
  }
}

Los subagentes heredan el modelo del invocador si no tienen model explícito. La task tool NO permite especificar modelo por invocación.

Model Fallback Plugin

opencode-model-fallback@1.0.6 es un plugin externo (no nativo) que escucha hooks chat.message, event, tool.execute.after.

Detección de errores: 429, 402, 413, 500, 502, 503, 529 + patterns "quota", "rate limit", "too many requests", etc.

{
  "opencode-model-fallback": {
    "enabled": true,
    "defaults": {
      "fallbackOn": ["rate_limit", "quota_exceeded", "5xx", "timeout", "overloaded"],
      "cooldownMs": 300000,
      "retryOriginalAfterMs": 900000,
      "maxFallbackDepth": 3
    },
    "agents": {
      "build": {
        "fallbackModels": [
          "anthropic/claude-sonnet-4-20250514",
          "google/gemini-flash-2-5"
        ]
      },
      "*": {
        "fallbackModels": ["anthropic/claude-haiku-4-5"]
      }
    }
  }
}

Otras Capacidades

⚠️ Limitaciones: Sin routing por costo, latencia, o feature detection nativo. Sin provider fallback automático nativo (solo via plugin externo). Sin circuit breaker.

3.Codex CLI — Multi-Provider, Sin Fallback Nativo

Modelos Nativos

ModeloRol
GPT-5.5Frontier — coding complejo, computer use, research
GPT-5.4Flagship — coding, tool use
GPT-5.4-miniRápido/eficiente — tareas ligeras, subagents
GPT-5.3-codex-sparkResearch preview — text-only instantánea (solo ChatGPT Pro)

Multi-Provider (NO Exclusivo OpenAI)

Por defecto usa OpenAI, pero soporta providers personalizados:

model_provider = "openai"  # default
# o "amazon-bedrock", "ollama", "lmstudio"

# custom:
[model_providers.mistral]
name = "Mistral"
base_url = "https://api.mistral.ai/v1"
env_key = "MISTRAL_API_KEY"

Model Selection

⚠️ Limitaciones: Sin fallback automático, sin routing inteligente, sin auto-retry. Rate limiting: solo OTel metrics, sin handling automático.
🔁 Precedencia de modelo: CLI flags > project config > profile > user > system config.

4.Claude Code — Aliases, Provider Resolution, Bug Conocido

Model Aliases

AliasResolución
defaultSegún tipo de cuenta
bestOpus más reciente
opusOpus 4.8 (Anthropic API), Opus 4.7 (AWS), Opus 4.6 (Bedrock/Vertex)
sonnetSonnet 4.6 (Anthropic API), Sonnet 4.5 (Bedrock/Vertex)
haikuModelo rápido
opusplanOpus en plan mode, Sonnet en execution
opus[1m]Con ventana 1M tokens de contexto

Default por Tipo de Cuenta

Tipo de CuentaModelo Default
Max / Team Premium / Enterprise pay-as-you-goOpus 4.8
Pro / Team Standard / Enterprise subscriptionSonnet 4.6
Bedrock / Vertex / FoundrySonnet 4.5

Subagent Model Routing

Precedencia: CLAUDE_CODE_SUBAGENT_MODEL env > parámetro de invocación > frontmatter > modelo de conversación.

🐛 Bug conocido (Issue #43869): El subagent model routing no funciona correctamente. El modelo solicitado (Sonnet) se ignora y el subagente corre en Opus. Workaround: usar full model ID en vez de alias. Fix parcial en v2.1.146.

Fallback y Fast Mode

claude -p --fallback-model sonnet "query"

Provider Support

Anthropic API, AWS Bedrock, Google Vertex AI, Azure AI Foundry, Cloud Platform on AWS. Los model aliases resuelven diferente según provider.

ℹ️ Auto Mode: Clasificador independiente como segundo gate de seguridad. No es un modelo separado. Configurable con reglas allow/soft_deny/hard_deny.

5.Tabla Comparativa de Routing

AspectoOpenCodeCodex CLIClaude Code
Multi-provider nativo 75+ Custom + 3 built-in 5 providers
Modelo por agente opencode.json TOML definitions frontmatter + SDK
Fallback automático⚠️ Plugin externo No --fallback-model
Auto-retry tras fallback Plugin re-envía prompt⚠️ Ignorado en interactivo
Modelo rápido interno small_model
Model switching mid-session CLI + config /model, -m /model, --model
Provider-specific model resolution N/A Mismo en todos Aliases resuelven diferente
Cost-aware routing No nativo⚠️ opusplan alias
Latency-aware routing Fast mode tiers
Feature detection de modelos
Circuit breaker
OpenTelemetry model metrics
🔍 Lectura: Ninguna plataforma cubre todas las dimensiones. OpenCode lidera en variedad de providers y plugin ecosystem. Claude Code lidera en latency-aware routing. Codex CLI lidera en telemetría.

6.Routing Strategies — Tarea, Costo, Latencia, Cascade

Por Tipo de Tarea

TareaModelo Recomendado
Coding complejoOpus / GPT-5.5
Coding generalSonnet / GPT-5.4
Planning / analysisSonnet
Exploración rápidaHaiku / GPT-5.4-mini
DocumentaciónHaiku
Batch / CI/CDHaiku / Flex tier

Por Costo — Cascade Pattern

El patrón más efectivo: modelo barato primero, escalar si falla validación.

  1. Intento inicial: Haiku / GPT-5.4-mini / DeepSeek V4 Flash ($0.14/M input)
  2. Validación: Clasificador rápido verifica calidad de salida
  3. Escalamiento: Si validación falla → re-ejecutar con Sonnet / GPT-5.4
  4. Máximo esfuerzo: Si persiste el error → Opus / GPT-5.5
Resultado: 70-80% de tareas resueltas en el primer escalón. Ahorro estimado de 60-80% frente a usar siempre el modelo más caro.

Por Latencia

TierVelocidadCostoUso
Fast1.5× speed2× creditsCLI en primer plano, espera usuario
DefaultUso general
FlexMás lento (cola)50% cheaperBatch, CI/CD, análisis nocturnos
⚡ Subagent parallelism: 4 sub-agentes con cheap model = costo de 1 frontier model. Multiplica throughput sin multiplicar costo.

Cascade Pattern Completo

┌──────────────────────────────────────────────────────────────┐ │ CASCADE PATTERN │ ├──────────────────────────────────────────────────────────────┤ │ │ │ Request ──► 1. Cheap Model ──► Validate ──► Pass ──► Done │ │ │ │ │ │ │ Fail │ │ │ ▼ │ │ │ 2. Mid Model ──► Validate ──► Pass ──► Done │ │ │ │ │ │ │ Fail │ │ │ ▼ │ │ │ 3. Frontier Model ──► Done ─────┘ │ │ │ │ Fallback Chain (en paralelo): │ │ 4. Retry exponential backoff (transient errors) │ │ 5. Circuit breaker (sustained outages) ── NOT IMPL │ │ 6. Fallback multi-provider ── OpenCode plugin, Claude CC │ │ 7. Graceful degradation │ └──────────────────────────────────────────────────────────────┘
⚠️ Circuit breaker: No implementado en ninguna plataforma. Es el gap más crítico en routing resiliente.

7.Provider Marketplaces — OpenRouter, Together AI, Fireworks AI

OpenRouter

{
  "models": [
    "anthropic/claude-sonnet-4",
    "openai/gpt-5.4",
    "google/gemini-2.5-pro"
  ],
  "route": "fallback"
}

Together AI

Fireworks AI

💡 Diferencia clave: OpenRouter es un aggregator multi-provider. Together AI y Fireworks AI son plataformas de hosting con routing interno. OpenRouter compite en variedad, Together en open-source, Fireworks en speed tiers.

8.Research Avanzado — ZeroRouter, MTRouter, R2-Router, Speculative Decoding

ZeroRouter (AAAI 2025)

Espacio latente universal que mapea prompts y modelos. Embedding-based routing usando FAISS k-NN para encontrar el mejor modelo en microsegundos. Generaliza zero-shot a modelos no vistos durante entrenamiento.

🔬 Paper: AAAI 2025 — Latencia de microsegundos, sin necesidad de warm-start.

MTRouter

Joint history-model embeddings. Turn-level routing: elige modelo distinto en cada turno según estado de conversación. Resultados en ScienceWorld: +5.4% score, -58.7% costo.

R2-Router

Output length como variable controlable. Routing on curves vs routing on points — en lugar de predecir el mejor modelo, predice la curva costo-calidad completa. Logra 4-5× menor costo vs baselines.

Speculative Decoding — Avances 2026

TécnicaSpeedupMecanismoReferencia
P-EAGLE1.69× sobre EAGLE-3Parallel drafting en vLLMSPECTRE
SPECTRE2.28×Tail models como drafters remotosarxiv
Draft-OPD5× losslessOn-policy distillation para thinking modelsarxiv
CoSpecSupera target-onlyRL arbitration policyarxiv

🧪 Implicaciones para Routing

Speculative decoding cambia la ecuación de routing: ya no es solo qué modelo elegir, sino qué modelo usa qué drafter. Un modelo grande puede acelerarse 2-5× con un drafter pequeño, haciendo que la brecha de latencia entre "barato" y "caro" se reduzca drásticamente. Esto hace que el cascade pattern tradicional (empezar barato, escalar si falla) sea menos necesario si el modelo caro corre a velocidad de modelo barato via speculative decoding.

📄 Paper relacionado: Dual-Pool Token-Budget Planning for Hierarchical Multi-Agent System — Planificación de presupuesto de tokens en sistemas multi-agente jerárquicos.

9.Model Tokens y Precios — Referencia Rápida

Todos los precios en USD por millón de tokens. Datos verificados a Junio 2026.

ModeloInput / 1MOutput / 1MRelación Costo
OpenCode GPT-5.5$48$192343× DeepSeek
OpenCode GPT-5.4$15$60107× DeepSeek
OpenCode GPT-5.4-mini$3.75$1527× DeepSeek
Claude Opus 4.8$25$125179× DeepSeek
Claude Sonnet 4.6$5$2536× DeepSeek
Claude Haiku 4.5$1$57× DeepSeek
DeepSeek V4 Flash$0.14$0.28Referencia
DeepSeek V4 Pro$0.44$0.873× DeepSeek Flash
⚠️ Nota importante: Los precios de OpenCode son los de la plataforma OpenCode (markup incluido), NO los precios directos de OpenAI/Anthropic. La diferencia con los precios first-party es significativa (+40-300% markup en algunos casos). Ver Clase de Pricing para precios directos de cada proveedor.

10.Guía de Decisión

🎯 ¿Qué plataforma elegir según tus necesidades de routing?

Eres una agencia / equipo pequeño con múltiples clientes:
OpenCode — 75+ providers, modelo por agente, fallback plugin. La flexibilidad de providers te permite facturar a cada cliente con su propia API key.

Eres un equipo enterprise que ya usa OpenAI:
Codex CLI — Integración nativa con ecosistema OpenAI, telemetría OTel, profiles. Sin fallback automático, pero con la plataforma más estable del mercado.

Necesitas máxima resiliencia con presupuesto acotado:
Claude Code — Fallback nativo, opusplan para costo-eficiencia, fast mode tiers. El bug de subagent routing es molesto pero tiene workaround.

Quieres acceso a 200+ modelos con una API:
OpenRouter — Auto Router con NotDiamond, cost_quality_tradeoff, model fallbacks en array. Latencia extra ~50-150ms.

Quieres fine-tuning + hosting open-source:
Together AI — Conditional Workflows, 100+ modelos open-source, fine-tuning LoRA/full, 90% ahorro 8B vs 70B.

💡 Recomendación general: Para la mayoría de equipos, la combinación OpenCode + OpenRouter da la máxima flexibilidad: OpenCode para orchestration de agentes con modelo por agente, OpenRouter como provider gateway con fallback chain y auto-router. El costo extra de OpenRouter (~5% markup + 50-150ms latencia) se compensa con la reducción de complejidad operativa.

11.Fortalezas y Debilidades por Plataforma

🟦

OpenCode

75+ providers, modelo por agente, small_model, fallback plugin con auto-retry

Sin routing nativo por costo/latencia, fallback solo via plugin externo, sin circuit breaker

🟩

Codex CLI

Multi-provider custom, profiles, OTel metrics, modelo por subagent en TOML

Sin fallback automático, sin auto-retry, sin routing inteligente, solo Responses API

🟨

Claude Code

Fallback nativo, provider-specific aliases, fast mode tiers, opusplan, auto mode

Bug subagent routing (#43869), sin cost-aware routing real, sin circuit breaker

📊 Veredicto: OpenCode gana en flexibilidad de providers. Claude Code gana en madurez de fallback y tiers. Codex CLI gana en telemetría y simplicidad. Ninguna plataforma tiene routing completo (costo + latencia + feature detection + circuit breaker).

12.Fuentes Verificadas

Todas las URLs verificadas a Junio 2026. Enlaces directos a documentación oficial y papers de investigación.

Documentación Oficial de Plataformas

Provider Marketplaces

Papers de Investigación