Be Software Architecture Wise
Be Wise Apps

Read in English · Lire en français · Auf Deutsch lesen

Sección 12.2 de 12.8 · Avanzado · 30 min de lectura

Dónde encajan los modelos en una arquitectura

Videolección

5 min · narrado en inglés, con subtítulos
Solo escuchar (audio)
Leer la transcripción

Elegir el mejor modelo del mes importa menos de lo que podrías pensar. En los sistemas basados en la inteligencia artificial, o IA, las decisiones duraderas son dónde se ejecuta un modelo, qué tiene delante y qué ocurre cuando falla.

Piensa en un modelo como en un contratista especializado. Puedes contratar uno a una agencia por una tarifa por hora. Eso es una API alojada: los modelos más capaces y sin hardware, pero pagas por token, y tus datos salen de tu perímetro. Puedes emplear a tu propio especialista, con todo el equipo que necesita. Eso es autoalojar un modelo de pesos abiertos: controlas los datos y la versión, pero debes planificar la capacidad de unos aceleradores escasos y caros. O puedes dar a cada cliente un pequeño kit de herramientas para usar en casa. Eso es un modelo en el dispositivo: privado, sin conexión y sin costo por llamada, pero mucho menos capaz.

Después, pregúntate si hay un usuario esperando. La inferencia online está en la ruta de la solicitud, así que las respuestas se envían en streaming, y las llamadas necesitan timeouts y capacidad para el pico de la noche. En el trabajo por lotes no hay nadie esperando, como al etiquetar por la noche dos millones de platos de la carta con sus alérgenos. Puede usar el modelo adecuado más barato y reintentar con calma. La inferencia asíncrona pone la solicitud en cola y avisa al usuario de que el resultado llegará después. Sacar el trabajo de la ruta online es una de las decisiones de costo y fiabilidad más eficaces que existen.

En cuanto más de una funcionalidad llama a modelos, un gateway de IA se amortiza. Aquí lo llaman un asistente de soporte, un trabajo nocturno por lotes y una herramienta de búsqueda para el personal, cada uno con su propia identidad interna. El gateway ofrece una única API para todos los modelos. Guarda las claves de los proveedores, enruta las llamadas y gestiona las alternativas, hace cumplir las cuotas y los límites de tasa, registra cada llamada con enmascarado y ofrece ganchos para los guardrails. Detrás de él hay dos proveedores alojados y un modelo autoalojado. Cambiar de proveedor pasa a ser una decisión de configuración, no un cambio de código en cada servicio. El precio es una nueva dependencia crítica que debe tener alta disponibilidad, y un almacén concentrado de prompts que pueden contener datos personales.

No todas las solicitudes necesitan el modelo más capaz. El enrutamiento decide de antemano. Una pregunta como dónde está mi pedido puede ir a un modelo pequeño y barato, mientras que una queja sobre tres problemas va a uno más grande. Una cascada prueba primero un modelo barato y escala solo cuando falla una comprobación. Las mejores comprobaciones son deterministas, como una validación de esquema fallida. La declaración de confianza del propio modelo es la señal menos fiable. Cuando un modelo alcanza su límite de tasa o está caído, una escalera de alternativas prueba el siguiente peldaño: el mismo modelo en otro sitio, otro proveedor, un modelo más pequeño y, por último, una respuesta sin nada de IA, como un traspaso a una persona. Da a cada peldaño su propio timeout y a toda la escalera un plazo total, para que nadie tenga que esperar varios fallos lentos. Y registra qué peldaño respondió.

