Auto Memory y Auto Dream: como Claude Code aprende y consolida su memoria
9 min de lectura

Auto Memory y Auto Dream: como Claude Code aprende y consolida su memoria

1714 palabras

Si llevas un tiempo usando Claude Code con Auto Memory activado, probablemente hayas notado que al cabo de unas cuantas sesiones, las notas que Claude toma sobre tu proyecto empiezan a acumular contradicciones. Entradas que dicen “ayer decidimos usar Redis” sin especificar qué día era ese “ayer”. Notas de debugging que referencian ficheros que ya no existen. Tres entradas diferentes sobre el mismo bug del build. Lo que empezó como un cuaderno útil se convierte en ruido.

Anthropic acaba de lanzar Auto Dream, una funcionalidad que hace exactamente lo que su nombre sugiere: consolida la memoria de Claude Code como el cerebro humano consolida recuerdos durante el sueño REM.

He encontrado guías excelentes en claudefa.st que explican tanto Auto Memory como Auto Dream en detalle. Después de probarlo, esto es lo que he aprendido.

Primero, entendamos Auto Memory

Para apreciar lo que hace Auto Dream, hay que entender el sistema sobre el que trabaja. Auto Memory es el mecanismo que permite a Claude Code tomar sus propias notas sobre tu proyecto. No es el fichero CLAUDE.md que tú escribes con instrucciones: es un cuaderno separado donde Claude apunta lo que va aprendiendo mientras trabaja contigo.

Cada proyecto tiene su propio directorio de memoria en ~/.claude/projects/<proyecto>/memory/, con un fichero principal MEMORY.md que actúa como índice y ficheros temáticos para notas detalladas. Lo que Claude registra incluye:

  • Patrones del proyecto: comandos de build, convenciones de tests, preferencias de estilo de código
  • Soluciones de debugging: soluciones a problemas complicados, causas comunes de errores
  • Notas de arquitectura: ficheros clave, relaciones entre módulos, abstracciones importantes
  • Tus preferencias: estilo de comunicación, hábitos de trabajo, elecciones de herramientas

Puedes guardar conocimiento de forma explícita diciéndole cosas como “recuerda que usamos pnpm, no npm” o “anota que los tests de API necesitan Redis local”. Claude lo escribe inmediatamente en el fichero apropiado.

La parte importante: solo las primeras 200 líneas de MEMORY.md se cargan al inicio de cada sesión. Esto significa que cuando el fichero crece más allá de ese límite, Claude pierde acceso a las notas que quedan por debajo. Y ahí es donde empieza el problema que Auto Dream resuelve.

Configuración de Auto Memory

Auto Memory viene activado por defecto. Puedes gestionarlo de varias formas:

  • Por sesión: ejecuta /memory y usa el toggle
  • Globalmente: añade "autoMemoryEnabled": false en ~/.claude/settings.json
  • Por proyecto: el mismo campo en .claude/settings.json del proyecto
  • Variable de entorno: CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 (tiene prioridad sobre todo lo demás, util para CI/CD)

El problema: Auto Memory sin mantenimiento se degrada

Aquí está el punto clave. Auto Memory es brillante como concepto, pero después de 20-30 sesiones, la calidad de las notas empieza a degradarse. He visto esto en mis propios proyectos:

  • Entradas contradictorias que coexisten (“usamos Express” junto con notas más recientes sobre Fastify)
  • Fechas relativas como “ayer” o “la semana pasada” que pierden todo significado con el paso del tiempo
  • Soluciones de debugging que referencian ficheros que ya borraste o renombraste
  • Tres o cuatro entradas diciendo esencialmente lo mismo sobre el mismo tema
  • MEMORY.md superando las 200 líneas, con lo cual las notas más antiguas ni se cargan

El cuaderno que debería ayudar a Claude a recordar se convierte en ruido que lo confunde. Es como tener una pila de post-its que nunca revisas: al principio ayudan, pero con el tiempo estorban.

Auto Dream: el sueño REM de la IA

