MemoryLake
Volver a todos los artículos
Tutorial17 de septiembre de 2026·11 min de lectura

Cómo orientar el Auto-Compact de Claude Code hacia lo que realmente necesitas conservar (Guía 2026)

La mayoría de las personas conocen el auto-compact de la misma manera: una sesión larga, una línea de estado sobre la compactación y un Claude que después parece haber olvidado una restricción que estableciste hace una hora. La reacción habitual es iniciar una nueva sesión antes la próxima vez, lo que cambia un problema por otro.

La compactación no es una caja negra y se puede dirigir en dos dimensiones distintas. Puedes cambiar cuándo se activa (Anthropic documenta tres lugares para configurarlo, con un orden de prioridad definido entre ellos). Y puedes cambiar qué conserva, a través de una sección en CLAUDE.md, mediante un enfoque (focus) pasado a /compact y sabiendo qué categorías se vuelven a inyectar desde el disco en lugar de resumirse.

Casi nadie utiliza ninguno de los dos controles, porque el comportamiento predeterminado es tan silencioso que el mecanismo nunca se anuncia. Esta guía cubre ambos, además del único mensaje de error que te indica que la ventana no es tu problema.

¿Por qué una sesión compactada se siente como amnesia?

Anthropic describe el proceso sin eufemismos: Claude Code "elimina primero las salidas de herramientas más antiguas y luego resume la conversación si es necesario. Tus solicitudes y fragmentos de código clave se conservan; las instrucciones detalladas del principio de la conversación pueden perderse".

Esa última frase resume toda la experiencia. Un resumen tiene pérdidas en una dirección específica: mantiene la forma de lo que sucedió y descarta la precisión de lo que dijiste al principio. La restricción que mencionaste una vez en el minuto tres es exactamente el tipo de detalle que un resumen comprime, y no hay ninguna notificación que te diga qué se eliminó.

But no todo pasa por el resumidor. Anthropic publica una tabla por mecanismo de lo que sucede con cada tipo de contenido después de la compactación, y la columna interesante es la que nunca toca el resumen:

Prompt del sistema y estilo de salida: "Ambos se siguen aplicando". CLAUDE.md en la raíz del proyecto y reglas sin alcance (unscoped): "Se vuelven a inyectar desde el disco". Memoria automática (Auto memory): "Se vuelve a inyectar desde el disco". El plan que Claude escribió en modo plan: "Se vuelve a inyectar desde el disco". Reglas que llevan el frontmatter paths:: "Claude Code las vuelve a cargar a medida que Claude lee los archivos con los que coinciden". Archivos CLAUDE.md anidados en subdirectorios: "Claude Code los vuelve a cargar a medida que Claude lee los archivos en ese subdirectorio". Archivos que Claude leyó o editó: "Claude Code vuelve a leer hasta cinco, comenzando por el modificado más recientemente".

Lee esa lista como una instrucción de diseño, porque lo es. Todo lo que esté en el disco vuelve. Todo lo que existe solo porque lo escribiste en la conversación se resume. Anthropic expresa la conclusión con sus propias palabras unas líneas antes: "Coloca las reglas persistentes en CLAUDE.md en lugar de confiar en el historial de la conversación".

Esa es también la respuesta honesta a por qué un contexto largo no es lo mismo que la memoria, un punto que se generaliza mucho más allá de esta herramienta y que explicamos en por qué un contexto largo no es memoria.

Lo que la gente intenta en su lugar

Iniciar una nueva sesión antes de que se compacte. Esto funciona, pero descarta las partes de la conversación que querías conservar junto con las que no. También traslada el problema a la siguiente sesión, que comienza sin nada de ello; el problema de coordinación detrás de compartir contexto entre sesiones de Claude Code.

Desactivar la autocompactación. Está disponible y la consecuencia está documentada: "Con la autocompactación desactivada, las sesiones se detienen en el límite de 200K con el error de límite de contexto en lugar de compactarse". No has evitado el límite; has cambiado un resumen con pérdidas por una parada abrupta.

Elevar la ventana tanto como sea posible. También documentado y también limitado: "Establecer la ventana de auto-compact por encima de 200K no elimina la restricción, porque Claude Code limita esa ventana a la ventana de contexto del modelo". La ventana es una fracción de un límite real, no una forma de superarlo.

Asumir que el valor predeterminado es un solo número. Depende del modelo y del entorno. La línea base de Anthropic es que, sin una configuración, "Claude Code se compacta cuando la conversación alcanza el límite de contexto del modelo", con excepciones enumeradas para sesiones en la nube, para varios modelos que se compactan en el límite de 200K y para modelos con una ventana nativa de 1M, que "se compactan antes de que se llene la ventana, a unos 967K tokens por defecto".

