Brain: Memoria de agentes como wiki de conocimiento
Un sistema de archivos Markdown estructurado, rastreable y con autoreparación, compilado sin conexión y navegado bajo demanda.
Los usuarios de Computer realizan trabajos que abarcan meses y cientos de sesiones. Para la décima sesión, el sistema debería ser mucho más productivo que en la primera. Debe acumular contexto sobre el usuario, sus preferencias y el trabajo que ya se ha realizado.
Por ejemplo, cuando se le pide que dibuje un diagrama de un flujo de trabajo que el usuario explicó anteriormente, Computer debe recordar los detalles y utilizarlos para crear y generar una figura en el estilo preferido del usuario. El usuario no debería tener que volver a explicar los detalles del flujo de trabajo ni reiterar su preferencia por los artefactos PDF frente a los PNG; el sistema debería ser capaz de recuperar con precisión ese contexto de sesiones anteriores y aplicarlo automáticamente.
La memoria es la base de la mejora continua de los agentes. Un sistema de memoria eficaz debe ser estructurado, rastreable y adaptable, lo que permite a los agentes buscar con la amplitud y profundidad adecuadas para cada tarea, a la vez que fundamenta cada decisión en la información más actualizada.
Introducción
Dotar a los agentes de un contexto relevante es un problema multifacético. En primer lugar, los agentes necesitan saber qué existe y cómo acceder a ello. En segundo lugar, cuando encuentran una pieza de información útil, deben estar seguros de que es completa, precisa y actualizada. Un hecho aislado tiene un valor limitado a menos que el agente pueda encontrar información relacionada, verificar que proviene de una fuente confiable y asegurarse de que no necesita actualizarse con una observación más reciente.
Incluir archivos de memoria estática directamente en el contexto del modelo maximiza la accesibilidad para los agentes, pero presenta una disyuntiva clásica entre precisión y recuperación. Demasiada información saturará la ventana de contexto del agente con elementos de relevancia cada vez menor, mientras que muy poca degradará la calidad de las respuestas debido a la falta de contexto relevante. Por el contrario, el acceso bajo demanda a bases de datos externas es más flexible, pero transfiere la carga de la navegación al agente. Las bases de datos vectoriales suelen almacenar fragmentos desconectados y las bases de datos de grafos requieren que los agentes sepan cómo realizar consultas de manera eficaz.
Recientemente, introdujimos Brain, un componente central del sistema de memoria de Computer que ofrece lo mejor de ambos mundos. Brain es una wiki de conocimiento estructurada que se encuentra encima de los archivos de memoria estática y las evidencias. Las citas vinculan las afirmaciones con sus fuentes y las piezas de información relacionada se conectan lateralmente. La wiki organizada hace que el contexto sea navegable bajo demanda, mientras que los artefactos detallados se conservan en la capa inferior.

Brain se conecta a un sistema de memoria integral con tres componentes clave: almacenamiento de memoria duradera, agentes en primer plano que utilizan la memoria para responder consultas y agentes en segundo plano que actualizan y mejoran la memoria. La siguiente figura muestra estos componentes situados en la arquitectura general del sistema de Brain.