Auto Dream es la respuesta a ese problema de degradación.

La metáfora del sueño REM es bastante precisa

Durante el día, el cerebro absorbe información en bruto y la almacena como memorias a corto plazo. Durante el sueño REM, reprocesa esos recuerdos: refuerza lo importante, descarta lo irrelevante y organiza todo en memoria a largo plazo. Sin suficiente sueño REM, la información llega pero nunca se consolida.

Auto Memory es el cerebro durante el día: captura notas mientras trabajas. Auto Dream es el ciclo de sueño REM: revisa todo lo acumulado, refuerza lo relevante, elimina lo obsoleto y reorganiza el resultado en ficheros limpios e indexados.

Las cuatro fases del proceso

Auto Dream ejecuta un proceso de cuatro fases que me parece elegantemente diseñado:

Fase 1: Orientación

Claude lee el directorio de memoria y hace inventario. Abre MEMORY.md (el fichero índice), escanea los ficheros por tema y construye un mapa mental del estado actual. Es el equivalente a despertar y recordar dónde dejaste las cosas.

Fase 2: Recoger señal

Aquí está lo interesante. Auto Dream busca en los transcripts de sesiones anteriores (ficheros JSONL almacenados localmente), pero no los lee enteros. Hace búsquedas dirigidas de cosas específicas:

  • Correcciones del usuario (momentos donde dijiste “no, eso está mal”)
  • Guardados explícitos (“recuerda esto”)
  • Temas recurrentes (patrones que aparecen en múltiples sesiones)
  • Decisiones importantes (elecciones de arquitectura, cambios de herramientas)

Esta selectividad es deliberada. Leer 500 transcripts enteros quemaría tokens sin retorno proporcional.

Fase 3: Consolidación

La fase central, donde ocurre el trabajo pesado:

  • Convierte fechas relativas a absolutas. “Ayer decidimos usar Redis” se transforma en “El 2026-03-15 decidimos usar Redis”. Esto evita la confusión temporal que se acumula con el tiempo.
  • Elimina hechos contradichos. Si cambiaste de Express a Fastify hace tres semanas, las entradas viejas sobre Express desaparecen.
  • Limpia memorias obsoletas. Notas de debugging sobre ficheros borrados no sirven para nada.
  • Fusiona entradas duplicadas. Si tres sesiones anotaron la misma peculiaridad del build, se consolidan en una sola entrada limpia.

Fase 4: Podar e indexar

La fase final se centra en mantener MEMORY.md por debajo de 200 líneas (el umbral de carga al inicio de sesión). Elimina punteros a ficheros inexistentes, añade enlaces a memorias nuevas importantes y resuelve contradicciones entre el índice y el contenido de los ficheros.

Lo que me gusta es que los ficheros que no necesitan cambios no se tocan. Auto Dream es quirúrgico, no hace una reescritura completa en cada ejecución.

Cuándo se activa

Se necesitan dos condiciones simultáneas:

  1. Han pasado 24 horas desde la última consolidación
  2. Se han realizado más de 5 sesiones desde la última consolidación

Las dos condiciones deben cumplirse. Una sesión larga de dos días no lo activa (pocas sesiones). Diez sesiones rápidas en dos horas tampoco (poco tiempo). Esta doble puerta evita ejecuciones innecesarias en proyectos con poca actividad mientras asegura limpieza regular en proyectos activos.

Un caso observado consolidó la memoria de 913 sesiones en unos 8-9 minutos. Sustancial, pero se ejecuta en segundo plano sin bloquear tu trabajo.

Garantías de seguridad

Tres aspectos que me dan tranquilidad:

  • Solo escribe en memoria. Durante los ciclos de dream, Claude solo puede escribir en ficheros de memoria. Nunca toca código fuente, configuración, tests ni ficheros del proyecto.
  • Lock file para concurrencia. Si tienes dos instancias de Claude Code abiertas en el mismo proyecto, solo una puede ejecutar Auto Dream.
  • Ejecución en segundo plano. Puedes seguir trabajando mientras se ejecuta la consolidación.

