← Volver al blog

¿Cómo "recuerdan" los chatbots lo que hablamos ayer?

  • IA Generativa
  • LLMs
  • RAG
  • Chatbots

¿Cómo “recuerdan” los chatbots lo que hablamos ayer?

No es magia, es memoria multisesión.

Hoy me crucé con este interesante artículo sobre cómo desarrollar un chatbot que tenga memoria basada en conversaciones anteriores: 👉 ver artículo

Cuando usamos ChatGPT, Gemini, Ollama o cualquier otro modelo de lenguaje, por defecto lo que recibe el chatbot son dos tipos de mensajes: el “user prompt”, que es el mensaje que nosotros escribimos, y el “system prompt”, que contiene instrucciones generales sobre cómo debe responder y cuál es su objetivo general como asistente.

Por ejemplo, un system prompt de uno de los modelos de OpenAI podría lucir así en sus primeras líneas:

“Sos ChatGPT, un modelo de lenguaje grande entrenado por OpenAI. Respondé de la forma más concisa posible. Usá formato Markdown. Si no estás seguro sobre algo, hacé lo mejor posible para explicar claramente lo que sabés…”

Cuando el chatbot nos responde, se genera un mensaje de tipo “assistant”. En una misma sesión entonces se van encadenando cada uno de estos mensajes para que el LLM tenga el contexto completo de la conversación:

system prompt + user_prompt1 + assistant_response1 + user_prompt2 + assistant_response2 + ...

Pero para que “recuerde” y use datos de conversaciones anteriores que sirvan de contexto, no sería eficiente encadenar el registro completo de sesiones históricas porque podría ser inmenso, costoso y atentaría contra la respuesta correcta. El LLM necesita sólo la información relevante.

Para ello, existen formas de implementar lo que se llama memoria multisesión. Esto significa que el modelo tiene la capacidad de bucear en toda la memoria de interacciones anteriores y extraer sólo la información relevante en el contexto de la pregunta.

¿Cómo se logra?

  • 🔹 Se guardan las conversaciones anteriores en bases de datos, optimizadas para búsquedas eficientes de texto.
  • 🔹 Se resume y se etiqueta cada conversación para encontrarla más rápido.
  • 🔹 Cuando preguntás algo nuevo, el modelo realiza una búsqueda en esta base de datos y, si encuentra información relacionada y relevante, la agrega al contexto de la conversación actual.

Un ejemplo concreto se vería así:

system_prompt: “Sos un asistente de soporte de la empresa X.”

user_prompt: “Hola, ¿qué pasó con el reembolso de mi factura?”

memoria_recuperada: “En conversaciones pasadas, el usuario mencionó que abrió un reclamo (#1234) por la factura de febrero. Se le informó que recibiría un reembolso en 7 días.”

assistant_response: “Veo que ya habías iniciado un reclamo (#1234) y te habían prometido la devolución en 7 días. ¿Querés que consulte el estado de ese reembolso ahora mismo?”

Por ejemplo, la memoria multisesión es clave en asistentes de soporte al cliente que conocen el historial de problemas, solicitudes y preferencias del cliente. O en chatbots de ecommerce que recuerdan productos vistos o intereses.