Blog

Memoria de Grok Build entre sesiones: ajustes y limitaciones

Markdown

Cómo activar la memoria, dónde se almacenan las notas y cómo funcionan /flush, /remember, /dream y /memory. Prioridad de los ajustes, comprobación y eliminación de entradas.

Leer el artículo completo

Grok Build, el agente de terminal de xAI, tiene memoria entre sesiones: puede recordar convenciones del proyecto, decisiones y pasos de depuración que hayan dado resultado, y luego añadirlos al contexto de una nueva sesión sin que tengas que recordárselos. La función está desactivada de forma predeterminada y es experimental; se puede activar con un solo ajuste.

Esta descripción se basa en la guía oficial del repositorio xai-org/grok-build, consultada el 20 de septiembre de 2026. El autor del artículo original no ejecutó el producto: describió su funcionamiento basándose en la documentación, no en pruebas personales.

La documentación contiene información práctica sobre cómo trabajar con Ailoot.

¿Qué aporta la memoria en Grok Build?

Resumen

Sin memoria, una nueva sesión de Grok Build no recibe información de sesiones anteriores: ni las convenciones que explicaste ni las decisiones que tomaste, a menos que estén registradas en un archivo de instrucciones del repositorio. Con la memoria activada, el agente busca las notas guardadas y añade automáticamente las que sean pertinentes al contexto de una nueva sesión. Las notas se guardan en archivos Markdown normales que puedes leer y editar.

Por ejemplo, en una sesión le explicaste al agente que el proyecto usa una sangría de dos espacios, que las migraciones de la base de datos se ejecutan con un comando aparte y que un módulo concreto gestiona los pagos. En una nueva sesión, tienes que volver a proporcionar esta información.

Con la memoria activada, Grok Build puede:

  • recordar las convenciones del proyecto que explicaste anteriormente;
  • usar pasos de depuración que ya hayan funcionado;
  • conservar decisiones de arquitectura para sesiones posteriores;
  • evitar volver a preguntar cosas que ya se han respondido.

La función es experimental y está desactivada de forma predeterminada. Hasta que la actives, el comportamiento del agente no cambia.

¿Cómo se activa la memoria?

Resumen

Para una sola ejecución, establece la variable de entorno GROK_MEMORY=1. Para mantenerla activada, añade una sección [memory] con enabled = true a ~/.grok/config.toml. Para que las notas guardadas se añadan al empezar a trabajar, inicia una nueva sesión con /new después de activar la memoria.

Una vez, para una sola ejecución:

GROK_MEMORY=1 grok

La variable solo se aplica a esta ejecución. El comando export GROK_MEMORY=1 la mantiene en el shell actual y activa la memoria para todas las ejecuciones posteriores de grok desde ese shell, hasta que termine la sesión del terminal o ejecutes export GROK_MEMORY=0.

De forma permanente, mediante la configuración. Añade esto a ~/.grok/config.toml:

[memory]
enabled = true

Dentro de una sesión, sin reiniciar: abre /memory y pulsa t.

Este control solo se aplica a la sesión actual y no se escribe en la configuración. Sirve para activar o desactivar la memoria. Al desactivarla, se quita el acceso a las herramientas de memoria, pero los archivos no se borran del disco; al volver a activarla, se reabre el acceso al almacenamiento. El control no puede anular una desactivación forzada de la memoria para todo el proceso mediante GROK_MEMORY=0: /memory no estará disponible durante toda la sesión.

Si los ajustes se especifican en varios lugares, tienen el siguiente orden de prioridad:

  • GROK_MEMORY=0 desactiva forzosamente la memoria para todo el proceso y tiene la máxima prioridad.
  • Un enabled = false explícito en la configuración desactiva la memoria, aunque un ajuste remoto administrado la active.
  • La memoria se puede activar con GROK_MEMORY=1, con enabled = true en la configuración o mediante un ajuste remoto administrado.
  • Si no se especifica nada, la memoria está desactivada.

Las notas se añaden en el primer turno de una sesión. Si activaste la memoria a mitad del trabajo y quieres que el agente empiece a usar la información guardada del proyecto, ejecuta /new. Puedes comprobar si la memoria está activada en la salida de grok inspect.

¿Qué registra Grok Build y dónde?

Resumen

Las notas se guardan en ~/.grok/memory/ como archivos Markdown: un MEMORY.md global para todos los proyectos, un MEMORY.md independiente para cada proyecto y registros de sesión. El resumen automático al terminar una sesión se escribe sin llamar a un modelo; las notas detalladas se crean con /flush y /remember, y /dream agrupa por tema las entradas dispersas.

Estructura del directorio ~/.grok/memory/:

UbicaciónÁmbitoContenido
~/.grok/memory/MEMORY.mdGlobalDatos y preferencias para todos tus proyectos
~/.grok/memory/ + directorio del proyecto con hash + /MEMORY.mdProyectoConvenciones y contexto de un repositorio concreto
~/.grok/memory/ + directorio del proyecto con hash + /sessions/SesionesResúmenes y registros de sesiones individuales

