ADR: dale por fin memoria a tus agentes de IA
Mike Codeur
![]()
Tu agente de IA empieza de cero en cada sesión. Sin rastro escrito, te propone un enfoque que ya probaste y descartaste la semana pasada. Reexplicas el mismo contexto, vuelves a descartar las mismas malas ideas. En bucle.
La solución ya existe en el mundo del desarrollo, y no es nada nuevo: los ADR (Architecture Decision Records) para las decisiones, y un registro de contexto para el resto. Markdown, versionado en git, consultable por tu agente.
El verdadero vacío de memoria: decisiones y contexto
Todo el mundo guarda contenido: código, notas, documentación. Lo que casi siempre falta son las decisiones ("elegimos X en lugar de Y, y este es el porqué") y el contexto ("este módulo existe por esta restricción").
Y es justo lo que tu agente necesita para no dar vueltas. Un modelo nunca adivinará que ya rechazaste un enfoque hace tres sesiones. Hay que escribirlo.
El ADR: una decisión, un archivo
Un ADR es un archivo = una decisión, con tres bloques:
- Contexto: el problema, las restricciones.
- Decisión: lo que elegiste.
- Consecuencias: lo que implica, los compromisos aceptados.
Dos reglas importantes:
- Un ADR tiene un estado:
proposed,accepted,superseded. - Un ADR es inmutable. No modificas una decisión pasada: escribes una nueva que la reemplaza (
superseded_by). El historial sigue siendo legible.
El formato viene de Michael Nygard y está documentado por Martin Fowler; la plantilla Markdown MADR es un buen punto de partida.
El registro de contexto: guardar los enfoques rechazados
Junto a las decisiones, mantengo un registro de contexto que guarda también los enfoques rechazados y por qué. Es lo que impide que el agente vuelva a proponer una idea ya descartada. La regla es simple: todo lo que deba sobrevivir entre dos sesiones vive en un archivo, no en el chat.
La estructura que uso (en Obsidian)
Decisiones/
2026-07-14 - Guardar las fechas en UTC.md
Contexto/
pagos - contexto.md
Con un frontmatter claro en cada decisión:
type: decision
status: accepted # proposed | accepted | superseded
date: 2026-07-14
tags: [arch, timezone]
superseded_by:Sigo la convención de Steph Ango (CEO de Obsidian): la carpeta es el tipo de contenido, el frontmatter son los metadatos. Un archivo nunca cambia de carpeta; cambias su estado. Como resultado, todo queda indexado y consultable por el grafo, así que mis agentes pueden usarlo.
Lo que hay que recordar
Todo el mundo guarda contenido. Las decisiones y el contexto, casi nadie — y es justo lo que les falta a tus agentes. Escríbelos en Markdown, versiónalos, hazlos inmutables. Tu agente deja de dar vueltas.
Muestro todo el flujo en vídeo: ver en YouTube.
Y preparé un kit ADR listo para usar (plantillas + estructura): conseguir el kit.