Explorar la documentación

Memoria: decisiones, lecciones y cerebro

Cómo BMAD+ guarda decisiones, lecciones y traspasos entre sesiones: memoria de proyecto, cerebro global o de cartera y su detección, Zecher, comandos mem y memory, y lo que nunca se sobrescribe.

En esta página
  1. Dos niveles: memoria de proyecto y cerebro
  2. Cómo se detecta un cerebro existente
  3. Los archivos y cuándo los tocan los agentes
  4. Zecher, el agente de memoria
  5. Los comandos: memory, scan y mem
  6. Lo que nunca se sobrescribe

Una sesión nueva de un asistente de IA empieza de cero: no recuerda por qué elegiste una biblioteca la semana pasada ni qué salió mal el martes. El pack Memory lo arregla con simples archivos Markdown en tu proyecto, un protocolo que dice a cada agente cuándo leerlos y escribirlos, y un agente, Zecher, que los mantiene ordenados. Esta página explica dónde vive la memoria, cómo se detecta y se enlaza un cerebro existente, qué comandos la tocan y qué queda garantizado como nunca sobrescrito. Es para quien trabaja en el mismo proyecto a lo largo de varias sesiones, o en varios proyectos que deberían compartir lo que aprenden.

Nota El pack es opcional y se basa en archivos

La memoria es el pack memory (instalación con --packs core,memory). Solo necesita Node.js. La recuperación vectorial o RAG es un extra opcional y estrictamente local mediante un servidor MCP desplegado aparte que no forma parte del paquete npm; sin él, la memoria Markdown y el escáner de proyectos funcionan igual.

Dos niveles: memoria de proyecto y cerebro

Dónde vive la memoria
NivelUbicaciónContiene
Memoria de proyecto.agents/memory/ en el proyectoDecisiones, lecciones, patrones, contexto y traspasos de sesión de este solo proyecto.
Cerebro global~/.bmad-plus/brain/Tu archivo de identidad, decisiones, lecciones y patrones transversales, y un índice de tus proyectos BMAD+.
Cerebro de carteraUna carpeta _brain/ en el proyecto o en una carpeta superiorLa misma idea, tuya, con tu propia organización. Tiene prioridad sobre el cerebro global.

La regla de oro: la información que afecta a un proyecto va a la memoria del proyecto; la que afecta a dos o más proyectos es candidata al cerebro. El paso de una a otra nunca es automático. Zecher propone, tú apruebas.

Cómo se detecta un cerebro existente

Cuando el pack Memory está instalado, BMAD+ busca un cerebro antes de crear nada. Gana la primera coincidencia.

Orden de resolución del cerebro
OrdenFuenteTipo registrado
1La variable de entorno BMAD_PLUS_BRAIN, si nombra un directorio (si no, un aviso y la regla siguiente).portfolio
2Un directorio _brain/ en la carpeta del proyecto o en cualquiera de sus padres.portfolio
3~/.bmad-plus/brain/, si existe.bmad-global
4~/.claude/memory/, solo si es un directorio no vacío.claude-memory
5No se encontró nada: se crea un cerebro global nuevo en ~/.bmad-plus/brain/.bmad-global

El resultado se escribe en .agents/memory/.brain-link para que cada agente y cada comando encuentre el mismo cerebro. Un cerebro encontrado se enlaza, nunca se copia ni se reescribe: sin duplicación ni sobrescritura. Un cerebro de cartera o claude-memory conserva sus propias convenciones; BMAD+ no crea identity.yaml ni projects/ dentro de él y añade una entrada de índice del proyecto solo cuando el cerebro enlazado es el global de BMAD+. Se indica a los agentes que lean primero el punto de entrada propio de un cerebro de cartera (README.md, AGENTS.md o HOT.md) y sigan su organización.

.agents/memory/.brain-link tras una primera instalación en una máquina sin cerebro
{
  "linked_brain": "/work/demo/home/.bmad-plus/brain",
  "brain_type": "bmad-global",
  "linked_at": "2026-10-19T02:13:36.733Z"
}