En este artículo, describimos cada capa en detalle, explicando cómo Brain organiza la memoria, cómo la usan los agentes y cómo los procesos en segundo plano la mantienen actualizada. También presentamos los resultados de evaluaciones internas que validan el diseño de Brain y demuestran que mejora el rendimiento de los agentes a un menor costo.
Organización y almacenamiento de la memoria
La memoria necesita una representación que se adapte al historial completo del usuario sin forzar la inclusión de cada fragmento de contexto en el aviso. El sistema de memoria de Computer representa el contexto persistente como un sistema de archivos. Brain sintetiza el conocimiento a partir de fuentes sin procesar, conectando temas relacionados y conectando afirmaciones con las sesiones y archivos que las respaldan. Esta estructura, detallada a continuación, nos permite organizar la memoria en una forma especialmente adecuada para los agentes.
Memoria basada en el sistema de archivos
Las sesiones de Computer ya viven en un entorno aislado con un sistema de archivos, un shell y utilidades de E/S. Al diseñar Brain, queríamos introducir la menor cantidad posible de mecanismos nuevos en la interfaz entre el modelo y la memoria del agente. Por eso construimos Brain sobre una capa de contexto nativa del sistema de archivos. La memoria se materializa como archivos en el entorno aislado bajo un directorio memory/, y el agente simplemente utiliza en los archivos de memoria las mismas herramientas que ya utiliza en todo lo demás.
En la raíz del árbol de memoria se encuentran tres directorios de nivel superior que mantienen el contexto en varios niveles de abstracción: knowledge/ es el propio Brain, una wiki de conocimiento sintetizada que vincula entidades, conceptos, proyectos activos y aprendizajes pasados; notes/ contiene fragmentos destilados organizados como carpetas temáticas; y sessions/ contiene índices, resúmenes y transcripciones completas como historiales sin procesar. La siguiente figura muestra una vista simplificada del diseño.

Las superficies son deliberadamente redundantes. Para preguntas sencillas de un solo salto, a menudo basta con buscar fragmentos dentro de /notes para encontrar una palabra clave, mientras que la capa /knowledge es más útil para preguntas que requieren unir evidencias a lo largo de semanas o meses de sesiones de Computer.
Brain: La wiki de conocimiento
Brain tiene el formato de una wiki de LLM, un sistema de archivos Markdown enlazados. Esta forma de Markdown ligeramente estructurado proporciona una visión holística del contexto existente, de modo que los agentes puedan comprender fácilmente qué registros están disponibles, cómo se relacionan ydónde encontrarlos. Cada página es una vista mantenida de un solo tema; debe seguir siendo útil cuando se lee sola, a la vez que facilita una mayor exploración mediante enlaces.
Los enlaces son de dos tipos. Los [[wikilinks]] son aristas de contexto. Conectan las páginas lateralmente; un proyecto puede enlazarse a su propietario, a su cliente o a los conceptos de los que depende. Seguir estos enlaces responde a la pregunta "¿qué más necesito saber?". Las referencias [cite:N] son aristas de evidencia. Conectan las afirmaciones hacia abajo con las sesiones sin procesar o las fuentes de conectores que las respaldan. Seguir estas referencias responde a la pregunta "¿cómo sé que esto es verdad?".
Las siguientes figuras muestran cómo se vería una parte de Brain para una persona sintética, una investigadora de accesibilidad llamada Nadia. Su Brain incluye una página sobre un proyecto de muestra, un sprint de diseño universal en Japón, que sintetiza el conocimiento de sesiones y conectores. La vista de grafo demuestra cómo el contexto y las aristas de evidencia presentes en la página vinculan las entidades y fuentes relacionadas.


