2026-08-01T05:55:39.741Z
Memoria de código Claude: Auditar lo que carga y sobrevive
Inventar las fuentes de memoria de código Claude, la deriva del alcance de captura y el truncado de inicio, y verificar una decisión crítica después de reiniciar o compactar.
La memoria de Claude Code debe ser operada como un contrato de entrada versionado, no juzgado por si el agente suena familiarizado con el proyecto. Una configuración saludable tiene tres elementos de prueba: las fuentes esperadas están cargadas, su contenido no se ha desviado o se ha reducido, y una decisión crítica del proyecto aún puede reproducirse después de un reinicio o compactación. Ese estándar es importante porque memoria ahora se refiere a varios mecanismos. Claude Code lee las instrucciones CLAUDE.md mantenidas por el hombre y también mantiene un directorio de memoria automática escrito por el agente. Ambos pueden estar presentes mientras el alcance equivocado está activo. Ambos pueden estar corrientes en el disco mientras están ausentes del momento que importa. Y tampoco es un límite de aplicación: la documentación de Anthropic describe explícitamente estos archivos como contexto. Si una acción debe bloquearse, utilice un control determinista como un gancho PreToolUse . El defecto práctico es simple: mantener reglas duraderas del equipo en un proyecto corto CLAUDE.md , mover instrucciones condicionales en reglas de trayectoria, mantener la memoria automática como un índice conciso, y verificar el conjunto de fuente en vivo antes de desactivar el modelo. Tratar la memoria como un contrato de fuente cargada La documentación actual del Código Claude describe dos sistemas complementarios: Fuente Escritor El alcance típico El comportamiento de inicio La mejor evidencia Gestionado CLAUDE.md Organización Todos los usuarios Cargado en el lanzamiento /context o InstructionsLoaded Usuario ~/.claude/CLAUDE.md Los individuos Cada proyecto Cargado en el lanzamiento /context Proyecto CLAUDE.md o .claude/CLAUDE.md Equipo Repositorio Cargado en el lanzamiento /context más hash de archivo CLAUDE.local.md Los individuos Proyecto actual Cargado en el lanzamiento cuando se habilitan las configuraciones locales /context más hash de archivo CLAUDE.md anidado Propietario de equipo o componente Subdirectorio Cargado cuando Claude lee dentro de ese subárbol InstructionsLoaded .claude/rules/ .md Equipo En todo el mundo o con un alcance de trayectoria Carga de archivo de lanzamiento o coincidencia InstructionsLoaded Memoria automática MEMORY.md Claude . ¿ Qué es eso ? Repositorio compartido entre árboles de trabajo Las primeras 200 líneas o 25KB /memory , auditoría de archivos, y un canario La tabla expone la primera clase de fallas: declarado no está cargado . /memory es útil para encontrar y editar ubicaciones configuradas. /context responde a la pregunta más estrecha de qué archivos de memoria llegaron a la conversación actual. El gancho InstructionsLoaded , añadido en el código Claude 2.1.69, es el mejor ajuste cuando el tiempo de carga perezoso y la razón son materiales. El reemplazo de un diagnóstico por otro produce un falso estado verde. El orden de carga también importa. Claude Code camina desde directorios más amplios hacia el directorio de trabajo. Los archivos más específicos llegan más tarde, pero el sistema concatena instrucciones en lugar de tratar el archivo más cercano como una anulación limpia. Por lo tanto, dos reglas contradictorias siguen siendo dos partes contradictorias del contexto. La respuesta segura es eliminar la contradicción, no confiar en la posición. Las importaciones añaden otro límite. Un proyecto CLAUDE.md puede incluir otro archivo con @path , recurrentemente hasta cuatro saltos de acuerdo con la documentación actual. Una importación fuera del directorio de trabajo requiere aprobación la primera vez que se encuentra. Dividir un archivo grande en importaciones puede facilitar su mantenimiento, pero no reduce el contexto de inicio porque el contenido importado todavía se carga. La memoria automática tiene un límite diferente. Sólo las primeras 200 líneas o los primeros 25KB de MEMORY.md , cualquiera que sea el límite que llegue primero, entra en una nueva conversación. Los detalles de los archivos de temas se leen bajo petición. Desde el código claude 2.1.211, se excluyen los comentarios HTML frontmatter y de nivel de bloque cuando se mide la parte cargada. Por lo tanto, una escritura exitosa más allá del límite no es una lectura exitosa en el futuro. Se clasifica como cobertura parcial , no persistencia saludable. Construir un manifiesto antes de culpar el recuerdo Una auditoría útil no recopila instrucciones, transcripciones o contenido de memoria. Registra las rutas de origen, el alcance, el tamaño, el tiempo de modificación, un digesto SHA 256, las importaciones y el modo de carga documentado. El artefacto reproducible utilizado para este artículo acepta un repositorio, un directorio de trabajo y un índice de memoria automática opcional: Su salida deliberadamente se detiene sin pretender que un modelo haya seguido una instrucción: El accesorio de acompañamiento crea un archivo de instrucciones raíz, un archivo local de directorio de trabajo, una regla de escala de camino, un archivo de decisión importado e índice de memoria automática de 205 líneas. El examen se realizará únicamente cuando la auditoría: detecta los dos archivos de instrucciones de lanzamiento; resuelve la importación sin incluir su contenido en el informe; marcar la regla con un alcance de trayectoria; señalar la cobertura de inicio de memoria automática como parcial en el límite de línea; produce un hash para cada fuente observada; y se niega a devolver un veredicto completamente sano sin pruebas de tiempo de ejecución. Esa última negativa es importante. Los hashes de archivos demuestran la detección de cambios, no la adhesión. /context prueba la inclusión, no que el modelo haya aplicado la decisión correcta. Incluso InstructionsLoaded demuestra un evento, no el resultado previsto. La cadena de pruebas debe ser aditiva: 1. Inventario: la fuente existe donde el resolver documentado puede encontrarla. 2. Integridad: su digestión y tiempo de modificación coinciden con la revisión esperada. 3. Inclusion: /context o un evento InstructionsLoaded muestra que entró en la sesión. 4. Decisión: un canario determinista produce la respuesta esperada específica del proyecto. 5. Ooutcome: el comando, archivo o entregable resultante pasa su propia verificación. Por ejemplo, no pregunte ¿Recuerdas nuestro proceso de liberación? Almacenar una decisión no secreta como producción de lanzamientos utilizar scripts/release all.sh ; empujes directos de la rama de lanzamiento están prohibidos. Luego pedir el punto de entrada de lanzamiento aprobado en una nueva sesión. Compare la respuesta a esa decisión exacta, y aún verifique el comando de liberación real por separado antes de cualquier mutación. Reinicio de ensayo y compactación como límites diferentes Un reinicio y /compact no ejercen el mismo camino. En una conversación reciente, Claude Code carga el conjunto de fuentes configurado para el tiempo de lanzamiento y la parte visible de la memoria automática. La memoria automática es local de máquina, aunque las versiones actuales de Claude Code comparten la misma configuración de proyecto y directorio de memoria automática en árboles de trabajo de un repositorio Git. Por lo tanto, una prueba exitosa en un árbol de trabajo no demuestra la sincronización con otra máquina o entorno en la nube. Después de /compact , se vuelve a leer y se inyecta de nuevo el CLAUDE.md de raíz de proyecto. Los archivos CLAUDE.md anidados no se reinjectan automáticamente; regresan cuando Claude lee más tarde un archivo en su subdirectorio. Esto crea una ventana estrecha pero real de incertidumbre. Si una regla de componente crítico vive solo en un archivo en un nido, una respuesta inmediatamente después de la compactación puede ser plausible antes de que esa regla se haya vuelto a cargar. Utilice un protocolo de dos partes: Fronteras Configuración Canarias Condición del pase Reinicio Terminar la sesión, comenzar desde el mismo repositorio y directorio de trabajo Pida una decisión crítica a nivel raíz Las fuentes esperadas aparecen en /context ; la respuesta coincide con la decisión Compacción Ingrese el subárbol correspondiente, confirme su fuente anidada, y luego ejecute /compact Pregunte una vez antes y una vez después de volver a abrir un archivo correspondiente La respuesta después de la lectura coincide; la evidencia de carga registra de nuevo la fuente anidada Árbol de trabajo Se ejecuta desde dos árboles de trabajo del mismo repositorio Inspeccionar el camino de memoria automática y una decisión compartida Ambos resuelven la misma memoria de proyecto, sin reclamo de sincronización entre máquinas Indice de tamaño excesivo Colocar un canario inofensivo más allá del límite de inicio documentado en un dispositivo de prueba Comience una nueva conversación sin abrir un archivo de tema El canario debe ser tratado como no disponible, lo que demuestra que la auditoría detecta una cobertura parcial No coloque un secreto real, un registro de clientes, una solicitud privada o una credencial de producción en un canario. La pregunta debe depender de una decisión operativa inofensiva cuya respuesta esperada pueda compararse exactamente. El compromiso es que más instrumentación puede convertirse en más contexto. InstructionsLoaded eventos y manifestos de archivos son pruebas compactas; copiar archivos de instrucciones enteros en registros no lo es. Prefiere caminos, hashes, tipo de fuente, razón de carga, frescura y un resultado canario limitado. Mantenga contenido con el anfitrión. Utilice un veredicto operativo . Utilice estos estados en lugar de una sola casilla de verificación memoria trabaja: Saludable: las fuentes esperadas están intactas y cargadas, el canario sobrevive al límite probado y se verifica el resultado de la tarea resultante. Esperación: una aprobación de importación externa o una decisión humana está legítimamente pendiente. Partial: el índice de memoria automática cruza un límite de inicio, o una fuente anida no se ha recargado después de la compactación. Drifted: un hash de origen cambiado sin una actualización de decisión revisada. Conflict: dos fuentes cargadas prescriben un comportamiento incompatible. Incerta: archivo evidencia y comportamiento en vivo no coinciden, o la evidencia de inclusión no está disponible. La regla de funcionamiento es: Nunca repara la memoria de la prosa sola . Identifique primero la capa de evidencia que falta. Solo mueva una regla cuando su alcance es incorrecto. Recortar un índice sólo cuando la cobertura de inicio es parcial. Elimine una contradicción en lugar de añadir una copia más fuerte. Escala cuando el canario falla a pesar de las fuentes intactas y cargadas. El modelo de salud planeado de Sidewisp incluye la continuidad de memoria y contexto junto con la disponibilidad, las herramientas, la ejecución, el resultado y el costo. El límite útil aquí es el diagnóstico: una futura integración podría informar la frescura de la fuente, la cobertura parcial y la continuidad de la decisión sin subir contenido de memoria. No debe pretender que un hash de archivo sea un trabajo útil. Sidewisp se encuentra actualmente en versión preliminar privada. Su motor de monitoreo de producción y el adaptador Claude Code generalmente no se envían. El sitio público y el sistema de artículos están en vivo; únete a la vista previa si quieres este tipo de evidencia primero vista de salud alrededor de agentes que ya ejecutas. Fuentes: Documentación de memoria de código Claude, El cambio de código de Claude y Estado del producto Sidewisp.