Al nombre del directorio del proyecto se le añade un hash corto del identificador del repositorio. Para identificarlo se usa el remoto origin con el formato «organización/repositorio» o, si no hay un repositorio Git, la ruta del directorio. Así, los clones y los worktrees (copias de trabajo independientes de ramas de Git) comparten una misma memoria del proyecto: lo que el agente recuerda en una copia también está disponible en otra.

Las entradas se crean de cuatro maneras:

  1. Resumen automático al terminar una sesión. Cuando termina una sesión, Grok Build guarda un breve resumen de servicio en el registro diario: el número de mensajes, hasta cinco de los primeros intercambios sustanciales, y la fecha y la hora. El resumen se genera a partir de metadatos, sin llamar a un modelo ni añadir demora. Se omiten las sesiones muy cortas: si hay menos de tres intercambios sustanciales o menos de 50 bytes de texto tuyo, no se crea ninguna entrada. El resumen no incluye las herramientas usadas, las rutas de archivos ni los comandos. Los resúmenes automáticos se pueden desactivar con el ajuste session.save_on_end = false.
  2. /flush: una nota detallada a petición. Con este comando, el modelo resume los puntos más importantes de la sesión actual: decisiones, patrones, pasos de depuración y hallazgos sobre API. El resumen se escribe en un registro con fecha y se indexa para futuras sesiones. La documentación recomienda ejecutar /flush antes de compactar el contexto, al terminar una sesión de depuración satisfactoria y después de descubrir patrones importantes.
  3. /remember: una petición explícita para recordar algo. Escribe /remember always open PR links after sending o dile al agente «recuerda que…». Antes de escribir la entrada se abre un panel de revisión: la nota solo se guarda después de que confirmes, y en el feed aparece Memory saved to ~/.grok/memory/MEMORY.md. La información del proyecto se guarda en el MEMORY.md del proyecto; la información común a todos los proyectos se guarda en el archivo global.
  4. /dream: consolidación. El comando agrupa por tema registros y notas dispersos y elimina duplicados para que las búsquedas sean más precisas. Igual que con /flush, el modelo realiza la consolidación: lee las entradas acumuladas y las reorganiza por temas, así que deberías revisar periódicamente el resultado con /memory. También hay un modo automático: de forma predeterminada, Grok Build comprueba las condiciones al iniciar y una vez por hora, y empieza la consolidación cuando han pasado al menos 24 horas y se han acumulado al menos 5 sesiones. Los umbrales se pueden configurar en la sección [memory.dream] de la configuración.

Las notas se buscan mediante un índice SQLite: de forma predeterminada se usa la búsqueda de texto completo FTS5 y, si se configura un modelo de embeddings, se añade la búsqueda vectorial semántica.

¿Cómo llega la memoria a una nueva sesión?

Resumen

En el primer turno de una sesión, Grok Build busca en la memoria entradas relacionadas con el proyecto y las añade automáticamente al contexto; no hace falta que se las recuerdes. La búsqueda se repite después de la compactación automática del contexto. Las entradas antiguas de sesiones se marcan para comprobar si siguen vigentes.

La inyección inicial usa un umbral de selección min_score = 0.9, que puedes cambiar en la sección [memory.initial_injection]. Después de la compactación automática del contexto, el agente vuelve a buscar en la memoria para restaurar información que quizá se eliminó del contexto junto con intercambios anteriores.

También puedes preguntarle directamente al agente: «¿Qué recuerdas?». Agrupará la respuesta por fuente: preferencias globales, conocimientos del proyecto e historial de sesiones.

Las entradas de sesión incluyen indicadores de vigencia. Cuanto más antigua sea una entrada del registro de sesión, más destacado será el aviso: «Comprueba que esto sigue vigente antes de basarte en ello». Los archivos globales y los MEMORY.md de los proyectos no reciben esos indicadores: su contenido está pensado para un uso a largo plazo, por lo que tú debes comprobar su exactitud.

¿Cómo consultar, editar y eliminar notas?

Resumen

El comando /memory abre una vista general de todos los archivos de memoria con vistas previas. Puedes editar los archivos en cualquier editor de texto; los cambios se tendrán en cuenta en la siguiente búsqueda. La petición «olvida…» no ofrece garantías; para eliminar una entrada concreta de forma fiable, edita el archivo.

El comando /memory abre en una sesión una ventana con todos los archivos de memoria, agrupados por ámbito: global, proyecto y sesiones (en orden cronológico inverso). La lista de archivos está a la izquierda y, a la derecha, hay una vista previa de solo lectura del archivo seleccionado.

Teclas útiles en la vista general:

TeclaAcción
↑/↓ o j/kDesplazarse por la lista
/Filtrar la lista
yCopiar la ruta del archivo seleccionado
xEliminar la nota seleccionada (pulsar de nuevo para confirmar)
tActivar o desactivar la memoria
EscCerrar la ventana

La ventana permite eliminar notas individuales y archivos de sesión; no permite eliminar los índices MEMORY.md generados (global y del proyecto).