Brain está respaldado por Git para preservar el historial de versiones, lo que es compatible con su naturaleza en constante evolución. Las páginas se pueden editar con el tiempo, mientras que los registros de cambios registran actualizaciones clave y permiten a los agentes inspeccionar fácilmente las versiones anteriores y las diferencias. Esto también favorece la coordinación de agentes, lo cual es fundamental ya que varios agentes pueden usar y actualizar Brain al mismo tiempo.
Uso de Brain
Al responder a una consulta de un usuario, los agentes deben poder encontrar el contexto adecuado al nivel de detalle correcto. La estructura de Brain facilita que los agentes exploren la memoria. Los agentes pueden elegir entre pasos procesables, como seguir enlaces de contexto para encontrar información relacionada, seguir enlaces de evidencia para verificar afirmaciones o llamar a un subagente para obtener y sintetizar contexto adicional. Dirigimos el proceso de exploración de los agentes de varias maneras destinadas a maximizar la facilidad de acceso de los agentes a la información relevante.
Estrategia de exploración
Incluimos un índice compacto de Brain dentro del mensaje de usuario inicial, para que el agente comience con un conocimiento operativo de lo que ya existe. A continuación, el agente interactúa con Brain utilizando operaciones familiares: leer elementos específicos referenciados por el índice, utilizar grep para buscar en las páginas, seguir enlaces e inspeccionar citas, comparar revisiones de Git y descender a sesiones o trayectorias sin procesar. El bloque de código a continuación muestra comandos de ejemplo para una persona sintética.
# 1. Orient: the index is a map of everything known
cat memory/knowledge/index.md
# 2. Target: find pages that touch the question
grep -Ril "kyoto\|sendai" memory/knowledge/
# 3. Read the page; follow context edges as needed
cat memory/knowledge/projects/japan-universal-design-sprint.md
cat memory/knowledge/entities/sora-city-laboratory.md # via [[wikilink]]
cat memory/knowledge/entities/sapphir-mobility-coop.md # via [[wikilink]]
# 4. Only if the claim must be verified: resolve evidence
# city bases → [cite:1], [cite:10] → pplx://sessions/<id>
#
# Example (pseudo, replace with your real tool):
# pplx-session-fetch 1eaf53d4-09e0-5823-bb96-c8662f582708 --slice <slice-id>
# 5. Some evidence lives outside the sessions
# meeting slots → [cite:15] → connector://google-calendar
#
# pplx-connector-fetch google-calendar --query "japan-sprint"Los agentes exploran este contexto a través de un bucle autodirigido, en lugar de una tubería fija. Por lo tanto, el agente puede continuar buscando hasta que esté satisfecho con el contexto encontrado. El agente también puede elegir cuándo inspeccionar las citas y las evidencias para encontrar o verificar detalles. Un asunto menor de preferencia se puede adoptar directamente de una sola página de Brain, mientras que una decisión trascendental o un conflicto entre fuentes pueden justificar seguir la cita y leer el registro original. La estructura basada en grafos permite al agente elegir entre los siguientes pasos concretos, en lugar de buscar sin rumbo información relacionada.

Materialización de archivos
Para que la exploración de los agentes funcione, el agente debe tener acceso a todo el árbol memory/ a través del sistema de archivos del entorno aislado. Copiar todo el árbol localmente cada vez que se inicia un entorno aislado es costoso e innecesario, ya que el agente no tocará la gran mayoría de esos archivos. Otra opción sería utilizar un sistema de archivos remoto para que los agentes puedan acceder a cualquier archivo sin necesidad de copiarlos localmente. Sin embargo, los agentes suelen realizar miles de operaciones en el sistema de archivos en un solo comando; si cada una se convierte en una solicitud de red, el costo de ida y vuelta empieza a dominar el bucle de exploración. En las pruebas internas, las cargas de trabajo sencillas de grep en una ruta remota basada en FUSE fueron aproximadamente de 400 a 500 veces más lentas que las operaciones equivalentes en archivos locales.
En su lugar, creamos un conjunto de trabajo local de archivos materializados, mientras que el corpus más grande permanece detrás de un sistema de recuperación de memoria. Computer precarga un mapa inicial (tomado de recuerdos recientes, sesiones, resúmenes y conocimiento disponible) en el entorno aislado cuando se inicia. Los agentes de Computer tienen acceso a un agente de memoria, un subagente que puede realizar búsquedas semánticas y cargar un nuevo conjunto de archivos. Cuando falta el contexto necesario, Computer puede llamar al agente de memoria con una descripción de la información requerida. El agente de memoria busca en los archivos, devuelve una síntesis de texto inmediata y materializa los registros de soporte como archivos bajo el árbol de memoria. De este modo, el conjunto de trabajo se expande de forma natural y gradual con el tiempo, preservando las rutas estables y las relaciones de origen para la evidencia ya presente.