Así es como encaja todo en el asistente de soporte de la plataforma de reparto de comida. Atiende unas cuarenta mil conversaciones al día. Unas dos terceras partes tratan de pedidos con retraso, artículos que faltan o reembolsos. Las primeras palabras en streaming deben llegar en menos de dos segundos, y la respuesta completa en menos de ocho, ambas en el percentil noventa y cinco. El chat debe estar disponible el noventa y nueve punto nueve por ciento del tiempo. Detrás de un gateway de IA hay dos proveedores alojados. Un modelo pequeño enruta cada turno y responde a las preguntas sencillas sobre el estado. Un modelo más grande se encarga de las quejas. Los reembolsos de más de quince libras necesitan a una persona, y el servicio de reembolsos aplica la política en código corriente, no en el modelo. La escalera va del modelo principal al segundo proveedor, luego a un modelo pequeño y, por último, a un mensaje predefinido con la opción de ponerse en cola para hablar con una persona. En un escalado, los agentes ven la transcripción, las fuentes usadas y la acción propuesta, para que el cliente no tenga que repetirse.

Humano en el bucle abarca varios diseños: aprobación antes de una acción, revisión después, escalado o retroalimentación. Di a cuál te refieres. La aprobación crea una cola que debe dimensionarse para el volumen máximo, como la cola de revisión de fraude de la sección doce punto uno. Las personas que aprueban cientos de sugerencias buenas empiezan a aprobar sin leer. Eso es el sesgo de automatización. Así que muestra la evidencia y la acción exacta, y registra con qué frecuencia los revisores cambian la propuesta. Y elige los modelos con tu propio conjunto de evaluación de ejemplos reales, no con clasificaciones públicas. Espera una combinación, no un único ganador.

La sección completa compara las opciones de alojamiento y enumera los criterios para elegir un modelo. A continuación, en la sección doce punto tres, veremos la generación aumentada por recuperación. Nos vemos allí.

Lo que necesitas saber

El modelo es una dependencia, no la arquitectura

La Sección 12.1 describió un modelo como una función probabilística a la que se accede mediante una API. En una arquitectura es un contenedor entre muchos y, normalmente, una pequeña parte del código. Un asistente de atención al cliente tiene un frontend de chat, un almacén de conversaciones, integraciones con los servicios de pedidos y de reembolsos, un índice de búsqueda, identidad, logging, un traspaso a agentes humanos y un pipeline de despliegue; la llamada al modelo es una línea en medio. Por tanto, las preguntas arquitectónicas son las de siempre, aplicadas a un nuevo tipo de dependencia: dónde se ejecuta, cómo se llama, qué hay entre ella y quienes la llaman, qué ocurre cuando es lenta, se equivoca o no está disponible, y quién responde de su salida.

Acertar con estas preguntas importa más que elegir el mejor modelo del mes. Los modelos se sustituyen cada pocos meses; el gateway, el diseño de las alternativas, el conjunto de evaluación y el proceso de revisión humana duran años. Las decisiones de esta sección son de las significativas y difíciles de revertir, en el sentido del Capítulo 1, así que merecen registros de decisiones; la elección de una versión concreta del modelo debe ser fácil de cambiar.

Tres lugares donde puede ejecutarse un modelo

API de modelos alojadas. El proveedor ejecuta el modelo y tú pagas por token. Esto abarca las API propias de los proveedores de vanguardia (OpenAI, Anthropic y Google, entre otros) y las plataformas en la nube que revenden los modelos de varios proveedores dentro de tu cuenta de nube existente. Es la forma más rápida de empezar y da acceso a los modelos más capaces, sin aceleradores que comprar ni operar. Los costos son un precio por token que crece con el uso, unos límites de tasa que fija otro, una dependencia de la disponibilidad del proveedor, modelos que quedan obsoletos según el calendario del proveedor y datos que salen de tu perímetro. Los contratos, las condiciones de tratamiento de datos, las opciones de conservación nula o limitada y el procesamiento regional reducen esta última preocupación, pero no la eliminan.

