Saltar al contenido principal

15 · Agentes y AI Engineering

Gateways de modelos

Un único punto de entrada delante de muchos proveedores de modelos: qué simplifica, qué protege y dónde deja de ayudar.

11 minCaso de estudio: docket (se abre en una ventana nueva)

Cuando una organización pasa de un prototipo a varios equipos que usan modelos de lenguaje, aparecen los mismos problemas: llaves de proveedores copiadas en diez repositorios, gastos que nadie puede atribuir, un proveedor caído que tumba la aplicación y ningún registro central de qué se envió a dónde.

Un model gateway () lo resuelve con una sola entrada compartida delante de todos los modelos. Esta lección cubre qué es un gateway, qué revisar antes de confiar en cada una de sus funciones, en qué se diferencia de un router o de una librería cliente, y dónde deja de ayudar. El caso de estudio es docket, que no es un gateway, sino un programa que puede hablar con uno.

Qué es un gateway

Piensa en la recepción de un edificio: las visitas no reciben llaves de todas las oficinas; se registran una vez, reciben una credencial, y la recepción decide a dónde pueden ir y lleva un registro.

En el diagrama, varias aplicaciones comparten un gateway, que guarda las reglas y llega a muchos modelos.

  1. Aplicacionesapps y agentes
    • App A
    • App B
    • Un agente
  2. Gatewayuna entrada que guarda las reglas
    • Llaves por equipo
    • Presupuestos
    • Fallback y límites
    • Caché y registros
  3. Modelosmuchos proveedores detrás de una dirección
    • Proveedores cerrados
    • Hosting de pesos abiertos
    • Tu propio servidor de modelos
Cada llamada pasa por una sola entrada. Las reglas viven ahí, no en cada aplicación.

Las aplicaciones conocen una sola dirección y una llave emitida por el gateway; las llaves reales de los proveedores viven solo dentro del gateway.

Qué suele ofrecer y qué revisar

Función Qué resuelve Qué revisar
Llaves por equipo o app cada una se puede revocar por separado quién administra el gateway
Presupuestos un tope de gasto por equipo o proyecto si el tope es estricto o aproximado
Fallback y reintentos otro proveedor o modelo cuando uno falla el modelo puede cambiar sin que lo notes
Balanceo de carga repartir el tráfico entre cuentas o regiones resultados más difíciles de reproducir
Rate limits que una app no agote la cuota de todas si cuentan por pedido o por token
Caché no pagar dos veces la misma pregunta respuestas viejas, o de otra persona
Registros tokens, costo y velocidad por llamada los prompts quedan almacenados
Guardrails filtrar contenido u ocultar datos personales falsas alarmas y demora extra

Una reutiliza una respuesta anterior cuando una pregunta nueva se parece lo suficiente en significado, algo que se juzga con embeddings. Ahorra dinero, pero preguntas parecidas pueden necesitar respuestas distintas; úsala solo cuando la respuesta no dependa de quién pregunta ni de cuándo.

Gateway, router o SDK

  • Un SDK, como el AI SDK de Vercel o la librería de LiteLLM, vive dentro de tu aplicación y da una sola forma de llamar a muchos proveedores. Unifica el código, pero cada aplicación conserva sus propias llaves y reglas.
  • Un router decide qué modelo o proveedor atiende cada pedido, en tu código o dentro de un gateway. OpenRouter, por ejemplo, elige proveedor según disponibilidad y precio, con fallback activo por defecto.
  • Un gateway es un servicio aparte por el que pasa todo el tráfico, así que centraliza llaves, límites, caché y registros.

Se pueden combinar. El routing por rol es una decisión de diseño que puedes tomar con o sin gateway.

docket como cliente de gateways

En docket

  • Herramienta de códigotrabaja en el repositorio
    • su propia configuración de proveedor
  • Política de modelosqué modelo usa cada rol
    • se define con comandos de docket
  • Gatewayel endpoint al que llama el loop
    • OpenRouter
    • Vercel AI Gateway
    • cualquier endpoint compatible registrado
Tres decisiones separadas. Cambiar la herramienta de código no cambia los modelos de docket, y un gateway no es una herramienta de código. Fuente: Models, gateways, and coding harnesses

Es un cliente simple a propósito:

  • Llaves: una por proveedor, desde la configuración, el entorno o un archivo local de secretos. Sin llaves ni presupuestos por equipo: es software beta para un solo operador (README).
  • Reintentos: reintenta un paso fallido un par de veces, además de lo que haga el gateway, y todavía no respeta la indicación del proveedor de "vuelve a intentar después de".
  • Sin : un pedido que falla nunca pasa a un modelo más barato.
  • Sin extras de gateway: no envía opciones propias de cada gateway ni descubre catálogos o precios.
  • Costo: registra los tokens que reporta el endpoint, pero deja sin precio a propósito los modelos de OpenRouter y Vercel, porque un marketplace cambia precios por modelo y por cuenta.