El panorama completo: cuatro sistemas de memoria

Con Auto Dream, Claude Code tiene ahora cuatro mecanismos de memoria distintos trabajando juntos:

AspectoCLAUDE.mdAuto MemorySession MemoryAuto Dream
Quién lo escribeClaude (por sesión)Claude (automático)Claude (periódico)
PropósitoInstrucciones y reglasPatrones y aprendizajesResúmenes de conversaciónConsolidación de memoria
Cuándo se ejecutaEdición manualDurante cada sesiónEn segundo plano, cada ~5K tokensCada 24h + 5 sesiones
Se carga al inicioFichero completoPrimeras 200 líneas de MEMORY.mdSesiones pasadas relevantesN/A (entre sesiones)
Mejor paraEstándares, arquitecturaPatrones de build, preferenciasContinuidad entre sesionesMantener la memoria limpia

La configuración más robusta usa los cuatro. CLAUDE.md proporciona las reglas que tú controlas. Auto Memory captura lo que Claude aprende trabajando. Session Memory mantiene continuidad entre conversaciones. Auto Dream mantiene el conocimiento acumulado limpio y actualizado.

Consejos prácticos

Déjalo funcionar automáticamente para la mayoría de proyectos. Las condiciones de disparo por defecto (24h + 5 sesiones) funcionan bien para desarrollo activo.

Fuerza un dream después de refactorizaciones grandes. Si renombraste medio codebase, migraste de framework o cambiaste la estructura de tu API, dispara un ciclo manual diciendo “dream” o “consolidate my memory files” en Claude Code. Las entradas viejas causarán más confusión que claridad hasta que se consoliden.

Revisa la salida de vez en cuando. Después de que se ejecute un ciclo, echa un vistazo a tu MEMORY.md. Auto Dream es bueno pero no perfecto. Los ficheros son markdown plano y puedes editarlos libremente si ves algo que no te convence.

El antes y el después

Para que se vea la diferencia real, este es un ejemplo del estado de la memoria antes y después de una consolidación:

Antes (30+ sesiones sin consolidar):

~/.claude/projects/<proyecto>/memory/
├── MEMORY.md              # 280 líneas (supera el límite de 200)
├── debugging.md           # 3 entradas contradictorias sobre errores de API
├── api-conventions.md     # Referencia Express (migramos a Fastify hace 2 semanas)
├── random-notes.md        # Mezcla de info obsoleta y actual
├── build-commands.md      # "Ayer" usado 6 veces sin fechas concretas
└── user-preferences.md    # Duplica entradas de MEMORY.md

Después (consolidado):

~/.claude/projects/<proyecto>/memory/
├── MEMORY.md              # 142 líneas, índice limpio con enlaces a ficheros
├── debugging.md           # Deduplicado, solo soluciones vigentes
├── api-conventions.md     # Actualizado para reflejar la migración a Fastify
├── build-commands.md      # Todas las fechas absolutas, sin duplicados
└── user-preferences.md    # Fusionado con entradas relevantes de MEMORY.md

El fichero random-notes.md desaparece. Su contenido se ha fusionado en ficheros temáticos o se ha eliminado por obsoleto. MEMORY.md baja de 280 a 142 líneas, restaurándolo por debajo del umbral de 200 líneas que se carga al inicio.

Mi impresión

Auto Memory por sí solo ya era un avance importante. Que Claude pudiese tomar notas sobre tu proyecto, aprender tus patrones de trabajo y recordar soluciones a problemas pasados cambiaba la experiencia de forma significativa. Pero tenía un defecto estructural: nadie hacía limpieza.

Auto Dream cierra ese ciclo. Es la diferencia entre tomar apuntes y estudiar. Entre escribir un diario y revisarlo. Auto Memory captura la información en bruto; Auto Dream la transforma en conocimiento útil y actualizado.

