La conversación sobre Inteligencia Artificial aplicada a programación suele girar en torno a velocidad: escribir más código en menos tiempo, automatizar tareas repetitivas o detectar fallos antes de que lleguen a producción. Pero hay un problema menos llamativo —y muy real— que cualquier equipo que haya probado asistentes de programación conoce bien: la falta de continuidad. Termina la sesión y el asistente “olvida” cómo se compila el proyecto, qué comandos se usan, qué estilo de código se exige o cuáles son las reglas de seguridad internas.
Claude Code, la herramienta de Anthropic orientada a desarrollo, intenta resolverlo con un sistema de memoria persistente entre sesiones. La novedad no es solo que “recuerde”, sino cómo lo hace: separando lo que el equipo quiere imponer como norma de lo que el asistente aprende trabajando, y organizándolo en una jerarquía para evitar el caos.
Dos tipos de memoria: lo que escribe el equipo y lo que apunta la herramienta
Claude Code distingue entre dos mecanismos que pueden persistir:
- Auto memory (memoria automática)
Es un directorio donde Claude va guardando aprendizajes del proyecto a medida que trabaja: patrones, convenciones, soluciones de debugging o notas de arquitectura. - Archivos CLAUDE.md
Son instrucciones escritas por personas (o por el propio equipo) para que Claude siga reglas y preferencias: estándares de estilo, flujos de trabajo, convenciones de test, políticas internas, etc.
En la práctica, esta separación es relevante porque evita un error común: mezclar “lo que el asistente cree que es útil” con “lo que la organización quiere que sea obligatorio”.
La jerarquía: no existe un único archivo mágico
Claude Code propone una estructura jerárquica de memoria con varios niveles. Lo más específico tiene prioridad sobre lo más general, y los archivos se cargan de forma recursiva a partir del directorio de trabajo.
En términos sencillos, funciona así:
- Memoria corporativa (gestionada por IT/DevOps): instrucciones comunes para toda la organización (seguridad, cumplimiento, estándares) en rutas del sistema.
- Memoria del proyecto: reglas compartidas por el equipo en el repositorio (
./CLAUDE.mdo./.claude/CLAUDE.md). - Reglas modulares del proyecto: ficheros por tema en
./.claude/rules/(por ejemplo, testing, APIs, frontend). - Memoria del usuario: preferencias personales en
~/.claude/CLAUDE.md. - Memoria local del proyecto: preferencias privadas en
./CLAUDE.local.md, pensada para no subirla al repositorio.
Este enfoque es especialmente útil en repositorios grandes: permite tener instrucciones globales (por ejemplo, “estándares de seguridad”) y reglas específicas por carpetas o subsistemas (por ejemplo, “normas para src/api/”).
La memoria automática: útil… pero con límites (200 líneas)
La memoria automática está activada por defecto y se guarda en una carpeta por proyecto dentro del directorio personal del usuario (~/.claude/projects/<project>/memory/). Ese directorio contiene un archivo MEMORY.md como índice y otros ficheros temáticos opcionales.
Aquí aparece un matiz clave: Claude solo carga automáticamente las primeras 200 líneas de MEMORY.md al inicio de cada sesión. El resto no se “precarga”: se consulta cuando hace falta. Esto obliga a una disciplina sana: mantener el índice corto y empujar los detalles a ficheros específicos, como debugging.md o api-conventions.md.
Desde una óptica de productividad, el objetivo es claro: que la memoria no se convierta en un vertedero, y que el asistente arranque con lo esencial.
Cómo se gestiona: /memory, ajustes y variables de entorno
Claude Code incluye un comando interactivo para editar y revisar memorias: /memory, que abre un selector de archivos de memoria y permite activar o desactivar la memoria automática.
Además, permite controlar la memoria automática con configuración y con entorno:
- En
~/.claude/settings.jsonse puede desactivar globalmente para todos los proyectos. - En
.claude/settings.jsonse puede desactivar solo para un proyecto concreto. - En entornos como CI/CD, existe una variable de entorno que fuerza el comportamiento por encima de cualquier ajuste:
CLAUDE_CODE_DISABLE_AUTO_MEMORY.
Para equipos con políticas estrictas (por ejemplo, en entornos regulados o con datos sensibles), este punto es importante: se puede evitar que el asistente genere notas automáticas en máquinas compartidas o runners efímeros.
Reglas modulares: .claude/rules y reglas por rutas
Uno de los elementos más prácticos para equipos es la posibilidad de dividir reglas por temas dentro de .claude/rules/, con carga automática.
Y, además, esas reglas pueden limitarse a rutas concretas mediante frontmatter en YAML (paths:). En la práctica, esto permite algo muy habitual en ingeniería: que el backend tenga unas reglas, el frontend otras y los tests otra lógica distinta, sin mezclarlo todo en un único documento.
Importaciones en CLAUDE.md: documentación sin duplicar
Claude Code permite que los archivos CLAUDE.md importen otros documentos con una sintaxis tipo @ruta/al/archivo. Esto ayuda a no repetir información ya existente en el repo (por ejemplo, README, package.json o documentos internos) y a mantener el archivo de memoria como un índice de “lo importante”.
Es una idea sencilla, pero reduce un problema típico: la documentación que se copia y pega en varios sitios… y termina desactualizada.
Riesgos y buenas prácticas: lo que conviene hacer desde el primer día
La memoria persistente mejora productividad, pero también introduce una pregunta que antes no existía: qué información se guarda, dónde y con qué controles. Las recomendaciones más prudentes para equipos suelen ser:
- No guardar secretos (tokens, claves, credenciales, URLs internas sensibles) en archivos de memoria.
- Usar
CLAUDE.local.mdpara preferencias privadas del proyecto que no deban versionarse. - Mantener el
MEMORY.mdcomo índice breve, y mover “cómo resolvimos X bug” a ficheros temáticos. - En CI/CD, considerar desactivar memoria automática para evitar escrituras accidentales o inconsistencias en runners.
- Revisar periódicamente: si el asistente aprende un patrón equivocado, tenderá a repetirlo.
Un paso más hacia asistentes “de verdad” en el desarrollo
Claude Code se define como una herramienta “agentic”: no se limita a responder, sino que puede leer el codebase, ejecutar comandos e integrar herramientas del flujo de desarrollo. En ese contexto, la memoria persistente es un paso lógico: un agente que trabaja como compañero necesita contexto estable, no solo una conversación temporal.
La pregunta de fondo ya no es si la Inteligencia Artificial puede ayudar a programar, sino cómo se gobierna esa ayuda cuando entra en proyectos reales con equipos, normas y responsabilidades. Y en esa transición, la memoria —bien diseñada— puede marcar la diferencia entre un asistente “impresionante en demos” y uno realmente útil en producción.
Fuente: Claude ya puede recordar







