La memoria de los agentes de IA se organiza en torno a bloques, patrones y frameworks

La memoria de los agentes de IA se organiza en torno a bloques, patrones y frameworks
4 min de lectura

Un modelo de lenguaje no conserva la información de una llamada a otra: en cada ejecución, solo trabaja con el texto proporcionado en la solicitud. Para los agentes de IA, que deben seguir sus acciones pasadas, recordar las preferencias de un usuario o realizar una tarea en varios pasos, esta limitación hace necesaria una memoria externa al modelo. Esta memoria almacena la información fuera de la ventana de contexto, es decir, la cantidad de texto que un modelo puede procesar de una vez, y la recupera cuando es útil.

Los bloques de la memoria de los agentes

Los agentes necesitan transportar información de una llamada y una tarea a otra. Pueden necesitar recordar lo que ya se ha planificado para evitar acciones duplicadas, o mantener en memoria los procedimientos que han fallado para no repetir el mismo trabajo. Sin memoria, cada llamada solo dispone del contexto que se le proporciona.

Los tipos de memoria se dividen en cuatro categorías. La memoria de trabajo contiene el estado activo de la tarea, como los resultados intermedios, y se consulta directamente por clave. La memoria episódica conserva lo que ha sucedido: interacciones pasadas, ejecuciones de tareas y decisiones tomadas, en un registro cronológico o una base vectorial, con una búsqueda por similitud semántica. La memoria semántica reúne lo que se considera verdadero, es decir, los hechos y las preferencias, que se actualizan en lugar de añadirse. La memoria procedimental describe la manera de hacer las cosas, ya sean patrones de acciones exitosas o modos de fallo conocidos, y se basa en plantillas de prompts o en el fine-tuning, un ajuste del modelo a partir de datos específicos.

Diseñar una memoria fiable

En el ejemplo de un agente de búsqueda que trabaja varios días en la misma tarea, cada resultado se escribe primero en memoria de trabajo con una duración corta. Cuando un resultado resulta útil, pasa a memoria episódica con una puntuación de importancia. Antes de cada llamada a una herramienta, el agente consulta la memoria de trabajo y luego, si es necesario, la memoria episódica. Si la tarea falla en el camino, el estado temporal puede borrarse mientras se conserva el historial de trabajos completados.

Varias prácticas hacen que la memoria sea más fiable a medida que crece: anotar la importancia de la información antes de escribirla, limitar la memoria de cada agente a su rol en sistemas multiagente, consultar la memoria en cada paso de decisión y rastrear el origen de cada elemento, ya sea de un agente, una herramienta, una entrada del usuario o una marca de tiempo. Algunos enfoques, simples de implementar, se vuelven poco fiables. Es el caso de almacenar todo en una sola base vectorial, de la compresión mediante resúmenes libres, que puede borrar números o restricciones, del crecimiento sin límite de la memoria, o de la confianza otorgada de la misma manera a cada escritura. Esta última expone al envenenamiento de la memoria, donde un contenido no fiable o malicioso se almacena y luego se trata como información segura.

De los frameworks a los enfoques diferentes

Los frameworks se sitúan entre una memoria textual simple y los grafos de conocimiento. Letta se basa en bloques de texto que el agente puede reescribir por sí mismo, y actualiza un bloque cuando detecta una contradicción. Mem0 utiliza una memoria vectorial con una búsqueda sensible a las entidades, y añade los nuevos recuerdos junto a los antiguos. Graphiti se apoya en un grafo de conocimiento bitemporal con relaciones tipadas: invalida las relaciones antiguas mientras conserva su historial consultable. Cognee construye a partir de los datos fuente capas de grafo, vectoriales y relacionales, y reconstruye la representación de la memoria, con modos temporales para seguir los cambios.

En los sistemas multiagente, el compartir la memoria puede provocar conflictos durante las actualizaciones simultáneas. Las soluciones mencionadas incluyen un servicio central con control de escrituras, espacios de nombres separados para cada agente, o registros de solo añadido cuyos conflictos se resuelven en la búsqueda. La evaluación se basa en varios indicadores: el recall, que mide si se recuperan los recuerdos relevantes, la precisión, que mide la proporción de información inútil devuelta, la fidelidad, que verifica el uso correcto de la información recuperada, y la obsolescencia, que mide la frecuencia de la información caducada. Según el artículo, la elección depende de la carga de trabajo del agente, sus datos y sus requisitos operativos.