Arquitectura y producción
Con el sistema validado y medido, toca hacerlo eficiente y escalable en un entorno de producción real.
Tiempo de lectura: 2 min
Streaming
El streaming es recibir la respuesta del modelo token a token a medida que se genera, en lugar de esperar a que esté completa. El usuario empieza a leer al cabo de pocos cientos de milisegundos, aunque la respuesta entera tarde diez segundos.
Cambia la percepción de velocidad más que cualquier otra optimización, y es casi obligatorio en interfaces de chat. Tiene un coste de implementación: hace falta un canal que lo soporte (Server-Sent Events o WebSockets), gestionar los errores a mitad de respuesta y tener en cuenta que una salida estructurada no se puede validar hasta el final.
Prompt caching
El prompt caching es una funcionalidad de los proveedores que reaprovecha el procesamiento de la parte del prompt que se repite entre llamadas, como un system prompt largo, unos documentos fijos o el historial de una conversación. Las llamadas que reutilizan ese prefijo son más baratas y responden más rápido.
Para aprovecharlo, la parte estable debe ir al principio del prompt y la variable (la pregunta, el ticket concreto) al final, porque la caché funciona por prefijo exacto. No hay que confundirlo con guardar respuestas en tu propia caché, que solo sirve cuando la misma pregunta se repite exactamente.
Batch processing
El batch processing es enviar muchas peticiones juntas para que el proveedor las procese de forma asíncrona, normalmente en un plazo de horas, a cambio de un descuento importante (a menudo en torno al 50%).
Es ideal para el trabajo que no tiene prisa: clasificar todos los tickets históricos, generar resúmenes nocturnos o pasar un conjunto de evals entero. No sirve para nada que el usuario esté esperando. La decisión es sencilla: si el resultado no hace falta en los próximos minutos, probablemente debe ir por lotes.
Model routing
El model routing es elegir dinámicamente qué modelo atiende cada petición según la dificultad, el coste o la latencia: un modelo pequeño y barato para las tareas sencillas y uno grande para las complejas.
En una aplicación de atención al cliente, clasificar un ticket por categoría no necesita el mismo modelo que redactar la respuesta a una reclamación delicada. El routing puede ser una regla fija por tarea (la más habitual y la más fácil de mantener) o una decisión dinámica, incluso tomada por un modelo pequeño. También sirve de plan B: si un proveedor falla, la petición pasa a otro.
Examínate de este módulo
Copia este prompt y pégalo en tu IA (ChatGPT, Claude, Gemini…). Te hará un test de 20 preguntas sobre los conceptos del módulo y después te propondrá un ejercicio práctico.
Actúa como examinador de la «Guía de Ingeniería IA» de Dani Pérez. Examíname del módulo «Arquitectura y producción» (https://daniperez.pro/resources/ai-engineering-guide/production-architecture). Conceptos que entran en el examen: - Streaming - Prompt caching - Batch processing - Model routing Examen: 1. 20 preguntas tipo test, cada una con 4 opciones (a, b, c, d) y una sola respuesta correcta. 2. Pregunta sobre comprensión y criterio (para qué sirve cada cosa y cuándo NO usarla), no sobre memorizar definiciones. 3. Reparte la posición de la respuesta correcta de forma equilibrada entre a, b, c y d. 4. Hazme las preguntas en 4 tandas de 5. No pongas ningún ejemplo de respuesta (como "1a 2b 3c 4d 5a"): yo ya sé que debo responder con las letras. No me digas si he acertado hasta que haya respondido las 20. 5. Al final, corrígelas todas: para cada pregunta, mi respuesta, la correcta y una explicación breve. Dame la nota sobre 20 y dime qué conceptos debo repasar. Ejercicio práctico (después de la corrección): 6. Pregúntame qué aplicación tengo o quiero construir, y con qué lenguaje y framework trabajo. Si no tengo ninguna, usa esta: la aplicación de atención al cliente de una tienda online, con tickets, clientes, pedidos y una base de conocimiento (FAQ y políticas de devolución). En ese caso, centra el ejercicio en: pasar a cola las operaciones pesadas, hacer streaming de la respuesta sugerida, aprovechar el prompt caching y elegir el modelo según la tarea. 7. Propónme un ejercicio que aplique los conceptos de este módulo a esa aplicación: objetivo, requisitos, criterios para darlo por bueno y errores habituales a evitar. 8. No me lo resuelvas. Cuando te traiga mi solución, revísala con esos criterios.