Este diseño resuelve claramente el cuello de botella de la latencia. Almacenar los archivos relevantes localmente garantiza que las operaciones del sistema de archivos necesarias para la exploración sigan siendo rápidas, y la recuperación por lotes permite que el conjunto de archivos materializados crezca sin requerir llamadas separadas para cada archivo ni cargar una gran cantidad de archivos irrelevantes. El diseño de agentes anidados también le otorga a Computer los beneficios de la recuperación basada en agentes sin necesidad de que el agente principal busque directamente en todo el corpus del backend cada vez, preservando su propia ventana de contexto para la información de mayor valor.
Mantenimiento de Brain
Los usuarios aprenden constantemente del trabajo que realizan y de las conversaciones que tienen, por lo que la memoria de los agentes debe hacer lo mismo. Para que Brain siga siendo útil, debe ser una representación concisa del conocimiento más importante. Se deben crear nuevas páginas para nuevas entidades importantes, se debe añadir información nueva a las páginas de Brain relevantes y se debe eliminar el contexto obsoleto de manera oportuna. Por ejemplo, si el trabajo de un usuario cambia, Brain debe reflejar ese cambio; debe contener el nuevo trabajo del usuario y priorizar la información relacionada con sus nuevas responsabilidades y proyectos.
Brain es mantenido por agentes en segundo plano que llamamos Dream. Los agentes de Dream se ejecutan fuera de línea sobre la memoria basada en archivos y sintetizan información nueva en actualizaciones de Brain. Definimos cuidadosamente el alcance y el comportamiento de los agentes de Dream para llevar a cabo esta tarea de manera eficiente, junto con medidas de protección específicas de Dream para garantizar que las actualizaciones de Brain sean coherentes y precisas.
Dream: agentes en segundo plano para el refinamiento de la memoria
Los agentes de Dream se ejecutan en entornos aislados con acceso al mismo sistema de archivos y herramientas de solo lectura que tendría una sesión interactiva de Computer, pero su único objetivo es mejorar el contexto para futuras sesiones. Cada ejecución comienza a partir del Brain producido por ejecuciones anteriores en lugar de reconstruir el contexto del usuario desde cero. Luego utiliza ese Brain actual para orientarse y produce un Brain actualizado para que lo utilicen las futuras ejecuciones.

Un agente de Dream recibe un entorno y decide cómo explorarlo, en lugar de recibir una entrada fija aplanada en un solo aviso. Puede navegar por la memoria basada en archivos, utilizar herramientas de conectores de solo lectura aprobadas para verificar una pieza de conocimiento y delegar partes acotadas del trabajo a subagentes, incluido el agente de memoria. El alcance y las responsabilidades del agente de Dream se especifican como un Skill.
En términos generales, una ejecución de Dream consta de 4 fases:
- Orientar: El agente completa un procedimiento de orientación ordenado. Identifica el alcance autorizado, las instrucciones permanentes, el registro de eliminaciones, las entradas adicionales y las condiciones de parada.
- Resumir sesiones: Para cada sesión que sea nueva (o que haya tenido nuevos turnos) desde la última actualización, el agente escribe (o actualiza) un breve resumen de la sesión.
- Adjuntar datos a los temas: El agente añade cada observación que considera significativa a su lugar correspondiente, que suele ser una página de wiki. Investiga y consulta conectores autenticados cuando están disponibles.
- Actualizar la wiki de conocimiento: El agente actualiza la wiki basándose en sus hallazgos. Puede producir nuevas páginas para temas duraderos, revisar páginas cuando la síntesis actual haya cambiado o añadir nuevos enlaces o citas que respalden una afirmación fáctica. También puede optar por no realizar ningún cambio cuando el grafo actual ya sea correcto.
Para garantizar que las actualizaciones de Brain sean completas y coherentes, los agentes escriben el estado propuesto en un árbol de salida provisional. No se realizan cambios permanentes hasta que el agente haya realizado todas las actualizaciones que considere necesarias. Coordinar esas decisiones en un solo proceso de agentes permite actualizar el grafo como un todo y no como páginas no relacionadas.