Modelos de pesos abiertos autoalojados. Un modelo de pesos abiertos (open-weight) publica sus pesos entrenados, así que puedes ejecutarlo en tus propios aceleradores o en aceleradores alquilados con un servidor de inferencia como vLLM. Algunos ejemplos son los modelos de Meta (Llama), Mistral, Alibaba (Qwen), DeepSeek, Google (Gemma) y OpenAI (gpt-oss). Tú controlas la ruta de los datos, la versión exacta y el fine-tuning, y con un volumen alto y constante el costo por token puede quedar muy por debajo de los precios de las API. A cambio, asumes la planificación de capacidad de un hardware escaso y caro, la utilización (los aceleradores ociosos cuestan lo mismo que los ocupados), las actualizaciones, los parches de seguridad y las guardias. Las licencias importan: algunos modelos de pesos abiertos usan licencias permisivas como Apache 2.0, mientras que otros usan licencias propias con condiciones de uso o de escala, y la mayoría no publican sus datos de entrenamiento. La Open Source AI Definition de la Open Source Initiative (versión 1.0, octubre de 2024) pone el listón más alto que los simples pesos abiertos. Una vía intermedia, la que usa el propio chatbot de este curso, es llamar a modelos de pesos abiertos a través de un proveedor de inferencia externo: precio por token, sin hardware y con la libertad de llevar el mismo modelo a otro sitio.

Modelos en el dispositivo. Los modelos pequeños, a menudo de unos pocos miles de millones de parámetros o menos y cuantizados a una precisión menor, se ejecutan en teléfonos, computadoras portátiles o en el navegador. Ofrecen privacidad (los datos nunca salen del dispositivo), funcionamiento sin conexión, ningún costo por llamada y una latencia muy baja, a cambio de una capacidad mucho menor, una gran dispersión del rendimiento entre dispositivos, descargas de la app más grandes y la dificultad de actualizar modelos ya distribuidos a millones de dispositivos. Muchos productos los combinan: un modelo pequeño en el dispositivo se encarga de las tareas rápidas y privadas y deriva las más difíciles a la nube.

Comparación de las opciones

OpciónVentajasCostos y riesgosEncaje típico
API propietaria alojadaLa mejor capacidad, sin infraestructura, arranque rápido, el proveedor se encarga del escaladoCosto por token a escala, límites de tasa, caídas y retiradas de modelos del proveedor, datos que salen de tu perímetro, dependencia del proveedor (lock-in) a través de funcionalidades específicas del proveedorLa mayoría de las funcionalidades nuevas; volumen bajo o con picos; tareas que necesitan capacidad de vanguardia
Modelo de pesos abiertos a través de un proveedor de inferenciaPrecio por token sin hardware; los mismos pesos pueden trasladarse a otro proveedor o a la propia empresaSigue siendo una dependencia externa; capacidad por debajo de la vanguardia en algunas tareas; la calidad y los límites varían según el proveedorFuncionalidades sensibles al costo; portabilidad; un paso hacia el autoalojamiento
Pesos abiertos autoalojadosControl total de los datos, la versión y el ajuste; bajo costo marginal con una carga alta y constanteCosto y escasez de aceleradores, capacidad ociosa, competencias de operación, actualizaciones, condiciones de licenciaRestricciones estrictas sobre los datos; volumen muy alto y constante; fine-tuning intensivo
En el dispositivoPrivacidad, uso sin conexión, sin costo por llamada, latencia mínimaSolo modelos pequeños; fragmentación de dispositivos; distribución de actualizaciones; batería y memoriaTareas rápidas privadas, autocompletado, funciones sin conexión, primer paso de una cascada

Inferencia online y puntuación por lotes

La segunda pregunta es si hay un usuario esperando. La inferencia online llama al modelo en la ruta de la solicitud, así que se aplican objetivos de latencia: los usuarios notan el tiempo hasta las primeras palabras visibles, que es por lo que las respuestas del chat se envían en streaming, y abandonan una solicitud que tarda muchos segundos. Las llamadas online necesitan timeouts, límites de concurrencia y capacidad para el pico de la noche, exactamente igual que cualquier dependencia síncrona del Capítulo 6.

