# Cómo crear un chatbot con inteligencia artificial

**Categoría:** Inteligencia artificial · **Nivel:** Intermedio · **Lectura:** 11 min
**Publicada:** 2026-07-28 · **Actualizada:** 2026-07-28 · **Autoría:** Underc0de
**Versión HTML (canónica):** https://underc0de.org/guias/inteligencia-artificial/como-crear-un-chatbot-con-inteligencia-artificial/

## Respuesta rápida

Un **chatbot con inteligencia artificial** usa un [modelo de lenguaje](../prompt-engineering-desde-cero/index.md) para entender y responder en lenguaje natural, a diferencia de los chatbots viejos, que seguían un **árbol de reglas** rígido y se rompían apenas el usuario se salía del guion. Sus piezas son cuatro. El **modelo** genera las respuestas. El **prompt de sistema** es la instrucción base que define quién es el bot, qué hace, qué tono usa y qué *no* debe hacer: es su personalidad y sus reglas. El **historial** de la conversación se le reenvía en cada turno, porque el modelo no recuerda por sí mismo: sin historial, cada mensaje sería el primero. Y para que responda sobre *tu* información —un catálogo, una base de conocimiento—, se lo conecta con tus datos mediante [RAG](../como-crear-un-sistema-rag-con-documentos-propios/index.md). La contraparte de entender lenguaje natural es que hay que ponerle **límites**: el prompt de sistema acota el tema, se valida lo que el bot dice antes de actuar sobre ello, y se protege contra intentos de manipularlo. Un chatbot con IA es potente, pero puede equivocarse con seguridad, así que en temas sensibles siempre hay una persona o una validación detrás.

## De las reglas a la IA

Los chatbots existen desde hace décadas, pero los de antes funcionaban con un **árbol de reglas**: «si el usuario dice X, respondé Y; si aprieta el botón 2, mostrá el menú de facturación». Funcionaban mientras el usuario siguiera el guion previsto, y se rompían —o respondían cualquier cosa— apenas se salía de él. Programar cada rama a mano era tedioso y frágil.

> **El cambio: entender lenguaje, no coincidir palabras**
>
> Un chatbot con IA reemplaza ese árbol por un **modelo de lenguaje** que *entiende* lo que el usuario quiere decir, aunque lo exprese de mil maneras distintas, y responde de forma natural. Ya no hay que anticipar cada frase posible. Pero ese poder viene con una contracara: como el modelo puede responder *cualquier cosa*, hay que acotarlo activamente, algo que el árbol de reglas hacía por diseño.

## Las piezas de un chatbot

El corazón del chatbot es cómo se arma, en cada turno, lo que se le envía al modelo. Son tres ingredientes:

- **El prompt de sistema.** Una instrucción base fija que define quién es el bot, qué hace, qué tono usa y qué *no* debe hacer. Es [prompt engineering](../prompt-engineering-desde-cero/index.md) puro, y es donde se ponen los límites.
- **El historial.** Todos los mensajes previos de la conversación, que se reenvían completos en cada turno.
- **La información recuperada (opcional).** Fragmentos de tus datos, insertados para que responda sobre información específica.

Esas piezas se combinan y se mandan al modelo, que devuelve la respuesta. Técnicamente, esto se hace llamando a la [API](../../programacion/como-crear-una-api-con-nodejs-y-express/index.md) del proveedor del modelo, con la clave guardada —como siempre— en variables de entorno, nunca en el código.

## Historial y tus datos

Dos puntos que sorprenden a quien empieza y que definen el comportamiento del bot:

**El modelo no tiene memoria.** Cada llamada al modelo es independiente: no recuerda la anterior. Lo que da la *ilusión* de memoria es que en cada turno le reenviamos **todo el historial** de la conversación. Si no lo hiciéramos, el bot trataría cada mensaje como el primero y no recordaría nada. Esto tiene un límite práctico: el historial no puede crecer infinito, así que en conversaciones largas se resume o se recorta lo más viejo.

**El modelo no conoce tus datos.** Un modelo sabe de lo general, pero no de tu catálogo de productos, tus políticas internas ni tu base de conocimiento. Para que responda sobre eso sin inventar, se usa **RAG** (generación aumentada por recuperación): antes de responder, se buscan los fragmentos relevantes de tus documentos y se le pasan al modelo para que se apoye en ellos. Cómo montarlo está en [cómo crear un sistema RAG con documentos propios](../como-crear-un-sistema-rag-con-documentos-propios/index.md).

## Los límites necesarios

La capacidad de responder cualquier cosa es un arma de doble filo. Un chatbot con IA sin límites puede salirse del tema, dar información incorrecta con total seguridad, o ser manipulado. Tres defensas son obligatorias:

> **Atención**
>
> **Acotar** el tema en el prompt de sistema: decirle explícitamente de qué puede hablar y qué debe rechazar. **Proteger** contra la *inyección de prompts*: usuarios que escriben instrucciones para que el bot ignore sus reglas («olvidá todo lo anterior y…»); esto se trata en [seguridad de agentes y aplicaciones de IA](../seguridad-de-agentes-y-aplicaciones-de-ia/index.md). Y **validar** antes de actuar: si el bot va a ejecutar una acción real (hacer un pedido, borrar algo), esa acción se comprueba con código, no se ejecuta a ciegas porque el modelo lo dijo.

La regla de fondo: el modelo **puede equivocarse con seguridad**. Por eso, en temas sensibles —salud, dinero, decisiones legales— siempre hay una validación o una persona detrás, y el chatbot deja claro cuándo deriva a un humano. Un chatbot bien hecho conoce y comunica sus propios límites.

## Errores frecuentes

- **No reenviar el historial.** Sin él, el bot no recuerda nada y cada mensaje es el primero.
- **Esperar que conozca tus datos.** El modelo sabe de lo general; para tu información hace falta RAG.
- **Prompt de sistema sin límites.** Un bot que puede hablar de todo termina saliéndose del tema o dando de más.
- **No protegerlo contra inyección de prompts.** Usuarios que lo manipulan para saltarse sus reglas.
- **Ejecutar acciones sin validar.** Si el bot dispara acciones reales, hay que comprobarlas con código.
- **La clave de la API en el código.** Va en variables de entorno, nunca versionada.
- **Confiar ciegamente en temas sensibles.** El modelo puede errar con seguridad; salud, dinero y legal necesitan validación.

## Preguntas frecuentes

**¿Qué diferencia a un chatbot con IA de uno tradicional?**
La diferencia fundamental está en cómo entienden y responden. Un chatbot tradicional funciona con un árbol de reglas definido a mano: si el usuario dice tal cosa o aprieta tal botón, el bot responde exactamente lo que se programó para ese caso. Funciona bien mientras el usuario siga el guion previsto, pero se rompe o responde de forma inútil apenas se sale de él, y programar cada rama posible es tedioso y frágil. Un chatbot con inteligencia artificial reemplaza ese árbol por un modelo de lenguaje que entiende el significado de lo que el usuario quiere decir, sin importar cómo lo exprese, y genera respuestas en lenguaje natural. Esto elimina la necesidad de anticipar cada frase posible y hace la conversación mucho más fluida y flexible. La contracara es que, como el modelo puede responder cualquier cosa, hay que acotarlo de forma activa mediante instrucciones y validaciones, algo que el árbol de reglas hacía por su propia rigidez.

**¿Qué es el prompt de sistema de un chatbot?**
Es la instrucción base y fija que se le da al modelo antes de cualquier conversación, y que define la identidad y las reglas del chatbot: quién es, qué función cumple, con qué tono se dirige a los usuarios y, muy importante, qué cosas no debe hacer. Funciona como la personalidad y el reglamento del bot, y es el lugar donde se establecen sus límites, por ejemplo el tema del que puede hablar, la información que no debe revelar y las peticiones que debe rechazar amablemente. A diferencia de los mensajes de la conversación, que cambian en cada turno, el prompt de sistema permanece constante y condiciona todas las respuestas. Escribirlo bien es una tarea de prompt engineering, porque de su claridad depende que el chatbot se comporte de forma coherente y segura. Un prompt de sistema vago o permisivo produce un bot que se sale del tema o da respuestas inapropiadas, mientras que uno bien pensado mantiene al chatbot enfocado, consistente y dentro de los límites deseados.

**¿Por qué hay que reenviar el historial en cada turno?**
Porque el modelo de lenguaje no tiene memoria propia entre una llamada y la siguiente: cada vez que se lo consulta, procesa lo que recibe en ese momento y nada más, sin recordar interacciones anteriores. Lo que crea la ilusión de que el chatbot recuerda la conversación es que, en cada turno, el programa le reenvía todo el historial de mensajes previos, tanto los del usuario como los del propio bot. Gracias a eso, el modelo puede tener en cuenta lo que se dijo antes y responder de forma coherente con el hilo de la charla. Si no se reenviara el historial, el bot trataría cada mensaje como si fuera el primero y no recordaría absolutamente nada de lo hablado, lo que haría imposible cualquier conversación real. Esto tiene un límite práctico, porque el historial no puede crecer de forma indefinida, así que en conversaciones largas se recurre a resumir los tramos más antiguos o a recortar los mensajes más viejos para que el conjunto siga entrando dentro de lo que el modelo puede procesar.

**¿Cómo hago que el chatbot responda sobre mi información?**
Mediante un enfoque llamado RAG, que significa generación aumentada por recuperación. El problema de fondo es que un modelo de lenguaje conoce información general con la que fue entrenado, pero no sabe nada de tu catálogo de productos, tus políticas internas, tu base de conocimiento ni tus documentos específicos, y si le preguntás sobre eso puede inventar respuestas con seguridad. RAG resuelve esto de una manera elegante: antes de que el modelo responda, el sistema busca en tus documentos los fragmentos más relevantes para la pregunta del usuario y se los entrega al modelo junto con la consulta, para que construya su respuesta apoyándose en esa información real en lugar de en su memoria general. Así el chatbot puede responder con precisión sobre datos que nunca vio durante su entrenamiento y que además pueden estar siempre actualizados, sin necesidad de reentrenar el modelo. El detalle de cómo montar un sistema de este tipo, incluyendo cómo se preparan y se buscan los documentos, se cubre en la guía específica sobre crear un sistema RAG con documentos propios.

**¿Qué límites hay que ponerle a un chatbot con IA?**
Al menos tres defensas son obligatorias. La primera es acotar el tema en el prompt de sistema, indicándole explícitamente de qué puede hablar y qué tipo de peticiones debe rechazar, para que no se salga de su función. La segunda es protegerlo contra la inyección de prompts, que es cuando un usuario escribe instrucciones dentro de sus mensajes para intentar que el bot ignore sus reglas, por ejemplo pidiéndole que olvide todo lo anterior y actúe de otra manera; hay que diseñar el sistema para resistir esos intentos de manipulación. La tercera es validar antes de actuar: si el chatbot puede ejecutar acciones reales, como registrar un pedido o modificar datos, esas acciones deben comprobarse con código y no ejecutarse a ciegas solo porque el modelo lo indicó. Por encima de todo esto está el principio de que el modelo puede equivocarse con total seguridad, por lo que en temas sensibles como salud, dinero o cuestiones legales siempre debe haber una validación o una persona detrás, y el chatbot debe dejar claro cuándo deriva la conversación a un humano.

**¿Necesito entrenar un modelo para hacer un chatbot?**
No, y esta es una buena noticia para la mayoría de los casos. Entrenar un modelo de lenguaje desde cero requiere una cantidad enorme de datos, cómputo y experiencia, y está fuera del alcance de casi cualquier proyecto. La forma habitual y accesible de crear un chatbot con IA es usar un modelo ya existente a través de la interfaz de programación de su proveedor, o bien un modelo abierto ejecutado por tu cuenta, y construir alrededor de él las piezas que definen su comportamiento: el prompt de sistema que fija su personalidad y sus reglas, el manejo del historial de conversación, y opcionalmente la conexión con tus datos mediante RAG. Con eso se logra un chatbot capaz y personalizado sin entrenar nada. Existe además una técnica intermedia llamada ajuste fino, que adapta un modelo ya entrenado a un estilo o dominio particular con relativamente pocos datos, pero para la gran mayoría de los chatbots no hace falta recurrir a ella, porque un buen prompt de sistema combinado con RAG cubre la enorme mayoría de las necesidades.

## Fuentes

Documentación oficial y material de la comunidad consultados para esta guía. Fecha de consulta: 28 de julio de 2026.

### Aportes de la comunidad Underc0de

1. **Underc0de, foro.** [Sección Programación](https://underc0de.org/foro/programacion/). Integración de modelos y construcción de asistentes.
2. **Underc0de, foro.** [Sección Desarrollo web](https://underc0de.org/foro/desarrollo-web/). Chatbots en sitios y aplicaciones.

### Documentación oficial

1. **OpenAI.** [Text generation](https://platform.openai.com/docs/guides/text-generation). Cómo se estructura una conversación con roles.
2. **Anthropic.** [Messages API](https://docs.anthropic.com/en/api/messages). El formato de mensajes y el prompt de sistema.
3. **Google.** [Text generation (Gemini)](https://ai.google.dev/gemini-api/docs/text-generation). Generación conversacional multivuelta.
4. **OWASP.** [OWASP GenAI Security](https://genai.owasp.org/). Riesgos de seguridad en aplicaciones con modelos de lenguaje.

## Guías relacionadas

- [Prompt engineering desde cero](../prompt-engineering-desde-cero/index.md)
- [Crear un sistema RAG](../como-crear-un-sistema-rag-con-documentos-propios/index.md)
- [Seguridad de aplicaciones de IA](../seguridad-de-agentes-y-aplicaciones-de-ia/index.md)
- [Crear una API con Node](../../programacion/como-crear-una-api-con-nodejs-y-express/index.md)
- [Índice de Inteligencia artificial](../index.md)