Cualquier cambio debe pasar dos tipos de verificaciones de validación. Las comprobaciones de validación deterministas garantizan que las páginas estén bien formadas y cumplan con criterios objetivos, como el frontmatter requerido y el formato de las citas. Las comprobaciones de verificación semántica garantizan que la síntesis propuesta esté respaldada por la evidencia recopilada y permanezca coherente con el resto del grafo. Una vez que el agente termina con éxito, un paso de sincronización controlado compara la salida provisional con el estado anterior y aplica los cambios al repositorio. Cuando se completa un paso de sincronización, el conjunto final de ediciones se puede inspeccionar a través del historial de versiones de Git.
Validación de Brain
Un sistema de memoria útil debe preservar la evidencia relevante, mostrarla cuando sea necesario y ayudar al agente a convertir dicha evidencia en una respuesta correcta. Por lo tanto, evaluamos Brain a múltiples niveles: ablaciones fuera de línea controladas, reproducción emparejada continua y experimentos de producción aleatorios.
Evaluaciones fuera de línea
Nuestra evaluación principal fuera de línea utiliza un conjunto de datos interno de 640 preguntas en 44 personas sintéticas. Las personas reproducen patrones derivados de la producción en cuanto a cadencia de sesiones, conteo de turnos, combinación de temas y densidad de datos, sin contener texto de consultas de producción para preservar la privacidad del usuario. Cada cuenta se llena a través de la tubería de memoria de producción, que incluye extracción de memoria, resúmenes de conversaciones y la compilación de la wiki de conocimiento por parte de Dream. Para cada pregunta, la respuesta correcta está vinculada mecánicamente a una evidencia específica presente en el historial de la cuenta.
Por ejemplo, para Nadia, la persona sintética investigadora de accesibilidad presentada anteriormente, el conjunto de datos incluye la pregunta: "¿Con qué organizaciones me reúno en Kioto y Sendai?". La respuesta (Sora City Lab en Kioto y Sapphir Mobility Coop en Sendai) aparece directamente en la página Wiki correspondiente.
Comparamos las mismas preguntas y cuentas con la wiki de conocimiento compilada habilitada frente a inhabilitada. Otras superficies de memoria siguen disponibles en ambas condiciones. Esto aísla la contribución incremental de Brain, en lugar de comparar la memoria con la ausencia de memoria. En general, Brain aumentó la precisión de las respuestas de 0.600 a 0.661 (una ganancia de 6.1 puntos porcentuales) y la recuperación de evidencias de 0.573 a 0.625 (una ganancia de 5.2 puntos porcentuales). El efecto fue mayor en las preguntas sobre preferencias (+10.2 pp), razonamiento temporal (+8.6 pp) y extracción de detalles de actividad anterior (+6.9 pp). En el 84% de las preguntas, el agente accedió de forma verificable a una fuente vinculada a la evidencia de referencia.