La puntuación por lotes procesa muchos elementos sin que nadie espere: etiquetar por la noche dos millones de platos de la carta con sus alérgenos, resumir las conversaciones de soporte del día anterior, volver a generar los embeddings de una colección de documentos. El trabajo por lotes puede usar el modelo adecuado más barato, ejecutarse cuando hay capacidad libre y reintentar con calma. Varios proveedores ofrecen interfaces asíncronas por lotes que aceptan un archivo de solicitudes y devuelven los resultados en unas horas con un descuento considerable. Entre ambas está la inferencia asíncrona: una solicitud se pone en cola, se avisa al usuario de que el resultado llegará después (una decisión de reembolso por correo electrónico, el resumen de un documento en unos minutos) y unos workers vacían la cola a un ritmo controlado, usando las colas y el back pressure del Capítulo 9 para absorber los picos y los límites de tasa del proveedor. Sacar el trabajo de la ruta online es una de las decisiones de costo y fiabilidad más eficaces que existen.

Un gateway de IA entre las aplicaciones y los modelos

En cuanto más de un equipo o una funcionalidad llaman a modelos, un gateway de IA (AI gateway) dedicado se amortiza. Desempeña el papel que un API gateway desempeña para los microservicios, especializado en el tráfico de modelos. Las aplicaciones llaman a un único endpoint interno con un único formato de solicitud y su propia identidad; el gateway guarda las claves de los proveedores, traduce a la API de cada proveedor, aplica el enrutamiento y las alternativas, hace cumplir las cuotas y los presupuestos de gasto por equipo, aplica límites de tasa, registra cada llamada (modelo, versión, número de tokens, latencia, costo, resultado) para el trazado y la asignación de costos, puede guardar respuestas en caché y ofrece un lugar donde conectar de forma centralizada los guardrails de entrada y de salida.

Las ventajas son arquitectónicas: la elección del proveedor pasa a ser una decisión de configuración en lugar de un cambio de código en cada servicio, las claves dejan de estar dispersas por las aplicaciones, el gasto es visible por funcionalidad y una caída de un proveedor se gestiona una sola vez. Los costos son los de cualquier intermediario compartido. Es una nueva dependencia crítica que debe tener alta disponibilidad, añade una pequeña latencia y sus logs se convierten en un almacén concentrado de prompts que pueden contener datos personales, por lo que se le aplican reglas de enmascarado y de conservación (consulta privacidad desde el diseño). Existen productos de gateway de código abierto y gestionados, y las plataformas en la nube incluyen funciones de gateway; construir uno ligero es razonable para un sistema pequeño, pero las cuotas, el streaming, los reintentos y la contabilidad dan más trabajo de lo que parece.

Un gateway de IA

Las aplicaciones llaman a un gateway de IA, que guarda las claves y enruta cada solicitud a proveedores alojados o a un modelo de pesos abiertos autoalojadoAsist. de soportechat en líneaEtiquetado cartalote nocturnoBúsqueda internadel personalProveedor AAPI alojadaProveedor BAPI alojadaModelo open-weightautoalojadoGateway de IAuna API para los modelosclaves de proveedor aquíenrutamiento y fallbackcuotas y presupuestolím. de tasalogging con enmascaradocaché respuestasganchos guardrailidentidad internacredenciales proveedor
Las aplicaciones se autentican ante el gateway con su propia identidad; solo el gateway guarda las credenciales de los proveedores, y decide qué modelo atiende cada llamada.

Enrutamiento y cascadas

No todas las solicitudes necesitan el modelo más capaz. El enrutamiento decide de antemano qué modelo debe atender una solicitud, mediante reglas (la funcionalidad, el nivel del cliente, el idioma) o un clasificador pequeño y rápido. En el asistente de soporte, ¿dónde está mi pedido? puede ir a un modelo pequeño y barato que llama a una herramienta, mientras que una queja sobre tres problemas distintos va a un modelo más grande. Una cascada de modelos, en cambio, prueba primero un modelo más barato y escala solo cuando una comprobación indica que su respuesta no es lo bastante buena. FrugalGPT (2023), de Chen, Zaharia y Zou, mostró que unas cascadas bien ajustadas pueden acercarse a la calidad del modelo más potente con una fracción del costo.