Dónde deja de ayudar

Un gateway controla qué se envía a qué modelo. No controla qué hace tu sistema con la respuesta. Si el modelo pide borrar una carpeta o transferir dinero, el gateway solo ve un mensaje que pide usar una herramienta. Si esa acción puede ocurrir lo decide el runtime del , con políticas, aprobaciones y auditoría; lo vemos en Gobernanza y human-in-the-loop.

  1. Runtime del agentedecide qué pasa con cada respuesta
    • Políticas
    • Aprobaciones
    • Auditoría
  2. Gatewaydecide qué va a cada modelo
    • Llaves
    • Presupuestos
    • Caché y registros
  3. Proveedores de modelosproducen las respuestas
Dos capas de control. El gateway gobierna el acceso a los modelos; si una acción pedida puede ejecutarse se decide por encima de él.

Otros límites que conviene prever:

  • Demora: un salto de red más, y más si los o la caché hacen sus propias llamadas.
  • Punto único de falla: si el gateway cae, caen todos los modelos a la vez.
  • Reintentos apilados: si reintentan la aplicación y el gateway, un error puede multiplicar las llamadas y el costo.
  • Reproducibilidad: con fallback o balanceo, la misma llamada puede llegar a otro modelo. Registra quién respondió.
  • A dónde van los datos: el gateway ve cada y cada respuesta, y puede guardarlos. Revisa dónde procesa y conserva los datos. OpenRouter, por ejemplo, permite restringir el routing a proveedores que no guardan datos y ofrece procesamiento dentro de una región solo a clientes enterprise.

En la práctica

  • Parte de qué quieres centralizar y quién lo va a operar, no de qué producto elegir.
  • Ajústalo al tamaño de la organización. Un equipo con un proveedor quizá solo necesite una librería cliente y un buen manejo de llaves; varios equipos necesitan llaves por equipo, atribución de costos y un registro central, y ahí un gateway se justifica.
  • Con datos regulados, decide primero dónde pueden procesarse; eso descarta opciones antes de comparar funciones.
  • Separa el acceso a modelos de la gobernanza de agentes. Necesitas ambos, en capas distintas.

Para profundizar

La documentación de docket y de Tack muestra cómo se ve en la práctica llamar a modelos a través de un gateway (en inglés):

  • Models, gateways and harnesses configura OpenRouter y Vercel AI Gateway, combina gateways por rol y detalla qué cubre y qué no cubre "compatible".
  • Architecture explica por qué docket ejecuta su propio loop de agente y llega a cada modelo con un solo cliente simple, sin SDK de proveedor.
  • Troubleshooting repasa los errores de endpoint habituales: ningún endpoint configurado, un servidor inalcanzable y pedidos que el proveedor rechaza.
  • Agent runners and fleet execution registra, para cada herramienta de código, si se confirma el modelo que respondió y por qué un gateway puede dejarlo sin confirmar.

Fuentes

Para llevar

  • Un gateway es una sola entrada compartida a muchos modelos: el lugar para llaves, límites, caché y registros.
  • SDK, router y gateway resuelven problemas distintos y se pueden combinar.
  • Revisa qué cubre de verdad cada presupuesto, caché y fallback antes de apoyarte en ellos.
  • docket es un cliente simple de gateways: un formato, reintentos propios, sin fallback y sin precios para modelos de marketplace.
  • Un gateway no gobierna lo que hacen los agentes, suma demora y es un punto único de falla.

Comprueba lo aprendido

¿Qué diferencia a un gateway de un SDK que soporta muchos proveedores?

El SDK vive dentro de cada aplicación, que guarda sus propias llaves y reglas. El gateway es un servicio aparte por el que pasa todo el tráfico, así que llaves, límites, caché y registros se manejan en un solo lugar.

Tu gateway tiene fallback automático y tu aplicación también reintenta. ¿Qué puede salir mal?

Los reintentos se multiplican: un error puede convertirse en muchas llamadas y más costo. Además, el fallback puede cambiar el modelo que respondió sin que la aplicación lo sepa, lo que dificulta reproducir resultados.

¿Por qué un gateway con guardrails no reemplaza la gobernanza de un agente?

Filtra el texto que entra y sale, pero no decide si una herramienta puede ejecutarse. Aprobar, denegar y auditar acciones le corresponde al runtime del agente.