Chatbot
Un chatbot es un software que conversa en lenguaje natural por texto o voz, desde guiones que buscan palabras clave como ELIZA hasta aplicaciones de chat con LLM como ChatGPT.
Un chatbot es un programa informático que conversa con las personas en lenguaje natural, por texto o por voz. ELIZA, creado por Joseph Weizenbaum en el MIT y publicado en 1966, suele considerarse el primer chatbot: su guion DOCTOR imitaba a un psicoterapeuta al detectar palabras clave y convertir las afirmaciones del usuario en preguntas, y a Weizenbaum le inquietó ver cómo los usuarios, incluida su propia secretaria, le confiaban cosas como si los entendiera. Desde entonces, los chatbots han pasado por tres generaciones: desde guiones basados en reglas hasta bots basados en intenciones y modelos de lenguaje de gran tamaño (LLMs). ChatGPT, de OpenAI, lanzado el 30 de noviembre de 2022, popularizó la tercera generación, y ahora «chatbot» suele referirse a una interfaz de chat para un LLM, como ChatGPT, Claude o Gemini.
Cómo funcionan los chatbots#
- Chatbots basados en reglas: Comparan las palabras del usuario con patrones escritos manualmente y responden con plantillas. Son predecibles y baratos, pero fallan ante cualquier formulación que sus autores no hayan previsto.
- Chatbots basados en intenciones: Un clasificador de comprensión del lenguaje natural (NLU) asigna cada mensaje a una intención, como consultar un saldo, y extrae detalles como una cuenta o una fecha; después, los flujos de diálogo diseñados deciden la respuesta. Los bancos, las aerolíneas y las empresas de telecomunicaciones crearon bots de atención al cliente de este tipo porque todas las respuestas podían revisarse de antemano.
- Chatbots con LLM: Generan cada respuesta token a token a partir de la conversación hasta ese momento. Un prompt del sistema establece el papel y las reglas del bot, y el modelo se encarga de formulaciones que nadie había previsto.
El modelo que hay detrás de un chatbot con LLM es un Transformer entrenado para el diálogo mediante ajuste de instrucciones y aprendizaje por refuerzo a partir de comentarios humanos (RLHF), y no tiene memoria entre llamadas. La aplicación almacena la conversación y la envía completa con cada mensaje nuevo, formateada según la plantilla de chat del modelo:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("HuggingFaceTB/SmolLM2-135M-Instruct")
# El chatbot almacena la conversación y la envía completa con cada nuevo turno
messages = [
{"role": "system", "content": "You are a support assistant for an online store."},
{"role": "user", "content": "Where is my order?"},
{"role": "assistant", "content": "Could you share your order number?"},
{"role": "user", "content": "It's 4417."},
]
# La plantilla de chat aplana el historial en un único prompt para que el modelo lo continúe
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
print(prompt)El prompt impreso envuelve cada turno en marcadores <|im_start|> y <|im_end|> con su rol, y termina con una línea <|im_start|>assistant abierta, de modo que los siguientes tokens del modelo se convierten en la respuesta y «Son las 4417» solo tiene sentido porque la pregunta anterior está en el mismo prompt. Cada turno alarga el prompt, por lo que las conversaciones largas se recortan o resumen antes de superar la ventana de contexto, y el almacenamiento en caché de prompts evita volver a procesar el historial que no ha cambiado en cada turno.
Fundamentación, herramientas e imágenes#
Un chatbot de soporte que responde basándose únicamente en sus datos de entrenamiento afirmará políticas erróneas con seguridad, así que los bots de producción recuperan primero los documentos y datos de cuenta pertinentes mediante la generación aumentada por recuperación (RAG), comprueban las entradas y los borradores con barreras de protección de IA y derivan la consulta a una persona cuando no es posible respaldar una respuesta:
Los chatbots que llaman a herramientas mediante la invocación de funciones, por ejemplo para consultar un pedido, están convirtiéndose en agentes de IA, y los chatbots multimodales aceptan fotos y capturas de pantalla en un turno mediante modelos de visión y lenguaje (VLMs). La interfaz LLM de Ultralytics envía un prompt, una imagen o un historial completo de mensajes a cualquier modelo de chat compatible con OpenAI y devuelve el propio objeto de respuesta del proveedor, de modo que un flujo de YOLO26 puede pedir a un modelo multimodal que describa una escena solo después de que la detección encuentre a una persona en ella.
Riesgos#
Las alucinaciones tienen consecuencias legales cuando una empresa pone el bot en producción. En Moffatt contra Air Canada, cuya resolución se dictó en febrero de 2024, el chatbot del sitio web de la aerolínea dijo a un pasajero afligido que podía solicitar un descuento por duelo después del viaje, en contra de la política real de la compañía. El Tribunal de Resolución Civil de la Columbia Británica rechazó el argumento de Air Canada de que el chatbot era responsable de sus propias afirmaciones y ordenó a la aerolínea pagar la diferencia. Los chatbots también se enfrentan a intentos de inyección de prompts y jailbreaking, y los modelos ajustados para complacer a los usuarios pueden derivar hacia la adulación de la IA, dando la razón a afirmaciones falsas en vez de corregirlas.
Chatbots y términos relacionados#
- Asistente virtual: Software como Siri o Alexa que realiza tareas en distintas aplicaciones y dispositivos. Un chatbot suele estar integrado en un sitio web, una aplicación o un canal de mensajería y se centra en la conversación.
- Agente de IA: Sistema que persigue un objetivo eligiendo y ejecutando acciones, a menudo durante muchos pasos y sin intervención humana. Un chatbot se convierte en agente cuando actúa mediante herramientas, además de responder.
- IA conversacional: Campo más amplio de tecnologías que hay detrás de los chatbots y los asistentes, como el reconocimiento del habla, NLU, la gestión del diálogo y la síntesis de voz.