Después de semanas de uso intensivo, mis ficheros de memoria se habían convertido en un vertedero de notas contradictorias y referencias obsoletas. Que Claude sea capaz de hacer limpieza por su cuenta, de forma quirúrgica y sin tocar mi código, es exactamente el tipo de funcionalidad que marca diferencia en el día a día. La combinación de ambos sistemas convierte a Claude Code en un asistente que no solo recuerda más con el tiempo, sino que recuerda mejor.

Comentarios

Últimas Entradas

5 min

1048 palabras

Llevo meses usando Claude Code a diario y hay una configuración que ha cambiado por completo cómo trabaja con mi código. No es un plugin nuevo, ni un modelo más potente, ni un prompt mágico. Es algo que existe desde 2016 y que la mayoría de desarrolladores usamos sin saberlo cada vez que abrimos VS Code: el Language Server Protocol (LSP).

Karan Bansal publicó un artículo excelente explicando en detalle cómo activar LSP en Claude Code y por qué importa. Después de probarlo, puedo confirmar que la diferencia es real y significativa.

6 min

1238 palabras

Después de mi anterior artículo sobre programación agéntica, he estado investigando más sobre técnicas avanzadas para usar Claude Code de forma realmente productiva. Como programador con 30 años de experiencia, he visto muchas herramientas prometedoras que al final no cumplían sus promesas. Pero Claude Code, cuando se usa correctamente, está siendo un game-changer real.

Más allá de lo básico: La diferencia entre jugar y trabajar en serio

Una cosa es usar Claude Code para experimentos o proyectos personales, y otra muy distinta es integrarlo en un flujo de trabajo profesional. Para proyectos serios, necesitas un enfoque diferente:

5 min

955 palabras

A lo largo de mi carrera he visto cambiar muchas cosas. He pasado de Borland a Visual Studio, de vi a Sublime Text, de Sublime a VS Code… Y créeme, cada cambio fue una decisión meditada que me costó semanas de adaptación. Pero lo que está pasando ahora con las herramientas de IA es algo completamente diferente.

Me he encontrado usando Copilot por la mañana, probando Cursor por la tarde, y echando un vistazo a Claude Code antes de irme a dormir. Y no soy el único. Los desarrolladores hemos pasado de ser fieles como perros a nuestras herramientas a ser… bueno, promiscuos.

6 min

1079 palabras

Una reflexión necesaria sobre el “AI-Native Engineer”

He leído el artículo de Addyo sobre el “AI-Native Software Engineer” y, como Principal Backend Engineer que lleva años viendo promesas tecnológicas ir y venir, tengo opiniones bastante sinceras al respecto. No todas son cómodas de escuchar.

He visto suficientes “revoluciones” como para separar el grano de la paja. Y aquí hay mucho de ambos.

Lo que está funcionando (de verdad)

1. IA como copiloto, no como piloto

La metáfora del artículo sobre tratar la IA como un “programador junior disponible 24/7” es acertada. En mi experiencia trabajando con equipos, he visto developers usar GitHub Copilot y Claude de manera efectiva para:

9 min

1840 palabras

Si estás usando herramientas como Claude Code, GitHub Copilot Workspace o similares, habrás notado que hay una jerga técnica que va más allá de simplemente “chatear con la IA”. Hablo de términos como rules, commands, skills, MCP y hooks.

Estos conceptos son la arquitectura que hace que los agentes de IA sean realmente útiles para desarrollo de software. No son solo palabras bonitas de marketing — cada uno cumple una función específica en cómo el agente trabaja.

Vamos a desglosarlos uno por uno de forma clara.

5 min

857 palabras

Hace unos días me topé con un stream muy interesante donde alguien mostraba su setup para programación agéntica usando Claude Code. Después de años desarrollando “a la vieja usanza”, tengo que admitir que esto me ha resultado revelador.

¿Qué es la programación agéntica?

Para los que no estéis familiarizados con el término, la programación agéntica es básicamente dejar que un agente de IA (en este caso Claude) escriba código por ti. Pero no hablo de pedirle que te genere un snippet, sino de darle acceso completo a tu sistema para que pueda leer, escribir, ejecutar y debuggear código de forma autónoma.