Agentes LLM - Parte 3 - La memoria de corto y largo plazo
Introducción
En esta tercera parte de la serie de posts sobre agentes LLM vamos a hablar otro aspecto fundamental en la evolución de los agentes LLM: su capacidad para gestionar la memoria. Para entender mejor este tema vamos a separar la memoria en dos tipos clave, la memoria de corto plazo y la de largo plazo.
Si querés visitar las otras ediciones de esta serie de posts, podés encontrarlas a continuación:
Memoria de corto plazo: el contexto del modelo
Podemos entender a la memoria de corto plazo en un agente LLM como la ventana de contexto del modelo. Esta ventana es el espacio donde se almacena toda la información relevante para la tarea que el agente está resolviendo en un momento dado. Sin embargo esta memoria está limitada por la longitud máxima de la ventana de contexto del modelo utilizado, y a medida que pasa el tiempo y la información comienza a aumentar se hace más difícil para el modelo manejar toda la información de manera efectiva.
Esta memoria es acumulativa y temporal: los nuevos pensamientos y acciones se van añadiendo al contexto, pero no existe manera de modificar o eliminar la información previamente almacenada. Además, como dijimos antes, está limitada por la longitud máxima de la ventana de contexto del modelo (aunque los nuevos modelos como llama 3.2 ya manejan ventanas de contexto de 128k tokens, y modelos como Gemini 1.5 Pro tienen una increíble ventana de 2M de tokens).
Otra limitación que presenta la memoria de corto plazo es que no persiste una vez que la tarea actual termina. Por ejemplo, un agente LLM podría resolver un problema complejo hoy, pero si no se le entrena específicamente para recordar esta solución, tendrá que comenzar de cero la próxima vez que se enfrente a este problema. De cierta manera este comportamiento es similar al de Dory de Buscando a Nemo: si bien el agente puede hacer algo increíble hoy, rápidamente olvidará lo que logró.
Memoria de largo plazo: reflexión y aprendizaje persistente
La memoria de largo plazo es una forma de superar las limitaciones descritas anteriormente para la memoria de corto plazo. Con esta memoria el agente puede almacenar información importante más allá del contexto inmediato, lo cual es especialmente útil en tareas que requieren un aprendizaje continuo y una mejora iterativa.
Esta memoria se asemeja a la manera en la que los humanos escribimos un diario o documentamos nuestro trabajo: almacenamos información relevante para poder consultarla y utilizarla en el futuro. De manera similar, un agente LLM puede guardar información sobre tareas pasadas, decisiones tomadas o problemas encontrados y utilizar estos datos en futuras interacciones. Por ejemplo, un agente que falla en una prueba de código puede reflexionar sobre su error, registrar la causa y aplicar ese conocimiento la próxima vez que intente resolver una tarea similar.
Esta capacidad de reflexión y de aprendizaje a partir de experiencias pasadas le permite a los agentes mejorar con cada interacción. A diferencia del aprendizaje reforzado clásico, donde el agente recibe una recompensa numérica, los agentes pueden aprender utilizando el resultado de la ejecución del código o el feedback textual de un usuario. Esto representa una nueva forma de aprendizaje: en lugar de tener que reentrenar el modelo y ajustar sus pesos, el agente actualiza su conocimiento usando el lenguaje, modificando así el comportamiento futuro del agente.
La memoria de largo plazo puede tener un impacto significativo en el desarrollo de agentes más complejos y autónomos. Un ejemplo de esto es el proyecto Voyager, en el cual un agente aprende habilidades dentro del entorno de Minecraft como construir una espada. Luego esta habilidad se almacena en su memoria de largo plazo, lo cual le permite reutilizarla cuando sea necesario, sin tener que aprenderla desde cero cada vez.
Otro ejemplo es el uso de agentes generativos que simulan la vida de seres humanos en un pequeño pueblo. Estos agentes mantienen un registro detallado de todos los eventos importantes en su vida (una especie de diario íntimo), y utilizan este registro para tomar decisiones futuras. Esta forma de memoria episódica les permite comportarse de manera coherente y aprender de sus interacciones, lo cual es crucial para la simulación de comportamientos humanos realistas.
Finalmente, es interesante pensar en la memoria de largo plazo y la propia estructura del modelo de lenguaje como dos formas complementarias de almacenamiento de conocimiento. Los agentes LLM pueden aprender y mejorar de dos maneras: ajustando sus parámetros internos (mediante el fine tuning del modelo) o registrando información importante en una memoria de largo plazo que pueda ser recuperada en el futuro. Esta combinación permite tener un enfoque más potente y flexible para el aprendizaje continuo, en el cual tanto los pesos del modelo como la memoria colaboran para optimizar el comportamiento del agente.
Conclusiones
En este artículo discutimos los dos tipos de memoria en agentes: la memoria de corto plazo y la memoria de largo plazo, y cómo esta última memoria puede usarse para que el agente aprenda de manera dinámica registrando aprendizajes, sin la necesidad de reentrenar el modelo ajustando sus pesos.
En la próxima edición vamos a hablar del framework CoALA, un enfoque muy interesante que desarrolla el concepto de “agentes cognitivos”, que serían una versión más evolucionada de los agentes LLM.
¡Mantenete al Tanto de las Novedades!
¿Te gustaría recibir las últimas actualizaciones sobre Mi Obra y más contenido exclusivo directamente en tu bandeja de entrada? Suscribite a nuestro newsletter en Substack y no te pierdas ninguna novedad.