Clase 7 • Junio 2026 • Provider selection, model fallbacks, routing strategies y research avanzado
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.
Cada modelo tiene fortalezas distintas. Un mismo prompt da resultados muy diferentes en Opus vs Sonnet vs Haiku.
Usar Opus para "dime la hora" cuesta 25× más que Haiku. Cascade pattern ahorra 60-80%.
Tareas síncronas (CLI) necesitan <2s. Batch puede tolerar minutos. Routing elige según SLA.
Rate limits, outages, quotas. Fallback multi-provider mantiene uptime sin intervención humana.
OpenRouter (200+), Together AI (~100), Fireworks. Routing inteligente sobre marketplaces.
ZeroRouter, MTRouter, R2-Router. Embedding-based routing con microsegundos de latencia.
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.
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.
{
"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.
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"]
}
}
}
}
reasoningEffort, textVerbosity.| Modelo | Rol |
|---|---|
| GPT-5.5 | Frontier — coding complejo, computer use, research |
| GPT-5.4 | Flagship — coding, tool use |
| GPT-5.4-mini | Rápido/eficiente — tareas ligeras, subagents |
| GPT-5.3-codex-spark | Research preview — text-only instantánea (solo ChatGPT Pro) |
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"
env_key, auth.command, requires_openai_auth.codex --oss para Ollama/LM Studio.-m gpt-5.4-mini, /model command, selector IDE.~/.codex/profile-name.config.toml con --profile.| Alias | Resolución |
|---|---|
default | Según tipo de cuenta |
best | Opus más reciente |
opus | Opus 4.8 (Anthropic API), Opus 4.7 (AWS), Opus 4.6 (Bedrock/Vertex) |
sonnet | Sonnet 4.6 (Anthropic API), Sonnet 4.5 (Bedrock/Vertex) |
haiku | Modelo rápido |
opusplan | Opus en plan mode, Sonnet en execution |
opus[1m] | Con ventana 1M tokens de contexto |
| Tipo de Cuenta | Modelo Default |
|---|---|
| Max / Team Premium / Enterprise pay-as-you-go | Opus 4.8 |
| Pro / Team Standard / Enterprise subscription | Sonnet 4.6 |
| Bedrock / Vertex / Foundry | Sonnet 4.5 |
Precedencia: CLAUDE_CODE_SUBAGENT_MODEL env > parámetro de invocación > frontmatter > modelo de conversación.
claude -p --fallback-model sonnet "query"
Anthropic API, AWS Bedrock, Google Vertex AI, Azure AI Foundry, Cloud Platform on AWS. Los model aliases resuelven diferente según provider.
| Aspecto | OpenCode | Codex CLI | Claude 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 | ❌ | ✅ | ❌ |
| Tarea | Modelo Recomendado |
|---|---|
| Coding complejo | Opus / GPT-5.5 |
| Coding general | Sonnet / GPT-5.4 |
| Planning / analysis | Sonnet |
| Exploración rápida | Haiku / GPT-5.4-mini |
| Documentación | Haiku |
| Batch / CI/CD | Haiku / Flex tier |
El patrón más efectivo: modelo barato primero, escalar si falla validación.
| Tier | Velocidad | Costo | Uso |
|---|---|---|---|
| Fast | 1.5× speed | 2× credits | CLI en primer plano, espera usuario |
| Default | 1× | 1× | Uso general |
| Flex | Más lento (cola) | 50% cheaper | Batch, CI/CD, análisis nocturnos |
openrouter/auto): powered by NotDiamond, analiza el prompt y elige el modelo óptimo.cost_quality_tradeoff (0-10): balance costo/calidad configurable.models en priority order.{
"models": [
"anthropic/claude-sonnet-4",
"openai/gpt-5.4",
"google/gemini-2.5-pro"
],
"route": "fallback"
}
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.
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.
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.
| Técnica | Speedup | Mecanismo | Referencia |
|---|---|---|---|
| P-EAGLE | 1.69× sobre EAGLE-3 | Parallel drafting en vLLM | SPECTRE |
| SPECTRE | 2.28× | Tail models como drafters remotos | arxiv |
| Draft-OPD | 5× lossless | On-policy distillation para thinking models | arxiv |
| CoSpec | Supera target-only | RL arbitration policy | arxiv |
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.
Todos los precios en USD por millón de tokens. Datos verificados a Junio 2026.
| Modelo | Input / 1M | Output / 1M | Relación Costo |
|---|---|---|---|
| OpenCode GPT-5.5 | $48 | $192 | 343× DeepSeek |
| OpenCode GPT-5.4 | $15 | $60 | 107× DeepSeek |
| OpenCode GPT-5.4-mini | $3.75 | $15 | 27× DeepSeek |
| Claude Opus 4.8 | $25 | $125 | 179× DeepSeek |
| Claude Sonnet 4.6 | $5 | $25 | 36× DeepSeek |
| Claude Haiku 4.5 | $1 | $5 | 7× DeepSeek |
| DeepSeek V4 Flash | $0.14 | $0.28 | Referencia |
| DeepSeek V4 Pro | $0.44 | $0.87 | 3× DeepSeek Flash |
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.
✅ 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
✅ Multi-provider custom, profiles, OTel metrics, modelo por subagent en TOML
❌ Sin fallback automático, sin auto-retry, sin routing inteligente, solo Responses API
✅ Fallback nativo, provider-specific aliases, fast mode tiers, opusplan, auto mode
❌ Bug subagent routing (#43869), sin cost-aware routing real, sin circuit breaker
Todas las URLs verificadas a Junio 2026. Enlaces directos a documentación oficial y papers de investigación.