Ejecutar /compact a ciegas. Mejor que nada, y mucho mejor con un enfoque (focus), que es el control que la mayoría de la gente nunca descubre.

Volver a pegar la restricción después de cada compactación. El truco temporal que revela la solución real: si una regla necesita volver a enunciarse después de un resumen, pertenecía al disco. El mismo instinto se aplica al historial de comandos por el que la gente sigue desplazándose hacia atrás, algo que analizamos en por qué Claude Code pierde tus comandos anteriores.

La solución: Configura el activador deliberadamente, luego dile al resumidor qué es lo importante

Dos controles, utilizados en este orden.

Paso 1: Coloca las reglas que deben sobrevivir en el disco, no en la conversación

Este es el paso de mayor impacto y no cuesta nada. Cualquier cosa en el CLAUDE.md de la raíz del proyecto y las reglas sin alcance se vuelven a inyectar desde el disco después de la compactación. La memoria automática (Auto memory) se vuelve a inyectar desde el disco. Un plan escrito en modo plan se vuelve a inyectar desde el disco. Las reglas con alcance de ruta se recargan cuando Claude lee un archivo coincidente, y los archivos CLAUDE.md anidados se recargan cuando Claude lee archivos en ese subdirectorio.

Así que la regla práctica es: si te encuentras diciendo algo dos veces en una sesión, es una línea para CLAUDE.md, no un mensaje. Eso lo convierte de algo que un resumen podría comprimir en algo que se recarga textualmente cada vez.

Luego, añade el control que habla directamente con el resumidor. Anthropic: "Para controlar lo que se conserva durante la compactación, añade una sección 'Compact Instructions' a CLAUDE.md o ejecuta /compact con un enfoque (como /compact focus on the API changes)". Una sección de Compact Instructions es una instrucción permanente para cada futura compactación en ese proyecto: tres o cuatro líneas que nombran lo que debe sobrevivir, escritas una sola vez.

Paso 2: Elige dónde configurar la ventana, sabiendo qué configuración tiene prioridad

Anthropic documenta tres lugares, y el orden de prioridad entre ellos es explícito.

Para esta sesión y las posteriores, ejecuta /autocompact con un valor. Claude Code "lo guarda en tu configuración de usuario como autoCompactWindow y lo aplica a la sesión actual", con una advertencia que vale la pena conocer antes de depurar: "si un ámbito de configuración de mayor prioridad, como la configuración administrada (managed settings), establece la clave, el comando guarda tu valor pero la sesión conserva la ventana de ese ámbito, y el comando lo indica". Ejecutar /autocompact auto vuelve a "la ventana ajustada para tu modelo".

Para un solo inicio, pasa la bandera --autocompact, que "anula tu configuración guardada para ese inicio sin cambiarla". La bandera tiene una propiedad que el comando no tiene: "A diferencia de /autocompact, la bandera no es anulada por un ámbito de configuración de mayor prioridad, como la configuración administrada".

Para scripts y entornos en la nube, establece la variable de entorno CLAUDE_CODE_AUTO_COMPACT_WINDOW. Esta se sitúa por encima de todo: "Mientras esté establecida, tiene prioridad sobre el comando, la bandera y la configuración, y /autocompact informa de la anulación en lugar de cambiar la ventana".

Tres palancas, un orden: variable de entorno sobre bandera sobre comando sobre configuración guardada, con la configuración administrada capaz de adelantarse al comando pero no a la bandera. Si tu ventana no es la que configuraste, esta lista es la secuencia de depuración.

Paso 3: Reconoce el error que significa que la ventana no es el problema

Un mensaje merece su propio paso, porque envía a la gente al control equivocado. Anthropic: "Si ves Autocompact is thrashing: the context refilled to the limit..., la compactación automática tuvo éxito pero un archivo o la salida de una herramienta volvió a llenar inmediatamente la ventana de contexto varias veces seguidas. Claude Code deja de intentarlo para evitar desperdiciar llamadas a la API en un bucle que no avanza".

El "thrashing" significa que la compactación funcionó y algo enorme volvió a entrar de inmediato. Elevar la ventana no ayuda; la solución es detener el rellenado. La sugerencia de Anthropic es una compactación enfocada que descarte el elemento problemático: "Ejecuta /compact con un enfoque que descarte la salida grande, por ejemplo /compact keep only the plan and the diff".