El segundo método consiste en editar directamente los archivos. Están en ~/.grok/memory/ y se pueden abrir con cualquier editor. Los cambios en el directorio se rastrean: los archivos creados y modificados se vuelven a indexar, y los eliminados se quitan del índice durante la siguiente búsqueda.

La petición «olvida snake_case» no ofrece garantías: el modelo busca y elimina las entradas que coinciden, pero puede pasar por alto algunas. Para asegurarte de que se elimine una entrada, abre el archivo (puedes copiar fácilmente la ruta con y en /memory) y bórrala manualmente. También puedes borrar toda la memoria desde la línea de comandos: grok memory clear para la memoria del proyecto, grok memory clear --global para la memoria global y grok memory clear --all para ambas.

¿En qué se diferencia la memoria de un archivo de instrucciones del repositorio?

Resumen

Tú escribes un archivo de instrucciones como CLAUDE.md o AGENTS.md y lo incluyes en el repositorio; el equipo lo comparte mediante Git. El agente de Grok Build mantiene notas de memoria y las guarda en ~/.grok/memory/, fuera del repositorio: son personales y no se comparten mediante Git.

Las instrucciones del repositorio se comparten con todas las personas que trabajan en el proyecto y son visibles en el código y en el historial de cambios. La memoria crece a lo largo de las sesiones, se almacena en tu equipo y no se publica por sí sola.

La memoria no sustituye a un archivo de instrucciones. Las reglas generales del proyecto que necesita conocer todo el equipo y cualquier agente siguen teniendo sentido en el repositorio. Tenemos una guía aparte sobre cómo usar un único archivo de instrucciones para Claude Code, Codex y Cursor: AGENTS.md y CLAUDE.md juntos. La memoria conserva el contexto personal: tus preferencias, lo que ya se ha probado y la decisión que se tomó.

Claude aplica una distinción similar: explicamos cómo se diferencia su memoria de CLAUDE.md en el artículo Memoria de Claude y CLAUDE.md. Para comparar las herramientas en sí, consulta Grok Build o Claude Code.

Limitaciones y comprobación del funcionamiento de la memoria

Resumen

La función es experimental: los comandos y los ajustes pueden cambiar. Para que las notas se añadan en el primer turno después de activar la memoria, inicia una nueva sesión con /new. Algunas entradas las crea el modelo, así que revisa las notas periódicamente y pídele que no recuerde secretos.

Ten en cuenta estas limitaciones:

  • Estado experimental. Los comandos, los umbrales y el comportamiento pueden cambiar en versiones futuras; consulta la guía de memoria del repositorio si algo no funciona como esperabas.
  • Inyección inicial en una nueva sesión. Después de activar la memoria, empieza a trabajar con /new para que las notas guardadas se añadan en el primer turno.
  • El modelo decide qué es importante. El modelo crea el resumen de /flush y elige qué incluir en la nota. Cada una o dos semanas, abre /memory, revisa lo que se ha acumulado y elimina lo que no sea necesario.
  • No le pidas que recuerde secretos. Las claves, los tokens y las contraseñas no deben incluirse en notas de larga duración: los archivos de ~/.grok/memory/ se almacenan en texto sin formato. Si se registra algo sensible, elimínalo editando el archivo.
  • La memoria del proyecto se comparte entre copias del repositorio. Si el agente recuerda en un clon algo que está desactualizado para otro, ten en cuenta que el directorio es compartido al hacer limpieza.

Si la memoria no funciona:

  1. Comprueba la salida de grok inspect para confirmar que la memoria está activada.
  2. Comprueba que GROK_MEMORY=0 o la configuración no la estén desactivando.
  3. Para diagnosticar el problema, ejecuta RUST_LOG=debug GROK_LOG_FILE=/tmp/grok.log grok y revisa las líneas sobre la memoria en /tmp/grok.log.

Resumen breve

La memoria de Grok Build se activa con GROK_MEMORY=1 o con [memory] enabled = true en ~/.grok/config.toml. Para que las notas se añadan por primera vez después de activarla, inicia una nueva sesión con /new. El agente escribe notas en ~/.grok/memory/: resúmenes de sesión sin llamar a un modelo, resúmenes detallados con /flush, entradas explícitas con /remember después de que confirmes y temas organizados con /dream. Puedes consultar y limpiar las notas con /memory y editando directamente los archivos. La función es experimental, así que comprueba los umbrales y los comandos en la guía oficial y revisa las notas periódicamente.

Fuentes

Para trabajar de forma sistemática, resulta útil la combinación clon de IA + Second Brain + Context Engineering.

Abrir Ailoot.

Más detalles

Preguntas sobre Grok

¿Por qué no aparecen las notas guardadas después de activar la memoria?

Se añaden en el primer turno de una sesión nueva. Abre otra sesión tras activarla y comprueba el estado con grok inspect; un proceso iniciado con GROK_MEMORY=0 no puede activarla mediante el interruptor de sesión.

¿Desactivar la memoria elimina sus archivos?

No. Quita el acceso a las herramientas de memoria, pero conserva las notas Markdown en disco. Inspecciona o edita las notas guardadas por separado si necesitas eliminar una entrada.

Todos los artículos