Para la memoria de agente local y abierta, la recuperación es la opción predeterminada: las canalizaciones RAG, la búsqueda de agente, la incorporación de almacenes y el recorrido de gráficos son lo primero que buscan la mayoría de los constructores. Una [encuesta de 2026](https://arxiv.org/abs/2602.19320) concluye que el diseño de la memoria, no la capacidad del modelo, es ahora el factor limitante para los agentes de larga vida.

La recuperación funciona bien para la codificación y la exploración, pero falla cuando los agentes manejan el estado en curso. Los proyectos principales ([Zep](https://www.getzep.com/), [Mem0](https://mem0.ai/), [Letta](https://www.letta.com/), [LangMem](https://langchain-ai.github.io/langmem/)) están agregando resolución de entidades, persistencia y estructura gráfica, pero la convergencia total en un diseño estructurado enfrenta barreras que son difíciles de adaptar: consultas de esquema primero, deterministas. identidad, procedencia de solo anexar y control local primero.

## Por qué domina la recuperación

La recuperación se ajusta al caso de uso que puso a los agentes en el mapa: la codificación. Las bases de código son exploratorias, a menudo no sabes dónde viven las cosas y quieres "¿dónde manejamos X?" en lugar de "enumerar cada función con su procedencia". La búsqueda semántica y el recorrido ad hoc se adaptan bien a esto.

La mayoría de las personas forman su intuición sobre la memoria del agente a partir de la codificación, donde la recuperación es suficiente. El problema es generalizar a partir de eso. Para estados operativos como tareas, contactos, transacciones y compromisos, necesita la misma respuesta la próxima semana, conjuntos completos y pistas de auditoría.

La recuperación también es económica de agregar. Puede incrustar sus documentos, conectar un almacén de vectores y tener memoria de trabajo en una tarde, sin diseño de esquema, resolución de entidades y seguimiento de procedencia. Ésa es una verdadera ventaja, no sólo una inercia.

## Donde se interrumpe la recuperación

Las rupturas aparecen cuando dependes de la memoria del agente para conocer la verdad.

**Respuestas inconsistentes.** Al preguntar "enumere todas las tareas para el proyecto X", se obtienen siete resultados un día y cuatro al día siguiente. La recuperación vuelve a inferir cada vez. [La investigación confirma](https://arxiv.org/abs/2512.12818) que los agentes combinan información entre sesiones y producen respuestas temporalmente inconsistentes a medida que crece la memoria.

**Recuerdo incompleto.** Los sistemas RAG con un recuerdo de recuperación inferior al 80% muestran [tasas de alucinación del 34%, en comparación con el 20% para sistemas con un recuerdo superior al 90%](https://www.ijmsrt.com/storages/download-paper/IJMSRT25SEP018). La recuperación basada en incrustación descarta la estructura temporal y relacional, y cuantas más entidades tenga, peor será la recuperación.

**Sin procedencia.** Cuando preguntas "¿de dónde viene este número?" la recuperación le brinda una respuesta inferida a partir de cualquier fragmento que surja. No hay linaje desde la respuesta hasta los registros fuente.

**Escrituras irrecuperables.** Cuando un agente sobrescribe un contacto o combina tareas, el estado anterior desaparece. No hay control de versiones ni reversión.

**Deriva entre herramientas.** Una tarea creada en ChatGPT no se puede consultar de manera confiable en Cursor. La memoria del proveedor es [impredeciblemente inconsistente](https://www.datastudios.org/post/can-chatgpt-remember-previous-conversations-memory-behavior-session-limits-and-persistence), y las configuraciones de recuperación abierta tampoco son herramientas cruzadas de forma predeterminada.

## Qué proporciona el estado estructurado

Estado estructurado significa una tienda con entidades escritas, ID estables, relaciones y cronogramas. La misma consulta devuelve el mismo resultado cada vez y obtienes procedencia y reversión.

| Necesidad | Tienda estructurada | Recuperación |
|------|------------------|-----------|
| Conjunto completo ("todas las tareas del proyecto X") | Sí, por esquema y relaciones | Parcial o inferida |
| Misma respuesta la próxima semana | Sí | No |
| Seguimiento hasta la fuente | Sí, cadena de procedencia | No |
| Recuperarse de una mala escritura | Sí, si es solo para anexar | Generalmente no |
| Consistencia entre herramientas | Sí, si es multiplataforma | Sólo si todas las herramientas comparten el mismo backend |
| Explora lo desconocido | Posible pero no su fuerza | Sí, aquí es donde sobresale la recuperación |
| Resumen único | Exceso | Sí |

Una tienda estructurada puede tener forma de gráfico, y la que estoy construyendo, [Neotoma](https://neotoma.io), es: una capa de memoria local compatible con MCP que brinda a los agentes una única fuente de verdad para entidades, relaciones y linaje. Lo que lo separa de las "configuraciones de gráficos" comunes en la recuperación es la persistencia, las identificaciones canónicas y la procedencia. He escrito más sobre [por qué la memoria del agente necesita una capa de verdad](/posts/truth-layer-agent-memory) en otro lugar.

## Dónde se mueve el campo

Los proyectos más importantes están convergiendo hacia un estado estructurado desde el lado de la recuperación.

**[Zep](https://www.getzep.com/)/[Graphiti](https://www.getzep.com/)** crea un [gráfico de conocimiento temporal](https://arxiv.org/abs/2501.13956) que logra una ganancia de precisión del 18,5% sobre MemGPT y una reducción de latencia del 90%, y envía un servidor MCP. Es el estado más cercano al estado estructurado en el ecosistema actual.

**Mem0** utiliza un [canal de consolidación y extracción de dos fases](https://mem0.ai/research) que reporta una precisión un 26% mayor que la memoria de OpenAI, con una variante gráfica para las relaciones entre entidades. Todavía es principalmente recuperación primero y la capa estructurada es aditiva.

**[Letta](https://www.letta.com/)** (anteriormente [MemGPT](https://docs.letta.com/guides/legacy/memgpt-agents-legacy)) [persiste en todos los estados en una base de datos](https://docs.letta.com/guides/agents/context-engineering) con bloques de memoria editables. Es el "estado estructurado" más explícitamente de los proyectos de origen de recuperación.

**[LangMem](https://langchain-ai.github.io/langmem/)/[LangGraph](https://langchain-ai.github.io/langgraph/)** ofrece un [SDK de memoria persistente](https://blog.langchain.com/langmem-sdk-launch/) con tipos semánticos, episódicos y procedimentales y consolidación de memoria. La capa de persistencia es real, pero el patrón de acceso principal sigue incorporando la búsqueda.

**[En retrospectiva](https://arxiv.org/abs/2512.12818)** ([investigación de 2025](https://arxiv.org/abs/2512.12818)) organiza la memoria en cuatro redes lógicas y logra una precisión del 83-91% en puntos de referencia a largo plazo. Muestra la dirección: la memoria estructurada con redes de entidades explícitas supera a la recuperación plana.

## ¿Pueden los sistemas de recuperación converger por completo?

Algunas cosas convergen de forma natural, pero otras son estructuralmente difíciles de adaptar.

**Lo que ya está convergiendo.** La extracción de entidades y la estructura del gráfico son reales en Zep y [Mem0g](https://mem0.ai/). La persistencia de la base de datos es real en Letta y LangGraph. El seguimiento temporal es real en Graphiti. Estos están cerrando la brecha.

**Primero la similitud versus primero el esquema.** El patrón de acceso predeterminado de Retrieval es "encontrar cosas similares". El valor predeterminado de una tienda estructurada es "consulta por tipo, ID, relación u hora". Crear primero un esquema de sistema de recuperación significa cambiar la superficie de la API y las expectativas del usuario, no solo agregar una característica.

**Identidad implícita versus explícita.** La recuperación trata dos fragmentos como la misma entidad si sus incrustaciones son cercanas. El estado estructurado trata dos registros como la misma entidad si comparten una identificación canónica. Actualizar la identidad determinista significa cambiar cada ruta de ingesta.

**Upsert versus solo agregar.** Los sistemas de recuperación generalmente sobrescriben, mientras que el almacenamiento de solo agregar conserva el historial. Letta usa bloques de memoria mutables y Zep rastrea la evolución temporal, que está más cerca. La mayoría de los sistemas de recuperación no tienen concepto de historial de escritura.

**Procedencia mediante consolidación.** Cuando Mem0 consolida hechos o LangMem fusiona recuerdos relacionados, normalmente se pierde la procedencia de las fuentes originales. La procedencia que sobrevive a la fusión requiere que el modelo de almacenamiento la respalde desde el principio.

**Determinismo.** La recuperación implica clasificación y los resultados varían de una ejecución a otra. Las consultas estructuradas son deterministas: la misma consulta devuelve el mismo resultado. Eliminar la función de clasificación socava lo que hace que la recuperación sea útil. Estos son contratos de consulta fundamentalmente diferentes.

**Control primero local.** Hacer que un sistema sea verdaderamente local, sin dependencia de la nube y sin telemetría, entra en conflicto con el modelo de negocio de la mayoría de las empresas de memoria. Esta no es una barrera técnica; es un problema de incentivos estructurales.

Los sistemas de recuperación pueden llegar a mitad de camino hacia un almacén estructurado, pero el último tramo requiere consultas que prioricen el esquema, identidad determinista, procedencia de solo anexar, resultados deterministas y valores predeterminados locales. Esas elecciones van en contra de la corriente de la arquitectura de recuperación primero.

## ¿Qué recuperación aún funciona mejor?

**Exploración.** Cuando quieres encontrar algo en tus notas sobre el apartamento de Barcelona, no conoces el esquema ni el tipo de entidad. Recuperación de superficies de bits relevantes sin modelado inicial.

**Resumen.** Cuando le pregunta qué decidió con el contratista, la recuperación puede buscar, extraer y resumir en una sola sesión. No es necesario que esa respuesta persista o coincida exactamente la próxima vez.

**Recorrido ad hoc.** ​​Cuando preguntas dónde se manejan los webhooks de Stripe, el diseño varía según las bases de código y los documentos. La recuperación se adapta sin un gráfico unificado.

**Bajo costo inicial.** Puedes tener memoria de trabajo en una tarde. Para cualquier cosa que no requiera integridad, coherencia o procedencia, la recuperación es suficiente y más barata.

## Brechas en el estado estructurado y cómo Neotoma las aborda

**General del esquema.** Neotoma utiliza un registro de esquemas en evolución donde la extracción asistida por LLM propone tipos y relaciones durante la ingesta. Esto reduce el costo inicial pero no lo elimina. En la práctica, el agente revisa y corrige los resultados de la extracción a lo largo del tiempo cuando encuentra inconsistencias.

**Complejidad de ingestión.** Neotoma calcula ID canónicos basados ​​en hash a partir de propiedades de identificación, por lo que la misma entidad obtiene la misma ID independientemente de la fuente. Esto es más predecible que la similitud basada en incrustaciones, pero depende de la calidad de la extracción: "Mark" y "Mark Hendrickson" tienen un hash diferente hasta que los fusiona.

**Arranque en frío.** Neotoma admite la ingesta de ruta dual: puede cargar archivos para extracción por lotes o acumular estado de forma incremental a través de conversaciones con agentes. Esto no es instantáneo, pero es más rápido que esperar suficientes conversaciones para crear un gráfico útil.

**Costo de solo agregar.** El almacenamiento crece con cada corrección, que es lo que hace posible la reversión y la procedencia. A escala personal y operativa esto es manejable, pero es una verdadera compensación: las consultas para resolver el estado actual son más complejas.

**No reemplaza la recuperación.** Neotoma proporciona recuperación estructural por tipo, ID, relación, rango de tiempo y vecindad de gráficos, y espera que herramientas de recuperación como la búsqueda agente y la búsqueda integrada se encarguen de la exploración. Es un complemento, no un sustituto.

## Por qué estoy construyendo Neotoma

Llegué a los límites de recuperación en la práctica. Las tareas, los contactos y las transacciones necesitan identificaciones canónicas, linaje y acceso entre herramientas. Las opciones de diseño responden directamente a las barreras de convergencia descritas anteriormente.

**Primero el esquema.** Las consultas se realizan por tipo de entidad, ID, relación o rango de tiempo. No hay ninguna similitud incrustada en la ruta de consulta y los resultados son deterministas.

**Identidad basada en hash.** La misma entidad obtiene el mismo ID independientemente de qué fuente o sesión la introdujo.

**Solo anexar.** Cada hecho se remonta a su fuente. Las correcciones crean nuevos registros y es posible revertirlos.

**Herramienta cruzada a través de MCP.** Se puede acceder a una capa de memoria desde cualquier cliente MCP: Cursor, ChatGPT, Claude o Claude Code. Los mismos datos y las mismas identificaciones están disponibles en todas partes.

**Lo local primero.** Todos los datos residen en SQLite y archivos locales. No hay dependencia de la nube ni telemetría. Puedes verificar todo lo que hace el sistema.

[Neotoma](https://neotoma.io) es temprano. Es una [versión para desarrolladores](/posts/neotoma-developer-release): solo local, primero CLI, con resolución de entidad heurística, evolución manual del esquema y sin interfaz de usuario web. Lo que proporciona es el contrato, y el argumento es que este contrato es necesario para los agentes que manejan el estado en curso, y que la recuperación por sí sola no puede proporcionarlo.

El campo está convergiendo en la memoria estructurada. La pregunta es quién construye la capa en la que confías tus datos y qué garantías ofrece. Quiero que esa capa esté estructurada desde el principio, no que se agregue después del hecho. Primero local, abierto, inspeccionable y bajo el control del usuario.