También ejecutamos ablaciones de Brain emparejadas en subconjuntos de dos pruebas de rendimiento públicas. En LoCoMo, la eliminación de la wiki redujo la precisión de las respuestas en 4.6 puntos porcentuales en promedio, durante tres ejecuciones con diferentes modelos. En LongMemEval-S no produjo ningún cambio estadísticamente significativo. Este resultado es coherente con el papel previsto de Brain. LongMemEval-S evalúa principalmente la recuperación de hechos de sesiones individuales, donde las transcripciones subyacentes proporcionan una ruta redundante hacia la respuesta. LoCoMo pone mayor énfasis en la evidencia dispersa en conversaciones, hablantes y fechas, lo que genera más oportunidades para que la síntesis entre sesiones de la wiki contribuya.
En general, con Brain habilitado, el agente de producción logró una precisión de respuesta de 0.91 en LongMemEval-S y de 0.83 en LoCoMo. Debido a que estos experimentos utilizaron subconjuntos de pruebas de rendimiento, no son resultados definitivos de las pruebas de rendimiento. Sin embargo, las ablaciones siguen proporcionando una señal fuerte de que la wiki mejora el rendimiento, especialmente cuando la evidencia debe integrarse a través de las conversaciones. Dado que Brain es parte de Computer, en lugar de un sistema de recuperación optimizado y específico para pruebas de rendimiento, creemos que la competitividad solo aumentará con tareas que se asemejen más a los flujos de trabajo de producción.
Evaluaciones en línea
Los conjuntos de datos fuera de línea no pueden capturar todas las características de los historiales de usuarios reales, por lo que también ejecutamos una evaluación emparejada diaria sobre cohortes recientes derivadas de producción. Se responden las mismas preguntas fijas con el estado de usuario emparejado con Brain habilitado e inhabilitado, y luego se juzga su precisión, vigencia y recuperación.
Los resultados preliminares informados el 18 de junio demostraron que Brain aumenta la precisión de las respuestas en un 25% y la recuperación en un 16%. Estas mejoras de rendimiento se han mantenido; durante los últimos 30 días, las sesiones con Brain habilitado superaron al control en todas las ejecuciones y en todas las dimensiones evaluadas. En términos absolutos, los usuarios de Computer disfrutaron de mejoras de 9.3 puntos en precisión, 8.0 puntos en vigencia y 8.9 puntos en recuperación. Las trayectorias con Brain habilitado también utilizaron aproximadamente un 15% menos de tokens, costaron un 10% menos y completaron la generación un 10% más rápido.

Mejora continua
Hemos seguido refinando Brain para ofrecer la mejor experiencia de memoria a los usuarios. Un cambio reciente coloca el índice compacto de Brain directamente en el contexto inicial del agente en lugar de requerir que el agente lo descubra y lea más tarde. En un experimento aleatorio, este tratamiento de relleno previo aumentó el uso de Brain y redujo la insatisfacción relacionada con la memoria en un 6.9%.
El entorno de evaluación fuera de línea también sirve como parte de una tubería de mejora autónoma. Los cambios propuestos en el subagente de memoria de Brain, las habilidades de recuperación y los avisos se ejecutan a través de las ablaciones emparejadas en nuestro conjunto de datos interno y las pruebas de rendimiento públicas. Los agentes de Computer pueden iterar en los resultados de forma autónoma, preservando cada cambio, delta y costo de la iteración como un registro duradero y conservando únicamente los cambios que mejoran los números. El resultado es un sistema en el que los evaluadores de Brain son también sus optimizadores, impulsando futuras mejoras.
Conclusión
El aprendizaje continuo es uno de los desafíos definitorios para construir sistemas de agentes que funcionen durante semanas y meses. Creemos que las arquitecturas de memoria se exponen mejor como entornos que los agentes pueden explorar directamente utilizando sus conjuntos de herramientas habituales. Exponer la memoria como un sistema de archivos, con Brain como una wiki de conocimiento estructurada encima, hace que el contexto sea navegable de manera eficiente a través de herramientas simples y familiares.
Brain está diseñado para la autoreparación, de modo que el sistema de memoria pueda seguir mejorando a medida que aumenta el uso. Los agentes en segundo plano de Dream destilan información nueva en actualizaciones de Brain, lo que garantiza que los agentes en primer plano siempre comiencen una nueva sesión con una vista organizada del contexto más reciente. El entorno de evaluación también sirve como campo de pruebas para bucles de autoaprendizaje en la arquitectura de memoria principal y las interfaces orientadas al agente.
Brain ya ha dado lugar a sesiones de agentes más precisas y de mayor rendimiento, al tiempo que reduce el consumo de tokens. Nuestro cuidadoso diseño conjunto de Brain con la pila de producción de Computer garantiza que estas mejoras se traduzcan directamente en beneficios reales para los usuarios.
Seguimos creando más capacidades para mejorar la calidad de la memoria de Computer. Mientras tanto, para los usuarios con Brain habilitado, la memoria mejorará con cada sesión.