Cómo desarrollamos un enrutamiento consciente de las tareas entre modelos y bancos de pruebas para reducir costos en tareas de programación del mundo real en Databricks.
por Ankit Mathur, Ivan Zhou, Bryan Qiu, Rohit Agrawal, Elise Gonzales y Kelly Albano
La frontera de precio y rendimiento para las tareas de programación presenta una enorme diversidad de modelos y harnesses: solo en 2026, hemos visto el lanzamiento de 33 nuevos modelos. En nuestra publicación anterior sobre las pruebas de rendimiento con la base de código de Databricks, descubrimos que los modelos se agrupan en niveles de capacidad y que gran parte del trabajo diario (por ejemplo, activar una opción, editar un solo archivo o corregir un error bien delimitado) no requería los modelos más costosos.
¿Cómo se pueden reducir los costos de programación con AI sin sacrificar la productividad de los desarrolladores? Una de las mayores oportunidades consiste en asignar cada tarea al modelo adecuado en lugar de usar por defecto la opción más capaz (y más costosa) para cada tarea. El simple hecho de aprovechar modelos de menor costo puede ahorrarle más del 50%, pero resulta increíblemente abrumador para los usuarios. Con la proliferación de excelentes modelos y harnesses capaces, los usuarios de agentes de programación se enfrentan constantemente a una sobrecarga de opciones. En lugar de perder tiempo intentando seleccionar el mejor modelo para cada tarea, muchos configuran el más capaz con el nivel de esfuerzo más alto y continúan. En lugar de pedir a los usuarios que elijan o frenar la productividad con límites estrictos, sabíamos que necesitábamos innovar.

Por eso estamos lanzando el próximo gran control de costos en Unity AI Gateway: Smart Routing, ya disponible en Beta. Unity AI Gateway proporciona un lugar centralizado para acceder a la AI, administrar los gastos y aplicar controles en toda su empresa, y Smart Routing añade una optimización inteligente al asignar automáticamente las tareas al modelo adecuado según su complejidad. Smart Routing funciona directamente en Claude Code y Codex, lo que le permite optimizar las herramientas que los desarrolladores ya utilizan.
Y vamos más allá del enrutamiento de modelos. Con Omnigent, nuestro meta-harness para agentes de programación, los equipos pueden aprovechar todo el poder de Smart Routing al optimizar tanto los modelos como los harnesses de programación, ofreciendo a los desarrolladores la combinación adecuada para la tarea sin tener que elegirla ellos mismos.
Los resultados hablan por sí solos: en las cargas de trabajo de programación internas, Smart Routing superó a cualquier modelo individual con solo el 65% del costo por tarea de un modelo líder como Opus 5. En las pruebas de rendimiento públicas, Smart Routing igualó el rendimiento de Opus 5 a menos de la mitad del costo.

Esto es lo que aprendimos:
Veamos cómo construimos esto.
El enrutamiento inteligente de modelos selecciona el modelo más adecuado para una tarea en función de factores como la complejidad, la capacidad y el costo. Para los agentes de programación, una decisión importante es cuándo debe ocurrir ese enrutamiento.
Por lo general, existen dos enfoques para el enrutamiento:
Optamos por el enrutamiento consciente de la tarea para preservar la eficiencia de la caché y, al mismo tiempo, asignar cada tarea de programación al modelo y harness adecuados. El problema más interesante es juzgar qué tan difícil es una tarea antes de comenzarla. Queríamos empezar de forma sencilla, por lo que nuestro enrutador actualmente utiliza una única política y la aplica a cada tarea de la misma manera.
Primero, clasificamos la tarea. Para esto, utilizamos un modelo más económico y de baja latencia que lee la descripción de la tarea y la etiqueta con algunos campos semánticos: qué parte del sistema cambia, qué evidencia de código contiene el prompt (un fragmento de código, un traceback o nada explícito), cómo parece estar fallando, qué tan localizada parece la corrección y a qué tipo de proyecto pertenece. A partir de estos datos, el enrutador deriva una familia de tipos de tareas y una familia de lenguajes. El uso de un modelo de frontera penalizaría cada solicitud (incluso las sencillas en las que queremos ahorrar), por lo que el extractor es intencionalmente pequeño y rápido.
Luego, triangulamos para determinar qué clase de modelo es la mejor. El enrutador utiliza por defecto un modelo de tamaño mediano y usa las etiquetas para moverse en cualquier dirección, escalando a un modelo más costoso cuando la tarea exige capacidad y conocimiento de nivel de frontera, o delegando en uno más económico cuando no es así. Esto significa que una única política puede aprovechar todo un conjunto de modelos.
Los primeros resultados son prometedores. Frente a nuestra propia prueba de rendimiento interna, a la que ningún laboratorio ha tenido acceso, vimos un ahorro del 35%. Frente a las pruebas de rendimiento de programación públicas que demuestran que nuestros resultados se generalizan, logramos un ahorro de costos del 56%. Esperamos ver que esto crezca a medida que aprendamos más sobre nuestros propios casos de uso y con nuestros socios de diseño.
Smart Routing se encarga de la decisión de enrutamiento, pero luego es necesario poder actuar en consecuencia. Funciona de forma nativa dentro de Claude Code y Codex, pero para los agentes de programación, vemos un mejor rendimiento al elegir no solo el modelo adecuado, sino también el harness de programación adecuado. Ayudar a los ingenieros a aprovechar el modelo y el harness elegidos requiere una capa situada por encima de las sesiones de programación individuales para coordinarlas entre sí. Por eso creamos Omnigent.