Una cascada solo es tan buena como su comprobación de escalado. Las comprobaciones fiables son deterministas: la salida no supera la validación del esquema, una fuente citada no existe, falta un campo obligatorio, una regla de negocio rechaza la propuesta. Un modelo verificador que puntúa la respuesta es más débil, pero a menudo útil. La declaración de confianza del propio modelo es la señal menos fiable y no debe usarse sola. Las cascadas también tienen costos: las solicitudes escaladas pagan dos llamadas y esperan a ambas, ahora hay dos modelos que evaluar y mantener sincronizados, y el techo de calidad lo fija la comprobación, no el modelo potente. Mide la tasa de escalado; si la mayoría de las solicitudes escalan, usa enrutamiento en su lugar.

Escaleras de alternativas entre modelos y proveedores

Las API de modelos fallan de todas las formas en que fallan las dependencias remotas, y de algunas propias: respuestas de límite de tasa (HTTP 429) cuando se agota una cuota, errores de sobrecarga en los momentos de más actividad, respuestas lentas que superan un timeout, caídas regionales y modelos retirados en una fecha de obsolescencia. Los patrones del Capítulo 9 se aplican directamente, organizados como una escalera de alternativas (fallback ladder): una lista ordenada de peldaños, cada uno de los cuales se prueba cuando falla el de arriba. Una escalera típica es el modelo principal; el mismo modelo en otra región o en otro proveedor de alojamiento; un modelo distinto de capacidad similar de un segundo proveedor; un modelo más pequeño y rápido; y, por último, una respuesta sin IA, como un mensaje predefinido útil, los resultados de búsqueda del centro de ayuda o un traspaso a una persona.

Reglas de diseño para una escalera: da a cada peldaño su propio timeout y a toda la escalera un plazo total, para que el usuario nunca espere cuatro fallos lentos seguidos; respeta Retry-After y pon un modelo con límite de tasa en un periodo de enfriamiento (un circuit breaker sencillo) en lugar de bombardearlo; no reintentes los errores que volverán a fallar, como una solicitud demasiado grande o rechazada por un filtro de contenido; valida la salida en cada peldaño, porque un peldaño inferior puede producir respuestas con una forma ligeramente distinta; evalúa cada peldaño con el mismo conjunto de evaluación, ya que los prompts suelen necesitar ajustes por modelo; y registra qué peldaño respondió, para que los paneles de calidad puedan distinguir una respuesta degradada de una normal.

Las propias funcionalidades de IA de este curso son un ejemplo pequeño y real. Las respuestas de ArchitectBot y la corrección de las respuestas escritas de las pruebas se generan a través de una escalera de varios modelos de pesos abiertos servidos por un único proveedor de inferencia, que se prueban en un orden de preferencia fijo. A un modelo que devuelve una respuesta de límite de tasa se le aplica un periodo de enfriamiento durante el tiempo que pide el proveedor (dentro de unos límites fijados); una solicitud que falla, agota su timeout o devuelve una respuesta inutilizable pasa al siguiente peldaño; esos peldaños comparten un presupuesto de tiempo global, y un segundo proveedor sirve como último peldaño. El diseño cambia algo de calidad de las respuestas en los peldaños inferiores por disponibilidad: es preferible una respuesta algo más débil a ninguna.

Humanos en el bucle

El concepto de humano en el bucle (human in the loop) describe varios diseños distintos, y conviene nombrar a cuál se refiere uno. Aprobación antes del efecto: el modelo redacta y una persona aprueba (un reembolso por encima de un límite, una respuesta a un regulador, un cambio en producción). Revisión después del efecto: las salidas surten efecto de inmediato y las personas revisan una muestra o los casos marcados. Escalado: el modelo gestiona lo que puede y pasa el resto a una persona, con la conversación y la evidencia. Retroalimentación: las personas etiquetan o corrigen las salidas para crear conjuntos de evaluación y mejorar los prompts.

