[RAG (generación de recuperación aumentada)](https://en.wikipedia.org/wiki/Retrieval-augmented_generación) aumenta un LLM al recuperar pasajes relevantes de un corpus externo, a menudo mediante incrustaciones y búsqueda de similitudes, y luego alimentarlos como contexto para que el modelo pueda responder a partir de datos actualizados o específicos del dominio.

Funciona bien para la búsqueda de documentos. Para la memoria del agente, todo se desmorona.

Un nuevo artículo, "Beyond RAG for Agent Memory: Retrieval by Deupling and Aggregation" (Hu et al., febrero de 2026; [ver artículo](https://arxiv.org/abs/2602.02007)), del King's College London y el Alan Turing Institute, explica por qué y apunta a un mejor enfoque.

## Por qué RAG se queda corto en cuanto a memoria del agente

El RAG estándar supone un corpus grande y mixto: incrustar texto, recuperar [top-k](https://en.wikipedia.org/wiki/Nearest_neighbor_search) por similitud, concatenar como contexto.

La memoria del agente es todo lo contrario: un flujo acotado y coherente donde el mismo hecho aparece en muchas frases. La aplicación de RAG aquí crea tres problemas:

1. **Top-k redundante.** Preguntas "¿Cuándo fue la última vez que vi al dentista?" En un corpus de documentos, top-k puede devolver algunos párrafos relevantes de diferentes fuentes. En la memoria del agente, muchos fragmentos dicen casi lo mismo ("Dentista programado para el 15 de marzo", "Cita con el dentista el 15 de marzo", "Dentista programado para el 15 de marzo"). Top-k se llena de repetición. El artículo llama a esto "colapso en una sola región densa". La similitud no logra separar lo que es *necesario* de lo que es meramente *similar*.
2. **La poda rompe las cadenas de evidencia.** Preguntas "¿Resolvimos la disputa sobre la factura?" La respuesta depende de una cadena: "La factura n.° 123 fue impugnada", luego "Acordamos un reembolso parcial" y luego "Pagamos el monto acordado". La poda post hoc podría mantener la "Factura pagada n.º 123" y eliminar los turnos anteriores. Luego, la modelo responde "Sí, resuelto" sin saber que había una disputa. La poda fragmenta la evidencia vinculada temporalmente y produce respuestas incorrectas.
3. **La similitud ignora la estructura.** Preguntas "¿Cuál es el estado del viaje a Barcelona?" Necesita el proyecto, la tarea (por ejemplo, reservar vuelos) y el resultado. La similitud devuelve fragmentos que mencionan "Barcelona" o "viaje": tal vez una mención aleatoria, un viaje pasado, una tarea de un proyecto diferente. Necesitabas un camino estructural (este proyecto, estas tareas, estos resultados). La similitud no codifica eso. La estructura sí.

## Estructura sobre similitud

Un mejor enfoque es utilizar la estructura para impulsar lo que se carga, no la similitud. Escriba entidades (tareas, contactos, transacciones, eventos) y recupérelas por esquema, ID de entidad, relaciones y cronogramas. Mantener las observaciones y resultados derivados como unidades completas; no pode el interior de los bloques de evidencia. La misma entrada y el mismo esquema producen el mismo resultado. No hay LLM en la ruta crítica.

## Lo que muestra el periódico

El sistema del artículo (xMemory) construye una jerarquía de cuatro niveles (mensajes, episodios, semántica y temas) con incrustaciones y resúmenes de LLM. Supera a otros cinco sistemas (Naive RAG[^1], A-Mem[^2], MemoryOS[^3], LightMem[^4], Nemori[^5]) en LoCoMo y PerLTQA, los conjuntos de datos de referencia para la memoria de conversaciones largas y la respuesta personal a preguntas a largo plazo. El artículo no requiere incorporaciones ni LLM; requiere estructura. Puede llegar allí con una jerarquía aprendida (xMemory) o con un diseño determinista que priorice el esquema. El artículo también documenta la fragilidad en la estructura generada por LLM (A-Mem, MemoryOS): desviaciones de formato, actualizaciones fallidas. La estructura determinista que prioriza el esquema es una base más confiable.

## xMemoria vs Neotoma

Neotoma es la [capa de memoria estructurada](/posts/truth-layer-agent-memory) que estoy construyendo: esquema primero, determinista, construida para procedencia y repetición. Ambos sistemas van más allá del RAG; Se diferencian en cómo construyen la estructura.

**xMemory** crea una jerarquía de cuatro niveles (mensajes, episodios, semántica y temas) con incrustaciones y resúmenes de LLM. Los episodios son bloques contiguos; la semántica son hechos reutilizables; Semántica de grupo de temas para acceso de alto nivel. Un objetivo de semántica de escasez equilibra el tamaño del tema. Demasiado grande provoca una recuperación redundante; evidencia de fragmentos demasiado pequeños. La recuperación es de arriba hacia abajo: seleccione un conjunto compacto de temas y semánticas, luego amplíelo a episodios intactos (y opcionalmente mensajes) solo cuando eso reduzca la incertidumbre del modelo del lector. No podar el interior de las unidades. En esos puntos de referencia, supera las cinco líneas de base en cuanto a calidad y uso de tokens. El documento señala que la estructura generada por LLM (por ejemplo, en A-Mem, MemoryOS) es frágil: desviaciones de formato, actualizaciones fallidas. Debido a que xMemory construye su jerarquía con resúmenes de LLM, adopta la misma fragilidad.

**Neotoma** construye estructura sin LLM en la ruta crítica. Se tipifican las entidades; las relaciones y los cronogramas son explícitos; la recuperación utiliza esquemas, ID de entidades, relaciones y rangos de tiempo. La misma entrada y el mismo esquema producen el mismo resultado. Los esquemas aún evolucionan. Los campos desconocidos caen en una capa de preservación. Una canalización determinista puede promover campos de alta confianza en el esquema. Un LLM puede sugerir nuevos campos o tipos como recomendaciones pendientes, aplicadas únicamente mediante herramientas o aprobación humana. La inferencia sigue siendo consultiva: los cambios de esquema pasan por herramientas o aprobación humana; la extracción y la reducción siguen siendo deterministas; el esquema sigue siendo fuente de verdad. La crítica del artículo se aplica cuando el modelo *impulsa* la estructura, no cuando sugiere y los humanos o las herramientas se aplican. La ingesta para recuperar sigue siendo determinista.

### Comparación

| | xMemoria | Neotoma |
|--|--------|--------|
| Fuente de estructura | Incrustaciones + resúmenes LLM (episodios, semántica, temas) | Esquema primero, extracción determinista y reductores |
| Jerarquía | Cuatro niveles (mensajes, episodios, semántica, temas), guiados por el objetivo de escasez-semántica | Entidades escritas, relaciones, líneas de tiempo (sin "niveles" fijos) |
| Recuperación | De arriba hacia abajo: selección representativa en el gráfico, luego expansión basada en la incertidumbre a episodios/mensajes intactos | Por esquema, ID de entidad, relaciones, cronogramas |
| Control de redundancia | Selección representativa + expandirse solo cuando disminuya la incertidumbre | Las consultas estructurales devuelven lo que usted solicita; sin colapso de similitud |
| Unidades intactas | Sí (sin podar episodios/mensajes internos) | Sí (las observaciones y entidades se mantienen completas) |
| Determinismo | No (la estructura generada por el LLM varía) | Sí (misma entrada, mismo esquema, misma salida) |
| Fragilidad | Documento cita desviaciones de formato de LLM y actualizaciones fallidas en sistemas similares | El esquema y el código son explícitos; no hay LLM en la ruta crítica |

### Ventajas relativas

**xMemory** sobresale cuando la entrada es un flujo de conversación y desea estructura sin definir esquemas. Ejemplo: charla larga con un asistente en la que preguntas "¿qué decidimos sobre el viaje?" o "¿cuándo mencioné el presupuesto por última vez?" xMemory crea episodios, semántica y temas; la recuperación es eficiente en cuanto a tokens. También se adapta a prototipos rápidos (tickets de soporte, notas de reuniones) en los que aún no desea crear esquemas. Acepta la deriva jerárquica y no necesita auditabilidad ni consultas de primera clase por entidad.

**Neotoma** sobresale cuando necesitas trazabilidad o tus datos ya están estructurados. Ejemplo: decisiones auditables (pagos, acuerdos, resultados de tareas) donde los mismos insumos y esquema deben producir la misma instantánea. Los cambios de esquema se versionan y se aplican de forma determinista; no hay LLM en el camino. También es ideal para entidades escritas (tareas, contactos, transacciones, eventos) con relaciones y cronogramas. Consulta por tipo de entidad, ID, relación o rango de tiempo. Neotoma los trata como nativos; xMemory requeriría serialización en texto y perdería acceso de primera clase.

## Estructuración iterativa en la conversación.

A menudo surge una estructura en el diálogo: "agregue una tarea para eso", "registre que acordamos pagar 500" y el agente actúa. Los dos sistemas manejan eso de manera diferente.

**xMemoria:** La conversación es el objeto principal. Lo que hace el agente (por ejemplo, "He creado una tarea para el dentista") permanece en el flujo de mensajes y fluye en episodios, semántica y temas. Obtiene una jerarquía mejor aprendida, pero no un gráfico de entidad consultable por separado. La estructura vive dentro de la jerarquía.

**Neotoma:** La conversación es una fuente de observaciones. Cuando el agente crea o actualiza una tarea, contacto o transacción, esas operaciones producen observaciones e instantáneas de la entidad. Los nuevos campos del diálogo pueden aterrizar en una capa de preservación y promoverse al esquema cuando la confianza es alta. El diálogo y el gráfico estructurado permanecen sincronizados porque ambos escriben en la misma tienda.

**Recuperación diferente.** xMemory admite la recuperación semántica a través de la jerarquía. Las preguntas en lenguaje natural ("¿qué decidimos sobre el dentista?") devuelven temas, semánticas o episodios intactos. No admite la recuperación estructural (no hay tipos de entidades con ID y relaciones). Esto conduce a fallos esperados en tres tipos de casos:

- **Evidencia repartida por turnos.** "¿Resolvimos la disputa sobre la factura?" La disputa, la negociación y el pago pueden vivir en diferentes episodios o temáticas; la recuperación puede hacer aparecer uno o dos y pasar por alto el resto, por lo que el modelo responde de forma incorrecta o incompleta.
- **Establecer consultas.** "¿Qué tareas vencen antes del viernes?" o "Mostrar todos los pagos al contacto X". No hay tareas ni entidades de transacción para filtrar; obtienes coincidencias semánticas (mensajes que mencionan "tarea" y "viernes" o "contacto X"), no una lista definitiva, por lo que los resultados son parciales o ruidosos.
- **Recorrido transversal.** "¿Qué tareas del proyecto Y aún están pendientes?" Sin un gráfico de proyecto-tarea, la recuperación devuelve fragmentos de conversación que pueden omitir algunas tareas o proyectos; no se puede enumerar de manera confiable por relación.

Neotoma apoya a ambos. Puede hacer preguntas de estilo semántico cuando los datos se encuentran en la tienda. También obtiene recuperación estructural por tipo de entidad, ID, relación y ventana de tiempo, por lo que las consultas configuradas y el recorrido de relaciones arrojan resultados completos y de primera clase. La desventaja es que necesita esquemas y una tienda que acepte esas observaciones.

## Estructura sobre similitud, esquema primero sobre fragilidad

Para la memoria del agente, la similitud con el texto sin formato falla. La recuperación debe estar impulsada por la estructura: cómo se descompone y organiza el flujo, no cuántos fragmentos coinciden con una consulta. El artículo muestra que una jerarquía aprendida (xMemory) supera al RAG ingenuo y que la estructura generada por LLM es frágil.

Sin embargo, un camino determinista que priorice el esquema le brinda la misma ventaja estructural sin esa fragilidad. Estoy construyendo [Neotoma](https://github.com/markmhendrickson/neotoma) sobre este último para que la ingesta y la recuperación sigan siendo reproducibles y el esquema siga siendo una fuente de verdad.

[^1]: **RAG ingenuo:** incrustar recuerdos, recuperar top-k fijo por similitud, sin jerarquía. Ningún proyecto separado; línea de base definida en el [artículo](https://arxiv.org/abs/2602.02007).
[^2]: **A-Mem:** memoria agente para agentes LLM; Enlaces estilo Zettelkasten y actualizaciones impulsadas por agentes a una red de memoria. [Proyecto](https://github.com/agiresearch/A-mem).
[^3]: **MemoryOS:** almacenamiento jerárquico a corto/medio/largo plazo con módulos de actualización, recuperación y generación de agentes personalizados. [Proyecto](https://github.com/BAI-LAB/MemoryOS).
[^4]: **LightMem:** memoria liviana inspirada en las etapas de Atkinson-Shiffrin; consolidación basada en temas y actualizaciones fuera de línea a largo plazo. [Proyecto](https://github.com/zjunlp/LightMem).
[^5]: **Nemori:** memoria episódica autoorganizada con segmentación de eventos y predicción-calibración para conocimiento adaptativo. [Proyecto](https://github.com/nemori-ai/nemori).