También hay un mensaje complementario que vale la pena reconocer: si /compact devuelve "Not enough messages to compact.", la conversación "tiene muy pocos turnos para resumir; eso puede suceder incluso con un contexto lleno cuando un solo pegado grande lo llenó". Mismo diagnóstico, diferente síntoma: el problema es un objeto, no la ventana.

Configuración de esto en MemoryLake

Cada paso anterior traslada un hecho de la conversación a algo más duradero, y CLAUDE.md es duradero exactamente en la medida de un repositorio en una máquina. MemoryLake es un almacén en el que tú mismo escribes los hechos más duraderos, independiente de cualquier sesión y legible desde cada asistente que conectes. Tú mismo escribes las entradas, con tus propias palabras. No se lee, escribe ni elimina nada de los sistemas de Anthropic ni del almacén de ningún otro proveedor; tus sesiones, transcripciones y archivos de reglas permanecen completamente bajo los propios controles de Claude Code.

Paso 1: Crea una clave API

Genera una clave desde el panel de control. Es lo que permite que esta sesión, la sesión posterior a la siguiente compactación y una sesión en un repositorio diferente accedan al mismo conjunto de hechos.

La consola de MemoryLake mostrando la pantalla de claves API, donde se crea y copia una nueva clave para su uso en un agente
La consola de MemoryLake mostrando la pantalla de claves API, donde se crea y copia una nueva clave para su uso en un agente

Paso 2: Sube tus primeras memorias

Comienza con las cosas que has vuelto a enunciar después de una compactación: la restricción, la decisión y su motivo, el enfoque ya descartado. Una docena de entradas cortas suele cubrir un proyecto. Escríbelas como afirmaciones con fechas, no como una narrativa.

El espacio de trabajo de MemoryLake con los primeros documentos subidos, enumerando cada archivo a medida que se convierte en memoria de búsqueda
El espacio de trabajo de MemoryLake con los primeros documentos subidos, enumerando cada archivo a medida que se convierte en memoria de búsqueda

Paso 3: Conecta tu IA y agentes

Apunta Claude Code a la capa para que esos hechos se carguen al inicio de una sesión en lugar de tener que sobrevivir a un resumen. Luego pruébalo de la manera que demuestra algo: compacta una sesión deliberadamente y pide que te devuelva uno de los hechos. Si responde, la compactación habrá dejado de ser lo que decide qué conservas.

La pantalla de integraciones de MemoryLake que enumera los clientes de IA y los frameworks de agentes que se pueden conectar a la capa de memoria
La pantalla de integraciones de MemoryLake que enumera los clientes de IA y los frameworks de agentes que se pueden conectar a la capa de memoria

Lo que esto cambia en la práctica

El primer cambio es que la compactación deja de sentirse aleatoria. Se activa en una ventana que puedes inspeccionar y configurar, resume la conversación mientras vuelve a inyectar archivos y te avisa cuando hay "thrashing". Esos son tres comportamientos distintos con tres respuestas distintas.

El segundo es que CLAUDE.md se utiliza correctamente. Una vez que tienes la tabla de reinyección frente a ti, el archivo deja de ser un lugar para trivialidades del proyecto y se convierte en la respuesta a "qué debe sobrevivir a un resumen", con una sección de Compact Instructions como canal directo al resumidor.

El tercero es que las sesiones largas vuelven a ser viables. El instinto de empezar de cero cada hora proviene de no confiar en la compactación; dirigirla es más barato que evitarla, y mantiene la continuidad que una sesión nueva descarta. Cuando una división realmente es la decisión correcta, esa es una operación diferente con reglas de herencia diferentes, que detallamos en lo que conlleva una sesión bifurcada de Claude Code.

El cuarto es que los mensajes de error se vuelven útiles. El "thrashing" y "Not enough messages to compact" apuntan a un objeto de tamaño excesivo en lugar de a tu configuración, y saber eso te ahorra una tarde ajustando el número equivocado. La cuestión más amplia de qué se le debe permitir descartar a una pasada de compactación es un tema que abordamos en otra herramienta en decidir qué sobrevive a una compactación.

Buenas prácticas para la compactación de Claude Code

Dilo dos veces, escríbelo. Cualquier cosa que repitas en una sesión pertenece a CLAUDE.md, donde se vuelve a inyectar desde el disco en lugar de resumirse.

Añade una sección Compact Instructions por proyecto. Es la versión permanente de /compact con un enfoque (focus), y se aplica a cada futura compactación.

Conoce el orden de prioridad antes de realizar ajustes. Variable de entorno, luego bandera de inicio, luego comando, luego configuración guardada; y la configuración administrada puede adelantarse al comando.