Cada diseño tiene consecuencias arquitectónicas. La aprobación crea una cola que debe dimensionarse para el volumen máximo, como la cola de revisión de fraude de la sección 12.1, y añade una latencia que se mide en minutos u horas. Las personas que aprueban cientos de sugerencias buenas empiezan a aprobar sin leer (sesgo de automatización), así que la interfaz debe mostrar la evidencia y la acción exacta, resaltar lo inusual y registrar con qué frecuencia los revisores cambian la propuesta; una tasa de modificación cercana a cero es una señal de alarma, no un éxito. Los traspasos necesitan todo el contexto para que el cliente no tenga que repetirse. La supervisión humana que exige la normativa para algunos usos es aún más exigente: la persona debe entender los límites del sistema y poder anularlo.

Construir o comprar, y cómo elegir un modelo

La pregunta de construir o comprar tiene más de dos respuestas. Puedes comprar una funcionalidad de IA completa dentro de un producto que ya usas (el asistente de un proveedor de software de helpdesk); construir sobre API alojadas; hacer fine-tuning de un modelo para tu tarea; autoalojar pesos abiertos; o, rara vez, entrenar el tuyo propio. Usa la lente estratégica del diseño guiado por el dominio: compra para capacidades genéricas, como la transcripción de reuniones, y construye donde la IA toca tu dominio central y tus propios datos te dan una ventaja. Construyas lo que construyas, mantén el código específico de cada proveedor detrás de un puerto con un adaptador por proveedor, y evita depender de funcionalidades que solo ofrece un proveedor, salvo que su valor justifique la dependencia del proveedor (lock-in).

Elige los modelos con tu propio conjunto de evaluación, no con las clasificaciones públicas (leaderboards). Las clasificaciones miden tareas generales que pueden no parecerse a las tuyas, y hay modelos que se han ajustado para puntuar bien en algunas de ellas. Define los criterios y sus pesos antes de probar, como en cualquier decisión ponderada, y después preselecciona dos o tres candidatos y mídelos con unos cientos de ejemplos reales. Espera que la respuesta sea una combinación, como un modelo pequeño para el enrutamiento y uno más grande para los casos difíciles, más que un único ganador.

Criterios para elegir un modelo

CriterioPreguntas que hacerCómo comprobarlo
Capacidad¿Hace nuestra tarea lo bastante bien, en nuestros idiomas y formatos?Puntúalo con tu propio conjunto de evaluación; compara los tipos de error, no solo las medias
Costo¿Cuánto cuestan los tokens de entrada, de salida y de razonamiento con nuestros volúmenes?Multiplica los tokens medidos por solicitud por el tráfico esperado; incluye los reintentos y los escalados
Latencia¿Cuánto tarda el primer token y cuántos tokens por segundo genera, en el pico?Mide p50 y p95 desde tu región, con carga y con tamaños de prompt realistas
Longitud del contexto¿Cabe nuestra entrada realista más larga dejando espacio para la respuesta?Prueba la calidad con esa longitud; la calidad con contextos largos varía
Residencia y conservación de los datos¿Dónde se procesan y almacenan los datos, durante cuánto tiempo, y se usan para entrenar?Lee las condiciones de tratamiento de datos; confirma por escrito los endpoints regionales y la configuración de conservación
Licencia y condiciones¿Podemos usarlo para este fin, a esta escala, y hacerle fine-tuning?Lee la licencia o las condiciones del servicio, con asesoramiento jurídico cuando haga falta
Funcionalidades¿Admite llamada a herramientas, salidas estructuradas, streaming, imágenes o audio?Haz un prototipo de las funcionalidades exactas de las que depende el diseño
Operaciones¿Cuáles son los límites de tasa, el historial de disponibilidad, la fijación de versiones y la política de obsolescencia?Comprueba los límites publicados, el historial de estado y durante cuánto tiempo se mantienen las versiones fijadas