Los archivos y cuándo los tocan los agentes

Archivos de la memoria de proyecto
ArchivoQué se anotaSe escribe cuando
decisions.mdFichas tipo arquitectura: contexto, decisión, justificación, consecuencias, estado (activa, sustituida, revertida).Se toma una decisión no evidente. Si le explicarías el «porqué» a un colega, es una decisión.
lessons.mdContexto, impacto y la regla a seguir la próxima vez.Ocurre algo inesperado o una suposición resulta falsa. De inmediato, no al final de la sesión.
patterns.mdProblema, forma, contrapartida, estado (candidato, luego validado).Una solución funciona y podría reutilizarse.
context.mdEl estado vivo del proyecto, legible en 30 segundos.El proyecto cambia de forma significativa (módulo nuevo, cambio de stack, giro de arquitectura).
sessions/Un traspaso fechado por sesión: YYYY-MM-DD-<topic>.md.El final de una sesión en la que se hizo trabajo significativo.
El formato de una entrada de decisions.md (según la plantilla instalada)
### YYYY-MM-DD — <short title>
- **Context**: why the decision was needed
- **Decision**: what was chosen
- **Rationale**: why
- **Consequences**: what this unlocks / forecloses
- **Status**: active / superseded / rolled-back

El protocolo de lectura y escritura

  1. Inicio de sesión (lectura): identity.yaml del cerebro, luego context.md, decisions.md y lessons.md del proyecto, y el último traspaso de sessions/ si se retoma. Un archivo ausente se omite en silencio: la memoria siempre es opcional.
  2. Durante la sesión (escritura por disparador): decisiones, lecciones, patrones y contexto como en la tabla anterior.
  3. Final de sesión (persistencia): un traspaso en sessions/, un context.md actualizado, un vistazo a las lecciones pendientes y una comprobación transversal que solo propone promociones.

Los cuatro límites de conducta

Las instrucciones generadas de cada agente llevan cuatro reglas de conducta, adaptadas de un proyecto comunitario inspirado en los consejos de Andrej Karpathy (ver la página de confianza para el crédito). Unen los archivos de memoria con el comportamiento diario.

G1 a G4
ReglaEn breveVínculo con la memoria
G1 Think Before CodingEnunciar las suposiciones; si hay duda, preguntar.Consultar decisions.md antes de volver a decidir.
G2 Simplicity FirstLo mínimo que resuelve el problema, nada especulativo.Buscar una solución existente en patterns.md.
G3 Surgical ChangesTocar solo lo necesario; respetar el estilo existente.Anotar las sorpresas en lessons.md.
G4 Goal-Driven ExecutionDefinir los criterios de éxito antes de implementar.Anotar las decisiones no evidentes en decisions.md.

Zecher, el agente de memoria

Zecher (el nombre significa «recuerdo» en hebreo) es un agente de utilidad: tú u otro agente lo llamáis cuando la memoria necesita atención. No es un orquestador. Sus reglas: nunca borrar memoria (archivar, consolidar, jamás destruir), preguntar siempre antes de promover al cerebro, fechas ISO 8601 (YYYY-MM-DD, nunca «la semana pasada»), entradas concisas legibles en diez segundos y referencias cruzadas entre una lección y la decisión a la que atañe.

Qué puedes pedirle a Zecher
DicesQué ocurre
«Zecher, consolida la memoria»Auditoría: lee los archivos de memoria y las sesiones; propone duplicados que fusionar, decisiones activas de más de 90 días que revisar y lecciones que promover; aplica solo lo que apruebes; archiva las entradas obsoletas con el prefijo [ARCHIVED].
«Zecher, escanea los proyectos en ~/dev»Recorre la carpeta buscando marcadores de proyecto, detecta el stack y un estado, muestra una tabla y te deja confirmar, editar, omitir o instalar BMAD+ por proyecto; luego escribe el índice.
«Zecher, ¿dónde estábamos?»Reconstruye el estado del proyecto a partir de context.md, el último traspaso, la entrada del proyecto en el cerebro, los últimos 10 commits de Git y el archivo de instrucciones; presenta un resumen breve.
«Zecher, chequeo de salud»Comprueba que los archivos de memoria existen y están bien formados, señala decisiones activas antiguas y lecciones que se repiten, e informa de estadísticas.
«Zecher, ¿qué sabemos sobre [tema]?»Cruza todos los archivos de memoria.
«Zecher, promueve la lección [X] a global»Propone mover un aprendizaje al cerebro; solo lo mueve con tu aprobación.

