[Shubham Saboo](https://x.com/Saboo_Shubham_) (un PM de Google) [un agente de memoria siempre activo de código abierto](https://github.com/GoogleCloudPlatform/generative-ai/tree/main/gemini/agents/always-on-memory-agent) la semana pasada como parte del repositorio de IA generativa de GCP. [VentureBeat lo cubrió](https://venturebeat.com/orchestration/google-pm-open-sources-always-on-memory-agent-ditching-vector-databases-for) como una señal sobre hacia dónde se dirige la infraestructura del agente. Es un sistema de memoria persistente que se ejecuta las 24 horas del día, los 7 días de la semana como proceso en segundo plano, ingiere archivos, los consolida en un temporizador y responde consultas. Sin base de datos vectorial. Sin incrustaciones. Solo un LLM que lee, piensa y escribe memoria estructurada en SQLite.

El proyecto valida algo que he estado construyendo con [Neotoma](https://github.com/markmhendrickson/neotoma): la memoria persistente para los agentes es una necesidad real y creciente. Pero los dos proyectos toman decisiones arquitectónicas opuestas. Esta publicación los compara.

## ¿Qué es el agente de memoria siempre activo?

El proyecto es una implementación de referencia creada con [Google ADK (Agent Development Kit)](https://google.github.io/adk-docs/) y [Gemini 3.1 Flash-Lite](https://ai.google.dev/gemini-api/docs/models). Se ejecuta como un proceso ligero en segundo plano con tres subagentes especializados: uno para ingesta, otro para consolidación y otro para consulta.

1. **Ingestión.** Un observador de archivos monitorea un directorio de la bandeja de entrada. Coloque un archivo y el agente lo recogerá. También acepta entradas a través de HTTP POST. Maneja texto, imágenes, audio, video y PDF. El LLM extrae resúmenes, entidades, temas y puntuaciones de importancia.

2. **Consolidación.** En un temporizador, el agente de consolidación lee todos los recuerdos almacenados, encuentra conexiones y patrones entre ellos, comprime elementos relacionados y escribe nuevos conocimientos sintetizados. Esto se ejecuta en segundo plano sin que se le solicite.

3. **Consulta.** Haces una pregunta. El agente de consulta lee recuerdos relevantes e ideas consolidadas, sintetiza una respuesta y la devuelve con citas a registros de memoria específicos.

El almacenamiento es SQLite. Sin base de datos vectorial, sin índice de incrustación. La arquitectura apuesta a que un LLM pueda manejar la recuperación directamente sobre registros de texto estructurados sin necesidad de búsqueda por similitud.

## Donde sobresale

**Simplicidad.** Clona el repositorio, configura una clave API de Gemini y ejecútalo. Monitor de archivos, API HTTP y panel Streamlit. Dependencias mínimas y ninguna infraestructura para gestionar más allá del proceso único. Para los desarrolladores que exploran la memoria del agente con Gemini, es el camino más rápido hacia una demostración funcional.

**La narrativa "sin base de datos vectorial".** La eliminación de la base de datos vectorial reduce la complejidad operativa y conceptual. No hay modelos de incrustación para elegir, ni índices que mantener, ni ajustes de recuperación. Para implementaciones a pequeña escala, esto es una verdadera simplificación.

**Consolidación activa.** La consolidación basada en temporizador es la parte más distintiva. La mayoría de los sistemas de memoria son pasivos: almacenan cosas, recuperan cosas. Este conecta, comprime y sintetiza activamente. Encuentra patrones sobre los que no preguntaste. Esto resuena en cualquiera que quiera "memoria que piensa" en lugar de memoria que espera.

## Donde divergen los enfoques

El agente de memoria siempre activo y Neotoma comparten un objetivo (memoria persistente del agente) pero divergen en casi todas las decisiones de diseño. Las divergencias no son casuales. Reflejan diferentes premisas iniciales sobre para qué se debe optimizar la memoria.

### Ingestión automática versus explícita

El observador de archivos es automático. Todo lo que llega a la bandeja de entrada se procesa. No hay ningún paso de aprobación, ni validación del esquema primero, ni confirmación del usuario antes de que el LLM extraiga y almacene. Neotoma adopta el enfoque opuesto: nada ingresa al sistema a menos que un agente o usuario lo escriba explícitamente a través de MCP. Para notas personales, es conveniente la ingesta automática. Para cualquier cosa que tenga requisitos de privacidad o cumplimiento, el control explícito es la opción predeterminada más segura.

### ¿Quién decide qué recordar?

Neotoma depende del agente del cliente para llamar al almacenamiento de memoria. El agente con el que estás hablando (ChatGPT, Claude, Cursor) decide qué vale la pena recordar y cómo estructurarlo. Cuando concluye que un hecho, contacto o tarea debe persistir, invoca la operación de almacenamiento a través de MCP. La responsabilidad de "qué recordar" permanece en la capa del agente, en el mismo proceso que la conversación.

El agente de memoria siempre activo divide esa responsabilidad entre subagentes especializados. El agente de ingesta decide qué extraer de los archivos. El agente de consolidación decide qué fusionar y qué conexiones establecer. El agente de consulta decide qué devolver. "Qué vale la pena recordar" y "cómo" se distribuyen entre estos subagentes, que se ejecutan independientemente de la conversación. El usuario no aprueba cada decisión. Los subagentes los hacen en segundo plano.

### Extracción impulsada por LLM versus determinista

El agente de memoria siempre activo utiliza el LLM para todo: extraer entidades, asignar importancia, generar resúmenes. Ejecute la misma extracción en el mismo archivo dos veces y los resultados pueden diferir. Neotoma utiliza [extracción determinista de primer esquema](/posts/truth-layer-agent-memory). La misma entrada produce las mismas entidades, las mismas identificaciones canónicas, las mismas relaciones. La interpretación opcional de LLM se ejecuta sobre esa capa determinista, no en su lugar.

### Consolidación vs verdad inmutable

El agente de consolidación decide qué fusionar, qué conexiones establecer y qué comprimir. Muta la memoria con el tiempo. Los viejos recuerdos son absorbidos por nuevos conocimientos sintetizados. El neotoma no se consolida. Se añade. Cada observación es inmutable. La historia se basa en eventos. Si necesita ver qué cambió, cuándo y por qué, el rastro completo está ahí. Nada se sobrescribe ni se comprime.

### Plataforma única versus multiplataforma

El proyecto se basa en Gemini y Google ADK. La memoria reside en un archivo SQLite local al que solo se puede acceder a través de esta pila de agente específica. Neotoma expone la memoria a través de MCP, lo que significa que se puede acceder a las mismas entidades desde ChatGPT, Claude, Cursor y cualquier otra herramienta compatible con MCP. Una capa de memoria, múltiples consumidores.

### Sin procedencia versus linaje completo

Los registros de memoria en el Agente de memoria siempre activo contienen resúmenes y entidades extraídas, pero no rastrean hasta el archivo, línea o sesión específica que los produjo. Si una visión consolidada es incorrecta, no hay ningún rastro de auditoría a seguir. En Neotoma, cada campo de cada entidad se remonta a una fuente de observación. Puede auditar cualquier hecho hasta su origen.

### Compensaciones de escala

Sin incrustaciones ni índice vectorial, el sistema lee registros de texto estructurados directamente utilizando el LLM. Esto funciona a pequeña escala. A medida que crecen las reservas de memoria, es posible que el enfoque no se mantenga. La eliminación de la base de datos vectorial no elimina el diseño de recuperación. Mueve la complejidad a la ventana de contexto de LLM. Neotoma utiliza consultas estructuradas sobre entidades escritas, que escalan independientemente de los límites del contexto de LLM.

## Sustrato vs agente

La distinción más clara es el rol. El agente de memoria siempre activo es un agente. Ingiere automáticamente, consolida según un cronograma y sintetiza respuestas. Tiene su propio circuito de razonamiento. Decide qué fusionar, qué conexiones establecer y cuándo comprimir.

Neotoma no es un agente. Es un sustrato. Almacena entidades escritas con identificaciones canónicas. Mantiene procedencia. Responde a consultas deterministas. No decide nada por sí solo. Sin ingestión de fondo. Sin consolidación automática. Sin procesamiento basado en temporizador. Los agentes leen y escriben en él a través de [MCP](/posts/agentic-search-and-the-truth-layer). El razonamiento ocurre en la capa del agente. La verdad vive en el sustrato.

Esto es importante por lo que sucede cuando el agente se equivoca. Si la consolidación del agente de memoria siempre activo produce una mala percepción, esa percepción ahora es parte de la memoria. No hay una capa separada para verificar. El agente es la verdad.

Con una capa de verdad debajo, puede rastrear lo que leyó el agente, cuándo lo leyó y qué respondió. Si la nueva información es incorrecta, puede revertirla. La producción del agente de consolidación es una observación además del estado determinista, no una mutación del mismo.

| Dimensión | Agente de memoria siempre activo | Capa de verdad (Neotoma) |
|-----------|------------------------|------------------------|
| Rol | Agente con bucle de razonamiento | Sustrato sin comportamiento de agente |
| ¿Quién decide qué almacenar? Subagentes especializados (ingestión, consolidación) | Agente del cliente (a través de MCP) |
| Ingestión | Automático (observador de archivos, API) | Solo explícito (MCP, CLI, carga) |
| Extracción | Impulsado por LLM; probabilístico | Esquema primero; determinista |
| Consolidación | Consolidación de LLM basada en temporizador | Ninguno; verdad inmutable, actualizaciones basadas en eventos |
| Procedencia | Básico (fuente/resumen en registros) | Linaje completo; cada campo rastrea hasta la fuente |
| Plataforma | Sólo Géminis/Google ADK | Multiplataforma vía MCP (ChatGPT, Claude, Cursor) |
| Privacidad | No posicionado como prioridad para la privacidad | Controlado por el usuario; sin acceso de proveedor |
| Revertir | No; la memoria muta por consolidación | Sí; solo agregar, versionado, revertible |
| Modelo a escala | LLM lee todos los registros; delimitado por el contexto | Consultas estructuradas sobre entidades escritas |

## Cómo podrían trabajar juntos

Los dos enfoques no son mutuamente excluyentes. Un agente de consolidación y una capa de verdad resuelven diferentes problemas. Uno encuentra patrones. El otro mantiene la confianza. La interesante arquitectura combina ambos.

El boceto es sencillo. Un agente de consolidación (como el del agente de memoria siempre activo) lee entidades de una capa de verdad a través de MCP. Tiene acceso al estado estructurado completo: entidades tipificadas, relaciones, cronogramas, procedencia. Ejecuta su ciclo de búsqueda de patrones sobre ese estado, buscando conexiones, brechas o conocimientos que el usuario no solicitó. Cuando encuentra algo, escribe el resultado en la capa de verdad como una nueva observación, etiquetada con sus entidades fuente y razonamiento.

La capa de verdad trata esa información de la misma manera que trata cualquier otra escritura. Lo registra como una observación con total procedencia: qué entidades leyó el agente, cuándo, qué concluyó. La información se convierte en parte del gráfico de entidad. Si la información es incorrecta, puede ver exactamente lo que consumió el agente, rastrear el razonamiento y revertir la observación sin afectar las entidades subyacentes de las que leyó.

Esto es diferente de cómo funciona la consolidación en el Always-On Memory Agent actual. Allí, el agente de consolidación muta directamente la memoria. Los viejos recuerdos son absorbidos por nuevos discos sintetizados. El estado anterior ha desaparecido. Si la síntesis fue incorrecta, no hay una capa separada con la que comparar.

Con una capa de verdad debajo, la consolidación se convierte en una operación no destructiva. El agente añade una capa de interpretación además del estado determinista. El Estado mismo permanece inmutable. Obtiene los beneficios del descubrimiento activo de patrones (la fortaleza del agente de memoria siempre activo) con los beneficios de la auditabilidad y la reversión (la fortaleza de la capa de verdad). Inteligencia arriba, confianza abajo.

## Lo que esto valida

El agente de memoria siempre activo es una implementación de referencia, no un producto. Lo que confirma es que la demanda de memoria de agente dinámica y persistente es real. "[Vector DB plus RAG](/posts/why-agent-memory-needs-more-than-rag)" no es el único modelo de recuperación. Las [tendencias estructurales que impulsan esto](/posts/six-agentic-trends-betting-on) son claras: los agentes se están volviendo estatales, los errores están cobrando precio y las plataformas permanecen opacas. El proyecto indica que la industria se está moviendo hacia sistemas de memoria siempre activos que van más allá del simple almacenamiento y recuperación.

En lo que coinciden los dos proyectos: la memoria pasiva no es suficiente. Donde no están de acuerdo: si la capa de memoria en sí debería razonar o si el razonamiento debería ocurrir en una capa separada encima del estado determinista. Ésa es una cuestión central en la arquitectura de la memoria de los agentes en este momento. Es probable que el mercado apoye ambos enfoques. Espero que la arquitectura converja en agentes de consolidación que piensen y se ejecuten sobre capas de verdad en las que pueda confiar.

## Lo que estoy construyendo

Estoy construyendo [Neotoma](https://github.com/markmhendrickson/neotoma) como capa de confianza. Entidades tipificadas, ID canónicas, fusión determinista, procedencia, acceso multiplataforma a través de MCP. Lo uso a diario en ChatGPT, Claude y Cursor. La [versión para desarrolladores](/posts/neotoma-developer-release) ya está disponible en [neotoma.io](https://neotoma.io).

La muestra de Google muestra que la industria está convergiendo en la memoria de agente persistente. La pregunta abierta no es si los agentes lo recordarán, sino cómo. Capacidad o gobernanza. Agente o sustrato. Consolidación probabilística o verdad determinista. Yo apuesto por lo último.