Guía de decisión

Guía de decisión: ¿dónde debe ejecutarse este modelo?

Hazte las preguntas en orden para cada funcionalidad de IA; las distintas funcionalidades de un mismo producto suelen acabar en lugares distintos.

  1. ¿Debe la funcionalidad funcionar sin conexión, o los datos no deben salir nunca del dispositivo del usuario?
    SíUsa un modelo en el dispositivo, acepta los límites de un modelo más pequeño y planifica cómo llegan las actualizaciones del modelo a los dispositivos. Considera escalar los casos difíciles a la nube con el consentimiento del usuario.
    NoContinúa.
  2. ¿Puede un proveedor externo tratar estos datos en virtud de un contrato (finalidad, conservación, región)?
    SíContinúa.
    NoAutoaloja un modelo de pesos abiertos en tu propio entorno, o usa un despliegue de un proveedor dentro de tu propia cuenta (tenant) en la nube que cumpla las mismas restricciones.
  3. ¿Necesita la tarea una capacidad que los modelos de pesos abiertos que podrías ejecutar no alcanzan en tu conjunto de evaluación?
    SíUsa una API alojada de vanguardia detrás de un gateway de IA, con una alternativa en un segundo proveedor y un último peldaño sin IA.
    NoContinúa.
  4. ¿Es el volumen lo bastante alto y constante como para mantener ocupados unos aceleradores dedicados, y tienes personas para operarlos?
    SíAutoalojar pesos abiertos puede salir más barato. Demuéstralo con un modelo de costos que incluya el personal, la capacidad ociosa, la redundancia y las actualizaciones.
    NoUsa una API alojada, ya sea propietaria o un modelo de pesos abiertos a través de un proveedor de inferencia, y vuelve a evaluarlo cuando crezca el volumen.

Ejemplo práctico

Ejemplo práctico: un asistente de soporte para la plataforma de reparto de comida

La plataforma recibe unas 40 000 conversaciones de soporte al día, con un pico en la hora punta de la cena. Unas dos terceras partes tratan de pedidos con retraso, artículos que faltan o reembolsos. El objetivo es resolver automáticamente los casos rutinarios, pasar el resto a personas con su contexto y no pagar nunca un reembolso que la política no permita.

Objetivos de calidadPrimeras palabras en streaming en menos de 2 segundos en el p95; respuesta completa en menos de 8 segundos en el p95; chat disponible el 99.9% del tiempo, con una alternativa humana o un mensaje predefinido cuando los modelos no estén disponibles.
RestriccionesClientes en el Reino Unido y la UE, así que los datos personales se tratan conforme al RGPD (GDPR), con procesamiento regional y conservación limitada; los reembolsos de más de £15 necesitan a una persona; los servicios existentes de pedidos y de reembolsos deben seguir siendo los sistemas de registro.
Dónde se ejecutan los modelosAPI alojadas de dos proveedores detrás de un gateway de IA. Un modelo pequeño enruta cada turno según la intención y responde a las preguntas sencillas sobre el estado; un modelo más grande se encarga de las quejas y de las conversaciones con varios problemas. Por la noche, un trabajo por lotes resume y etiqueta las conversaciones para la analítica a través de la interfaz por lotes de un proveedor.
ConocimientoLas políticas y los artículos del centro de ayuda se recuperan en el momento de la consulta de un índice de búsqueda híbrida (sección 12.3); nunca se incorporan a un modelo mediante fine-tuning.
AccionesEl orquestador expone herramientas de solo lectura (estado del pedido, artículos del pedido) y una herramienta de escritura que propone un reembolso; el servicio de reembolsos aplica la política y los límites en código corriente (sección 12.4; protegido en la sección 12.6).
PersonasEscalado a la consola de agentes cuando el cliente lo pide, tras dos intentos fallidos, para reembolsos por encima del límite o cuando la conversación sugiere un cliente vulnerable; los agentes ven la transcripción, las fuentes recuperadas y la acción propuesta.
Comportamiento ante fallosEscalera: modelo principal, segundo proveedor, modelo pequeño y, después, un mensaje predefinido con un enlace al centro de ayuda y la opción de ponerse en cola para hablar con una persona.
ObservabilidadCada llamada al modelo se traza a través del gateway con la versión del modelo, los tokens, la latencia, el costo, las fuentes recuperadas y el resultado, lo que alimenta la evaluación (sección 12.5) y la monitorización de costos (sección 12.7).