Los comandos: memory, scan y mem

Comandos relacionados con la memoria
ComandoQué hace
memory statusInforme de la salud de la memoria del proyecto y del cerebro enlazado, como porcentaje de comprobaciones.
memory exportEscribe bmad-brain-export-<YYYY-MM-DD>.md en la carpeta del proyecto: un archivo Markdown portátil del cerebro.
scan [path]Encuentra proyectos, detecta stacks y los indexa en el cerebro global. --depth (4 por defecto), --active-days (30), --paused-days (180), --yes para indexar sin preguntar. Estado: activo bajo 30 días, en pausa de 30 a 180, archivado más allá.
mem recall <query>Recuperación ordenada sobre el diario y las notas de memoria. --limit (8 por defecto), --scope project|portfolio, --portfolio PATH, --json.
mem recall ... --ranking evidence --context-scope PATHSOrdenación opcional que vuelve a comprobar las fuentes y la aceptación de Nexus y da un empujón acotado a las evidencias vigentes y pertinentes. Exige un ámbito explícito no vacío.
mem writeAñade un evento estructurado al diario .bmad/memory/journal.ndjson: --agent, --cli (claude-code, gemini-cli, codex-cli, cursor, opencode, aider, antigravity), --model, --task, --outcome success|failure|partial|abandoned, y señales opcionales --eval 0-1, --accept true|false|0-1, --ci pass|fail|0-1.
mem reinforce --pattern IDIncorpora una recompensa a la puntuación de un patrón (.bmad/memory/pattern-scores.json). Una promoción solo se PROPONE, cuando la media llega a 0,7 con al menos 3 actualizaciones. Estas señales son autodeclaradas y no alimentan la ordenación por evidencias.
mem observe --input FILEAsocia una sección Markdown exacta de tu memoria con una tarea Nexus ya verificada y aceptada (entrada: ejecución, tarea, archivo y encabezado, rutas del ámbito, tu interpretación, supersedes o contradicts opcionales). Registra procedencia; no prueba que la lección causara el éxito.
mem outcomesLista las observaciones registradas y si cada una sigue siendo elegible (un cambio de fuente o de artefacto, una sustitución o una contradicción vuelven inelegible una observación).
Escribir en el diario, recordar, exportar
npx bmad-plus mem write --agent atelier --cli claude-code --task "Design read for the Orbit landing page: one job, the loyalty card sign-up" --outcome success --ci pass
mem write: event 912e91734848 appended (2026-10-19T02:13:48.840Z)
  agent=atelier cli=claude-code model=- outcome=success
  task: Design read for the Orbit landing page: one job, the loyalty card sign-up
npx bmad-plus mem recall "loyalty card sign-up"
mem recall: 2 match(es) for "loyalty card sign-up" (scope: project)
  1. [0.707] event journal.ndjson#912e91734848
     atelier claude-code Design read for the Orbit landing page: one job, the loyalty card sign-up success {"ci":"pass"}
  2. [0.522] note decisions.md § 2026-10-18 — The landing page has one job, the loyalty card sign-up
     2026-10-18 — The landing page has one job, the loyalty card sign-up - **Context**: design read for the Orbit landing pa…
npx bmad-plus mem outcomes
mem outcomes: no observations.
npx bmad-plus memory export
◆  📦 Brain exported to: /work/demo/app/bmad-brain-export-2026-10-19.md
Antes de la consulta se añadió a mano a decisions.md una entrada de decisión con el formato de arriba. Sin una tarea Nexus aceptada no hay observación, así que la ordenación por evidencias no aporta nada a la ordenación simple.

