Los modelos de lenguaje grandes (LLMs) son, por diseño, stateless: cada solicitud se procesa como si fuera la primera, sin contexto acumulado. Esta limitación se vuelve crítica cuando se construyen agentes de IA capaces de mantener conversaciones fluidas, aprender de interacciones previas o ejecutar tareas complejas. La memoria para agentes surge como solución, ofreciendo mecanismos estructurados para que el agente almacene, recupere y actualice información relevante.

El artículo original de MarkTechPost desglosa siete categorías de memoria que un ingeniero puede implementar. Cada tipo responde a un propósito concreto y se aloja en diferentes capas del sistema, desde variables efímeras en la RAM hasta bases de datos persistentes en disco. Entender estas diferencias permite diseñar agentes más robustos y adaptados al caso de uso.

Memoria de trabajo – Es el almacenamiento temporal que reside en la propia solicitud del modelo. Guarda el contexto inmediato necesario para generar una respuesta coherente, como el último turno de una conversación. Al ser efímera, se pierde al finalizar el turno, lo que la hace ideal para mantener diálogos en tiempo real sin sobrecargar el sistema.

Memoria semántica – Almacena conceptos abstractos y relaciones entre ellos, como el significado de un término o la taxonomía de temas. Esta memoria suele persistir en una base de conocimientos vectorial o en una embeddings store, permitiendo al agente recuperar información basada en similitud semántica. Es útil en sistemas de recomendación o assistants que deben entender el significado más allá de las palabras.

Memoria episódica – Registra eventos concretos con detalles temporales y espaciales (quién, qué, cuándo, dónde). Funciona como un diario de interacciones pasadas, permitiendo al agente referenciar experiencias anteriores. Su implementación típica es una cola de eventos o una base de datos de series temporales, ideal para agentes de atención al cliente que necesitan recordar el historial de soporte de un usuario.

Memoria procedimental – Guarda secuencias de acciones, reglas o algoritmos que el agente puede ejecutar. Es esencial en agentes que deben seguir protocolos, como un asistente de programación que recuerda los pasos para resolver un problema. Se almacena comúnmente en forma de flujos de trabajo o reglas declarativas, facilitando la reutilización y modificación sin afectar otras memorias.

Memoria de recuperación – Se refiere a la capacidad de buscar información en fuentes externas, como APIs, bases de datos o la web. En lugar de almacenar los datos localmente, el agente formula consultas bajo demanda. Este enfoque reduce la latencia y el almacenamiento, pero añade dependencia de servicios externos. Es ideal para agentes que necesitan datos actualizados, como un bot financiero que consulta cotizaciones en tiempo real.

Memoria paramétrica – Consiste en el conjunto de parámetros ajustados de un modelo, aprendidos durante el entrenamiento. Estos pesos determinan el comportamiento base del agente y se conservan entre sesiones. Aunque no es editable directamente, su ajuste fino (fine-tuning) permite adaptar el modelo a dominios específicos, mejorando el rendimiento sin necesidad de memorias adicionales.

Memoria prospectiva – Proyecta el futuro almacenando intenciones, objetivos y planes de acción. Permite al agente anticipar estados deseados y trazar un camino para alcanzarlos. Se implementa típicamente mediante gráficos de objetivos o sistemas de planificación, siendo clave en agentes autónomos como robots o asistentes personales que coordinan múltiples tareas.

El artículo incluye una tabla comparativa que resume dónde vive cada tipo de memoria, qué almacena y cuándo debe ser construida. Además, ofrece un fragmento de código en Python que ilustra cómo inicializar una memoria episódica con una simple lista de diccionarios y cómo recuperar el último registro:

python class EpisodicMemory: def init(self): self.events = []

def add(self, event):
    self.events.append(event)

def retrieve_last(self):
    return self.events[-1] if self.events else None

mem = EpisodicMemory() mem.add({"timestamp": "2025-12-01T10:00", "user": "Alice", "action": "login"}) print(mem.retrieve_last())

La elección de qué memoria implementar depende del escenario. Para un chatbot de soporte, combinar memoria episódica (para rastrear el historial del usuario) y memoria de trabajo (para mantener el contexto de la conversación actual) suele ser óptimo. En cambio, un asistente de programación podría beneficiarse de memoria procedimental para seguir pasos y memoria prospectiva para planificar tareas futuras.

En síntesis, los siete tipos de memoria transforman a un LLM de modelo stateless en un agente capaz de aprender, recordar y actuar. Comprender sus fortalezas y debilidades permite a los ingenieros diseñar sistemas de IA más inteligentes y adaptables, avanzando hacia modelos que no solo generen texto, sino que también interactúen con el mundo de manera significativa.