Un sistema de chatbot basado en IA es el software que recibe el mensaje de un usuario y devuelve una respuesta útil; por lo general, esto se logra invocando un modelo de lenguaje de gran tamaño (LLM) y envolviendo dicha llamada en lógica de producto, como controles de seguridad, formato y gestión de memoria. El sistema incluye los componentes encargados de aceptar mensajes, decidir qué enviar al modelo y entregar la respuesta al usuario. [fuentes][/fuentes]
Para delimitar claramente el sistema, distinguimos tres roles. La aplicación cliente muestra la conversación y envía los mensajes. El backend gestiona el flujo de trabajo del chat y los datos. El proveedor del modelo ejecuta el modelo y devuelve el texto generado al ser invocado. [fuentes][/fuentes]
La versión más simple consiste en un único servicio backend que expone una API POST /chat. El cliente envía {conversation_id, user_message}. El servicio carga los turnos anteriores de esa conversación, llama a una API de LLM utilizando ese contexto y transmite los tokens al cliente a medida que se generan. Basemos esto en un flujo de referencia para una única región: [fuentes][/fuentes]
En esta configuración base, el servicio de API actúa como punto de decisión. Lee y escribe el historial del chat en un almacén de datos para evitar perder el hilo tras una actualización de la página, y llama a la API del LLM para generar el siguiente mensaje del asistente. Los registros y las métricas capturan los tiempos de solicitud y los errores, permitiéndonos identificar cuándo el sistema se ralentiza o falla.
Incluso con un volumen de tráfico moderado, rápidamente se manifiestan dos indicadores. Los usuarios perciben la latencia, ya que el tiempo hasta que aparece el primer texto visible determina si la aplicación se siente ágil, mientras que el tiempo total de generación influye en si abandonan la lectura de respuestas extensas. El coste también se hace evidente, dado que cada llamada al modelo consume tokens; por tanto, cada turno adicional y cada fragmento de información recuperado incrementan el gasto por conversación.
Un presupuesto de latencia es el tiempo disponible desde que el usuario pulsa el botón de enviar hasta que visualiza una respuesta útil. En un chatbot con transmisión de datos (streaming), este periodo se desglosa en el tiempo hasta obtener el primer token y el tiempo total para completar la respuesta; el flujo base contempla ambos aspectos. Elegir un modelo más lento aumenta ambos valores, mientras que añadir más contexto suele incrementar el tiempo total, incluso si el tiempo hasta el primer token permanece similar. A continuación, analizamos en detalle esta tensión entre latencia y coste: