Memoria, Estado y Sesiones (Persistencia de Contexto)
Autor: Eduardo Martínez Agrelo
Uno de los mayores obstáculos para la adopción de la IA en servicios de acompañamiento o soporte es la "amnesia" de los modelos de lenguaje. Por naturaleza, los LLMs son stateless (sin estado). En este laboratorio, aprenderemos cómo ADK utiliza las Sesiones para proporcionar una memoria de corto plazo, permitiendo que el agente recuerde quién es el usuario y qué se ha discutido anteriormente.
El concepto de Sesión en ADK
Una sesión es un contenedor lógico que agrupa el historial de interacciones entre un usuario específico y el agente:
- Aislamiento de Contexto: Cada usuario posee un identificador único
(
session_id), lo que garantiza que la información de un cliente no se filtre a la conversación de otro. - Gestión Automática del Historial: ADK se encarga de reinyectar los mensajes previos en el prompt de forma inteligente, manteniendo la coherencia sin que el desarrollador deba programar la base de datos de logs manualmente.
Memoria de Corto Plazo vs. Largo Plazo
Es vital distinguir entre los diferentes tipos de persistencia que podemos implementar en nuestras arquitecturas:
response = agente.run("Recuerda mi nombre", session_id="usuario_123")
- Memoria de Corto Plazo (Contextual): Vive dentro de la ventana de contexto del modelo. Es ideal para recordar detalles de la sesión actual, como preferencias temporales o el hilo de la resolución de un ticket.
- Estado Persistente: ADK permite almacenar estos historiales de forma local o en servicios gestionados, asegurando que si el servidor se reinicia, el agente no pierda el hilo de la conversación.
Personalización y Experiencia de Usuario
La memoria transforma radicalmente la percepción del agente por parte del usuario final:
- Reconocimiento: El agente puede saludar al usuario por su nombre o recordar que prefiere respuestas breves y técnicas.
- Continuidad: Permite resolver problemas complejos que requieren múltiples interacciones, donde el agente construye la solución basándose en datos proporcionados en mensajes anteriores.
Implementación práctica
En este laboratorio, configuraremos un "Asistente Personal Memorable". Utilizaremos el parámetro
session_id para simular dos conversaciones paralelas. Verás cómo, en la Dev UI, el
agente es capaz de recordar el nombre y los gustos de un usuario en la Sesión A, mientras mantiene una tabla
rasa con un usuario diferente en la Sesión B. Comprobarás cómo ADK gestiona la ventana de contexto para que el
agente nunca olvide el objetivo principal a pesar de que la conversación se extienda.
Conclusión: De scripts a compañeros inteligentes
Has aprendido a darle recuerdos a tu IA, eliminando la barrera de la interacción efímera. Ya sabes cómo gestionar sesiones y estados. Con un agente capaz de recordar y razonar, el siguiente paso es abrir las puertas al mundo exterior convirtiendo tu agente en un servicio accesible mediante una API Server profesional.