Smart Routing está implementado en Omnigent en dos niveles:
En primer lugar, los desarrolladores que utilizan Omnigent pueden seleccionar Smart Routing en lugar de elegir manualmente un harness de programación específico. Luego, Omnigent selecciona automáticamente tanto el harness como el modelo para cada tarea, con el enrutamiento de modelos impulsado por Smart Routing en Unity AI Gateway. Este diseño ofrece a los desarrolladores y administradores la libertad de proporcionar personalizaciones, como pautas a nivel de organización o la opción de utilizar el historial de conversaciones anteriores, sin tener que cambiar el cliente cada vez.
Esto también significa que todos los lanzamientos de subagentes pasan por la API de Smart Routing, lo que permite a los subagentes aprovechar un harness y un modelo diferentes. El prompt inicial del usuario a menudo no está lo suficientemente especificado y es difícil de evaluar en términos de complejidad, por lo que los subagentes le permiten ajustar el nuevo trabajo en función de la nueva información, con una caché fresca e instrucciones claras. Una sola tarea puede experimentar decisiones de enrutamiento matizadas a lo largo de la planificación y el trabajo paralelo de los subagentes (por ejemplo, puede enrutar tareas de resumen de grandes bases de código a modelos más económicos mientras diseña la arquitectura con modelos más costosos), lo que genera ahorros aún más significativos.
El enrutamiento de modelos eficaz debe optimizar tanto el costo como la productividad de los desarrolladores, y no solo el costo. Es fundamental contar con señales de retroalimentación, ya que los enrutadores aún son tecnologías incipientes que requerirán una iteración sustancial. Nuestro primer paso aquí fue registrar todas las trazas de las sesiones de programación para su posterior evaluación. Queremos considerar tanto el costo como la experiencia del desarrollador; no queremos optimizar el costo a expensas de la productividad.
Con Unity AI Gateway, las trazas de los agentes de programación se pueden registrar en Unity Catalog. Estos son datos extremadamente sensibles y deben permanecer gobernados por políticas sofisticadas de etiquetado y acceso en la mayoría de las empresas maduras.
Utilizamos tanto modelos de AI como revisión humana para analizar las trazas y evaluar los cambios en el enrutador. Al realizar este análisis en nuestras propias sesiones antes del enrutamiento, observamos que una gran parte de las sesiones gastaba dinero de modelos de frontera en tareas que no lo requerían, simplemente porque el modelo predeterminado era el más costoso. En la práctica, la forma de validar que el enrutador es útil es monitorear continuamente las siguientes métricas:

Creemos que esta es un área con una gran oportunidad y planeamos seguir investigando a fondo en este campo. Aún es pronto, así que tenemos mucho que aprender.
Nuestro primer desafío ha sido la falta de confiabilidad en los datos de referencia (benchmarking) que no coinciden con el comportamiento real del usuario. Las tareas de referencia se comportan inusualmente bien, y cada una llega como una declaración de trabajo independiente. Aunque los enrutadores funcionan bien en este tipo de tareas, las sesiones reales a menudo no son así en absoluto.
Por eso, estamos investigando algunas direcciones nuevas para recopilar más información y probar nuevas técnicas:
El enrutamiento se suele presentar como una forma de gastar menos. Aunque la mayoría de nuestras ventajas provienen de pagar precios más bajos por tareas sencillas, el mismo mecanismo puede ayudarnos a decidir cuándo gastar más para obtener un mejor resultado. La maximización del valor funciona en ambos sentidos: elija el modelo económico cuando sea suficiente y tenga la confianza de gastar más cuando el valor lo justifique.
Las herramientas de programación a menudo incentivan a los usuarios a consumir cada vez más tokens, pero lo que realmente queremos es optimizar el rendimiento productivo por dólar, no los tokens. Elegir un modelo más económico y rápido cuando es suficiente no solo ahorra dinero. También ahorra tiempo y mantiene disponible la escasa capacidad de los modelos de frontera para las tareas que realmente la necesitan.
Smart Routing ya está disponible en versión Beta a través de Unity AI Gateway. Enruta automáticamente las tareas de programación al modelo adecuado según la complejidad, lo que ayuda a los equipos a alcanzar un rendimiento de nivel de frontera con un ahorro de costos de más del 30 % al seleccionar el mejor modelo para cada tarea. Para los equipos que buscan reducir los costos de programación con AI sin limitar la elección o la productividad de los desarrolladores, Smart Routing ofrece una alternativa a la selección manual de modelos o a la dependencia de límites de gasto estrictos. Y con Omnigent, puede ampliar el enrutamiento inteligente a través de modelos y harnesses de programación.
Para comenzar, visite nuestras páginas de documentación:
Obtenga más información sobre Unity AI Gateway visitando nuestro sitio web.
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
Suscríbete a nuestro blog y recibe las últimas publicaciones directamente en tu bandeja de entrada.