No toda tarea necesita el modelo más caro. Preguntar la hora de una reunión y refactorizar un sistema entero son trabajos muy diferentes. El enrutamiento de modelos resuelve esto: un componente decide, en cada solicitud, qué modelo va a atender.

Cómo funciona

El enrutador queda entre la aplicación y los modelos. Recibe la solicitud, la analiza y elige el destino. Ese análisis puede seguir tres caminos:

  • Reglas fijas: solicitudes cortas van a un modelo pequeño, solicitudes con código van a un modelo de código.
  • Clasificador: un modelo ligero lee la solicitud y estima la dificultad.
  • Criterios de negocio: costo máximo, tiempo de respuesta y disponibilidad del proveedor.

Después de la elección, el enrutador envía la solicitud al modelo y devuelve la respuesta. Quien usa el sistema ni siquiera percibe el cambio.

Un buen enrutador también mide el resultado. Si el modelo barato se equivoca mucho en cierto tipo de tarea, la regla cambia y ese tipo pasa a ir a un modelo más fuerte.

Ejemplo práctico

Imagina una tienda virtual con un asistente de atención. Preguntas como "¿cuál es el plazo de entrega?" van a un modelo pequeño y rápido. En cambio, una queja larga, con cambio de producto y reembolso, va a un modelo de razonamiento más capaz.

En una configuración simple, la regla puede ser algo así:

JSON · config/router.json
{
  "regras": [
    { "se": "tokens < 200", "modelo": "modelo-pequeno" },
    { "se": "contem_codigo", "modelo": "modelo-de-codigo" },
    { "padrao": "modelo-grande" }
  ]
}

Los nombres de arriba son solo ilustrativos. Pones los modelos que realmente usas.

Para qué sirve

El uso principal es reducir costo sin perder calidad donde importa. Como el precio por token varía mucho entre modelos, mandar el trabajo simple a un modelo barato ahorra bastante en volumen alto.

También sirve para ganar velocidad, ya que los modelos más pequeños responden más rápido, y para dar resiliencia: si un proveedor cae, el enrutador manda la solicitud a otro. Este último caso se vincula al fallback de modelos.

En equipos que usan varios agentes, el enrutamiento permite darle a cada rol el modelo más adecuado: un modelo fuerte para planificar, uno más económico para tareas repetitivas. Plataformas de orquestación como el bridgecode siguen esta lógica al dejar que cada agente use su propio modelo.

Diferencia entre enrutamiento y fallback

El enrutamiento elige el mejor modelo antes de la llamada. El fallback actúa después de una falla, intentando un modelo de reserva. Los dos suelen trabajar juntos en un gateway de IA.

Como punto de atención, el enrutador también puede equivocarse. Si clasifica mal una tarea difícil como fácil, la respuesta sale peor. Por eso vale la pena acompañar la calidad de las respuestas por ruta y ajustar las reglas poco a poco.