Memoria a largo plazo en agentes IA: lo que el cerebro enseña y las decisiones de arquitectura
Cómo diseñé la memoria a largo plazo de un agente IA inspirándome en el cerebro: recuperación por significado con embeddings y pgvector, olvido selectivo, qué vale la pena recordar y cómo degradar sin interrumpir al usuario.
Agregar memoria a largo plazo a un agente parece sencillo… hasta que tienes que decidir qué recordar, dónde guardarlo y cuánto cuesta mantenerlo. Y cuando busqué una referencia para diseñarla, me di cuenta de que la mejor no era otro modelo de inteligencia artificial. Era el resultado de millones de años de evolución: el cerebro.

Hace un tiempo quería incorporar memoria a largo plazo a la aplicación donde construyo agentes, pero no tenía clara una estrategia que realmente aportara valor a mis casos de uso. En vez de inventar un modelo desde cero, tenía más sentido entender cómo la naturaleza ya había resuelto este problema.
Lo que el cerebro enseña
De forma muy simplificada, me quiero enfocar en solo dos tipos de memoria: la de corto y largo plazo.
La memoria de corto plazo es pequeña y temporal. Puedes recordar un número de teléfono el tiempo justo para marcarlo. Después desaparece. En un agente ocurre algo parecido: la ventana de contexto tiene un límite, y al modelo solo se le entrega lo más reciente o un resumen de lo anterior. Sobre cómo gestionar esto en la práctica escribí en memoria de corto plazo en agentes IA.
La memoria de largo plazo funciona distinto. El cerebro no guarda todo lo que vivimos: selecciona qué vale la pena conservar y recupera los recuerdos por asociación, no por fecha. Un olor puede llevarte a una tarde de hace veinte años. Esa capacidad nace de un principio conocido en neurociencia: las neuronas que se activan juntas fortalecen sus conexiones.
Eso mismo intenté replicar: conservar solo aquello que aporta valor —una preferencia, un documento, una instrucción importante— y recuperarlo por significado. Los embeddings son precisamente esa representación del significado que hace posible encontrar información relacionada, aunque las palabras sean distintas.
Para bajarlo a tierra lo probé con algo concreto: mi asistente personal multipropósito. El que agenda reuniones, gestiona correos, publica en LinkedIn y automatiza parte de mi trabajo diario. Si la memoria funcionaba ahí, funcionaba de verdad.
Estas fueron algunas de las decisiones de arquitectura que terminé tomando:
Dónde vive la memoria
La opción más simple era apoyarme en el historial de conversación y enviar cada vez una ventana de contexto más grande. Funciona… hasta que el historial crece y el costo por tokens aumenta. Preferí, al final, un almacén de memoria independiente, pensado para persistir.
Cómo se recupera
Enviar todo el historial al modelo no escala. En lugar de recuperar documentos completos, como en un RAG tradicional, recupero recuerdos individuales mediante embeddings y similitud por coseno. Cada recuerdo se representa como un vector y solo recupero los más relevantes para la consulta actual.
Qué tan grande es un recuerdo
Podía reutilizar la estrategia clásica de dividir documentos en chunks. Pero un recuerdo no es un documento: suele ser una preferencia, un hecho o una decisión. Dividir una frase en varios fragmentos era añadir complejidad sin obtener beneficios. Un recuerdo, un vector.
Con qué infraestructura
PostgreSQL + pgvector.
Qué vale la pena recordar
Guardar cada turno de conversación genera ruido y aumenta los costos. En cambio, almaceno únicamente información con valor futuro: un post publicado, una preferencia del usuario, un informe generado o aquello que el usuario solicita recordar explícitamente.
El olvido tiene un propósito
El cerebro olvida para priorizar. Un buen agente también debería hacerlo: resumir conversaciones antiguas, eliminar redundancias y conservar solo lo que sigue siendo útil. Una memoria que guarda todo con la misma importancia termina siendo menos útil que una que sabe elegir.
Qué pasa cuando algo falla
Cada recuerdo almacena tanto el texto como su embedding. Si el proveedor de embeddings no responde, el sistema degrada su funcionamiento de forma controlada y utiliza búsqueda textual. Menos precisa, sí, pero el agente sigue funcionando sin interrumpir al usuario.
Dónde el agente supera al cerebro
El cerebro tiene limitaciones. Su capacidad es finita y los recuerdos cambian con el tiempo. Recordar no es reproducir un archivo; es reconstruir una experiencia. Cada vez que evocamos un recuerdo, este puede modificarse.
Los agentes de IA no están sujetos a esas mismas restricciones. Pueden almacenar enormes cantidades de información, recuperarla de forma consistente y permitir inspeccionar, actualizar o eliminar recuerdos de manera explícita. Pero eso no significa que deban recordarlo todo.
La lección
Al final, el patrón se repitió en casi todas las decisiones: ninguna era “la correcta”. Todas implicaban un equilibrio distinto entre costo por tokens, latencia, complejidad operativa y capacidad de escalar.
Porque la memoria nunca ha sido un problema de almacenamiento. Siempre ha sido un problema de selección. Construir memoria no consiste en almacenar todo: consiste en decidir qué merece ser recordado y diseñar un sistema que siga funcionando incluso cuando alguna de sus piezas falla.
Y quizás esa sea una de las lecciones más interesantes que podemos seguir tomando del cerebro: la inteligencia no está en recordar más, sino en saber qué vale la pena recordar.
Esta es otra de las capas del harness que hace que un agente realmente funcione.
#LLM #AIAgents #MachineLearning #SoftwareArchitecture #Embeddings