Salida capturada de una ejecución real. Fuente: bmad-plus 0.23.0, 2026-10-19

Lo que nunca se sobrescribe

  • Instalar y actualizar nunca sobrescriben decisions.md, lessons.md ni patterns.md, nunca borran sessions/ y conservan tus cambios en context.md e identity.yaml. Los archivos que faltan se crean desde plantillas; los existentes se dejan como están.
  • Un cerebro detectado se enlaza, no se copia ni se reescribe. Los archivos del cerebro global solo se crean si faltan; una instalación antigua interrumpida podía dejar un «medio cerebro» y el código actual lo completa de forma idempotente sin tocar lo existente.
  • Desinstalar quita los archivos de los que BMAD+ es propietario y conserva .agents/memory/, _bmad/config.yaml y lo que es tuyo o está modificado (ver el bloque siguiente).
  • Un fallo al inicializar la memoria no es fatal: si la carpeta personal es de solo lectura (contenedor, CI), la instalación continúa y avisa.
  • Los escritores compartidos usan .bmad/memory/writer.lock. Tras una interrupción, inspecciona al propietario y los archivos antes de cualquier recuperación manual; no quites el bloqueo de un escritor vivo, y las evidencias de resultados corruptas nunca se reinician automáticamente.
Tras desinstalar, la memoria sigue ahí
npx bmad-plus uninstall --yes
●  BMAD+ v0.23.0 (installed 2026-10-19)
●  Selected packs: core, memory
◇  ✅ BMAD+ removed (60 items)
└  Project memory, settings, and unknown or modified files have been preserved.
find . -path ./.git -prune -o -print | sort
./.agents/memory/.brain-link
./.agents/memory/context.md
./.agents/memory/decisions.md
./.agents/memory/lessons.md
./.agents/memory/patterns.md
./.agents/memory/sessions
./.bmad/memory/journal.ndjson
./_bmad/config.yaml
./bmad-brain-export-2026-10-19.md
Las carpetas que solo contenían directorios vacíos y los archivos propios del proyecto (README.md, docs) se omiten de este extracto. El cerebro global de la carpeta personal no se tocó.

Salida capturada de una ejecución real. Fuente: bmad-plus 0.23.0, 2026-10-19

Retomar un proyecto en frío con Zecher

Úsalo al comienzo de una sesión cuando tú o el asistente habéis perdido el hilo, con el pack Memory instalado.

En tu asistente de IA
Zecher, ¿dónde estábamos? Reconstruye el estado de este proyecto a partir de context.md, el último traspaso de sesión, la entrada del cerebro y los últimos commits. Dime qué se decidió, qué está sin terminar y qué lecciones valen para la próxima tarea. Di con claridad cuáles de estas fuentes no encontraste, sin adivinar.

Lo que deberías obtener Un breve «estado del proyecto»: qué es el proyecto, su stack, en qué se trabajó por última vez, las preguntas abiertas de la última sesión, los problemas conocidos y las lecciones. Las fuentes que faltan se nombran como ausentes. No se escribe nada salvo que pidas un traspaso.

Ordenar la memoria sin perder nada

Úsalo cuando los archivos de memoria han crecido y contienen entradas repetidas u obsoletas.

En tu asistente de IA
Zecher, consolida la memoria. Primero solo audita: lista los duplicados y las decisiones activas de más de 90 días, y propón qué fusionar, archivar o promover al cerebro global. No apliques nada hasta que apruebe cada cambio, archiva en vez de borrar y escribe las fechas como YYYY-MM-DD.

Lo que deberías obtener Una lista de hallazgos (N duplicados, M entradas obsoletas, K candidatos a promoción) y una pregunta por cada cambio propuesto. Tras tu aprobación, los duplicados se fusionan conservando la versión más rica, las entradas obsoletas se mueven abajo con el prefijo [ARCHIVED] y los aprendizajes aprobados se promueven al cerebro. No se borra nada.

Véase también