Las llamadas al modelo son una pequeña parte del diseño; la mayoría de los contenedores son servicios corrientes con responsabilidades corrientes.

Las decisiones que más merecen un ADR son el gateway, la escalera con dos proveedores, mantener la política en el servicio de reembolsos y las reglas de escalado, porque son caras de revertir; la elección de las versiones de los modelos es deliberadamente fácil de cambiar.

Diagrama de contenedores: asistente de soporte

Diagrama de contenedores C4 de un asistente de soporte para una plataforma de repartoCliente[persona]Agente soporte[persona]Asistente de soporte [sistema software]App móvil[iOS y Android]pedidos y chatServicio chat[TypeScript]conversaciones, traspasoConsola agentes[app web]bandeja de agentesConversaciones[PostgreSQL]mensajes, resultadosOrquestador[Python]prompts, herram., límitesBúsqueda de ayuda[índice híbrido]políticas, artículosGateway IA[producto gateway]enrutado, claves, cuotasTrazas y evals[almac. trazas]prompts, tokens, notasPedidos/reembolsos[servicios actuales]API plataformaProveedor modelo A[externo, principal]API LLM alojadaProveedor modelo B[externo, alternativa]API LLM alojadachateagestiona traspasosWebSockettraspasoSQLHTTPSbúsquedallamadas LLMtrazasHTTPSfallbackherramientas (REST)
Vista de contenedores C4 del asistente de soporte: las llamadas al modelo pasan por el orquestador y el gateway de IA, mientras que los pedidos y los reembolsos se quedan en los servicios existentes.

Comprueba lo que has entendido

¿Por qué los logs de un gateway de IA pueden convertirse en un problema de privacidad?

Reúnen en un solo lugar los prompts y las respuestas de todas las funcionalidades, y los prompts suelen contener datos personales, así que se necesitan enmascarado, control de acceso y límites de conservación.

¿Cuándo es el enrutamiento mejor opción que una cascada?

Cuando el tipo de solicitud puede reconocerse de antemano, o cuando la mayoría de las solicitudes escalarían de todos modos, de forma que probar primero el modelo barato solo añade costo y latencia.

¿Por qué cada peldaño de una escalera de alternativas necesita su propio timeout y toda la escalera un plazo total?

Para que un usuario nunca tenga que esperar varios fallos lentos seguidos; la escalera debe dar alguna respuesta dentro del tiempo de respuesta que toleran los usuarios.

Da una ventaja y un costo de ejecutar un modelo en el dispositivo del usuario.

Ventaja: privacidad, uso sin conexión, ningún costo por llamada o una latencia muy baja. Costo: una capacidad mucho menor, un rendimiento variable según el dispositivo, descargas más grandes o actualizaciones del modelo difíciles.

Siguiente · 12.3RAGCómo fundamentar las respuestas del modelo en tus propios datos: ingesta y chunking, embeddings e índices vectoriales, recuperación híbrida y re-ranking, citas, control de acceso, actualización de los datos (freshness), evaluación y modos de fallo.Continuar →

Fuentes y lecturas recomendadas

¿Tienes una pregunta sobre esta sección? ArchitectBot, el asistente de estudio con IA del curso, responde primero a partir del curso.

Pregunta: “¿Cuándo tiene sentido autoalojar un modelo de pesos abiertos en lugar de pagar por una API alojada?”