Usa /autocompact auto para volver a un estado sensato. Devuelve la sesión a la ventana ajustada para tu modelo en lugar de a un número que elegiste una vez.

Trata el "thrashing" como un problema de contenido. La compactación tuvo éxito; algo grande volvió a llenar la ventana. Descarta el objeto con una compactación enfocada.

Mantén los hechos entre sesiones fuera del repositorio. CLAUDE.md sobrevive a la compactación dentro de un proyecto; no viaja a otros proyectos ni a otras herramientas.

Conclusión

El auto-compact de Claude Code tiene dos controles y la mayoría de la gente no usa ninguno. El activador es la ventana de auto-compact, configurable a través de /autocompact, la bandera --autocompact o CLAUDE_CODE_AUTO_COMPACT_WINDOW, con una prioridad documentada entre ellos y un límite en la propia ventana de contexto del modelo. El contenido se define por lo que vive en el disco (las reglas del proyecto, la memoria automática, los planes en modo plan y las reglas con alcance de ruta se vuelven a inyectar) y por una sección Compact Instructions o un /compact enfocado.

Lo que se pierde lo indica claramente Anthropic: se conservan las solicitudes y los fragmentos de código clave, y "las instrucciones detalladas del principio de la conversación pueden perderse". Esa es la naturaleza de un resumen, no un defecto, y el propio consejo del proveedor es el correcto: coloca las reglas persistentes en un archivo en lugar de confiar en el historial de la conversación.

El paso más allá de eso es pequeño y vale la pena darlo. Un archivo sobrevive a la compactación dentro de un proyecto. Una decisión sobre la que seguirás actuando el próximo trimestre, en un repositorio diferente, con un asistente diferente, merece un lugar al que ningún límite de sesión pueda llegar jamás.

Preguntas frecuentes

¿Qué es la ventana de auto-compact en Claude Code?

Anthropic la define como "qué tan llena puede estar la ventana de contexto antes de que Claude Code compacte la conversación". Sin una configuración, Claude Code se compacta cuando la conversación alcanza el límite de contexto del modelo, con excepciones documentadas: las sesiones en la nube se compactan a medida que se acercan al límite, varios modelos se compactan en el límite de 200K y los modelos con una ventana nativa de 1M "se compactan antes de que se llene la ventana, a unos 967K tokens por defecto".

¿Dónde cambio cuándo se compacta Claude Code?

En tres lugares, en orden de prioridad ascendente: el comando /autocompact con un valor, que se guarda en autoCompactWindow; la bandera --autocompact para un inicio, que no es anulada por la configuración administrada; y la variable de entorno CLAUDE_CODE_AUTO_COMPACT_WINDOW, que "tiene prioridad sobre el comando, la bandera y la configuración".

¿Qué sobrevive a una compactación?

Cualquier cosa que se vuelva a inyectar desde el disco. La tabla de Anthropic enumera el CLAUDE.md de la raíz del proyecto y las reglas sin alcance, la memoria automática y el plan escrito en modo plan como "Se vuelven a inyectar desde el disco"; las reglas con alcance de ruta y los archivos CLAUDE.md anidados se recargan a medida que Claude lee los archivos coincidentes; y los archivos que Claude leyó o editó se vuelven a leer, "hasta cinco, comenzando por el modificado más recientemente". La conversación en sí se resume.

¿Cómo le digo a Claude Code qué conservar cuando se compacta?

De dos maneras, según Anthropic: "añade una sección 'Compact Instructions' a CLAUDE.md o ejecuta /compact con un enfoque (como /compact focus on the API changes)". La versión del archivo se aplica a cada futura compactación en ese proyecto; el enfoque se aplica a la que estás ejecutando ahora.

¿Qué significa "Autocompact is thrashing"?

Que la compactación funcionó y algo volvió a llenar la ventana de inmediato. Anthropic explica que "la compactación automática tuvo éxito pero un archivo o la salida de una herramienta volvió a llenar inmediatamente la ventana de contexto varias veces seguidas", y que Claude Code deja de intentarlo en lugar de entrar en bucle. La solución es una compactación enfocada que descarte la salida grande, no una ventana más grande.

¿Debería simplemente desactivar la autocompactación?

Solo si prefieres una parada abrupta en lugar de un resumen. Anthropic documenta el resultado: "Con la autocompactación desactivada, las sesiones se detienen en el límite de 200K con el error de límite de contexto en lugar de compactarse". Elevar la ventana en su lugar tiene un tope, ya que Claude Code la limita a la ventana de contexto del modelo.