Cada modelo tiene una ventana de contexto: el número máximo de tokens que puede procesar. Cuando una conversación se acerca a ese límite, OpenClaw compacta los mensajes anteriores en un resumen para que el chat pueda continuar.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Cómo funciona
- Los turnos anteriores de la conversación se resumen en una entrada compacta.
- El resumen se guarda en la transcripción de la sesión.
- Los mensajes recientes se mantienen intactos.
toolResult correspondientes. Si un punto de división cae dentro de un bloque de herramienta, OpenClaw mueve el límite para que el par permanezca junto y se conserve la cola actual sin resumir.
El historial completo de la conversación permanece en disco. Compaction solo cambia lo que el modelo ve en el siguiente turno.
Compaction automática
Compaction automática está activada de forma predeterminada. Se ejecuta cuando la sesión se acerca al límite de contexto, o cuando el modelo devuelve un error de desbordamiento de contexto (en cuyo caso OpenClaw compacta y reintenta). Verás:embedded run auto-compaction start/completeen los registros normales del Gateway.🧹 Auto-compaction completeen modo detallado./statusmostrando🧹 Compactions: <count>.
Antes de compactar, OpenClaw recuerda automáticamente al agente que guarde notas importantes en archivos de memoria. Esto evita la pérdida de contexto.
Firmas de desbordamiento reconocidas
Firmas de desbordamiento reconocidas
OpenClaw detecta el desbordamiento de contexto a partir de estos patrones de error de proveedor:
request_too_largecontext length exceededinput exceeds the maximum number of tokensinput token count exceeds the maximum number of input tokensinput is too long for the modelollama error: context length exceeded
Compaction manual
Escribe/compact en cualquier chat para forzar una Compaction. Agrega instrucciones para guiar el resumen:
agents.defaults.compaction.keepRecentTokens está configurado, la Compaction manual respeta ese punto de corte de Pi y mantiene la cola reciente en el contexto reconstruido. Sin un presupuesto explícito de conservación, la Compaction manual se comporta como un punto de control estricto y continúa solo desde el nuevo resumen.
Configuración
Configura Compaction bajoagents.defaults.compaction en tu openclaw.json. Los controles más comunes se enumeran a continuación; para ver la referencia completa, consulta Análisis detallado de la gestión de sesiones.
Usar un modelo diferente
De forma predeterminada, Compaction usa el modelo principal del agente. Configuraagents.defaults.compaction.model para delegar el resumen a un modelo más capaz o especializado. La anulación acepta cualquier cadena provider/model-id:
agents.defaults.compaction.model permanece exacta y no hereda la cadena de respaldo de la sesión.
Conservación de identificadores
El resumen de Compaction conserva identificadores opacos de forma predeterminada (identifierPolicy: "strict"). Anula con identifierPolicy: "off" para deshabilitarlo, o identifierPolicy: "custom" más identifierInstructions para orientación personalizada.
Guarda de bytes de transcripción activa
Cuandoagents.defaults.compaction.maxActiveTranscriptBytes está configurado, OpenClaw desencadena la Compaction local normal antes de una ejecución si el JSONL activo alcanza ese tamaño. Esto resulta útil para sesiones de larga duración en las que la gestión de contexto del lado del proveedor puede mantener saludable el contexto del modelo mientras la transcripción local sigue creciendo. No divide bytes JSONL sin procesar; pide a la canalización normal de Compaction que cree un resumen semántico.
Transcripciones sucesoras
Cuandoagents.defaults.compaction.truncateAfterCompaction está habilitado, OpenClaw no reescribe la transcripción existente en el mismo archivo. Crea una nueva transcripción sucesora activa a partir del resumen de Compaction, el estado conservado y la cola sin resumir, y luego mantiene el JSONL anterior como origen archivado del punto de control.
Las transcripciones sucesoras también descartan turnos largos de usuario duplicados exactos que llegan
dentro de una ventana corta de reintento, para que las tormentas de reintentos del canal no se transfieran a la
siguiente transcripción activa después de Compaction.
Los puntos de control previos a Compaction se conservan solo mientras permanezcan por debajo del
límite de tamaño de punto de control de OpenClaw; las transcripciones activas sobredimensionadas aún se compactan, pero OpenClaw
omite la gran instantánea de depuración en lugar de duplicar el uso de disco.
Avisos de Compaction
De forma predeterminada, Compaction se ejecuta de forma silenciosa. ConfiguranotifyUser para mostrar mensajes breves de estado cuando Compaction comienza y finaliza:
Vaciado de memoria
Antes de Compaction, OpenClaw puede ejecutar un turno de vaciado silencioso de memoria para almacenar notas duraderas en disco. Configuraagents.defaults.compaction.memoryFlush.model cuando este turno de mantenimiento deba usar un modelo local en lugar del modelo de conversación activo:
Proveedores de Compaction conectables
Los plugins pueden registrar un proveedor de Compaction personalizado medianteregisterCompactionProvider() en la API del plugin. Cuando un proveedor está registrado y configurado, OpenClaw le delega el resumen en lugar de usar la canalización LLM integrada.
Para usar un proveedor registrado, configura su id en tu configuración:
provider fuerza automáticamente mode: "safeguard". Los proveedores reciben las mismas instrucciones de Compaction y la misma política de conservación de identificadores que la ruta integrada, y OpenClaw sigue conservando el contexto de sufijo de turnos recientes y turnos divididos después de la salida del proveedor.
Si el proveedor falla o devuelve un resultado vacío, OpenClaw recurre al resumen LLM integrado.
Compaction frente a poda
| Compaction | Poda | |
|---|---|---|
| Qué hace | Resume la conversación anterior | Recorta resultados antiguos de herramientas |
| ¿Guardado? | Sí (en la transcripción de la sesión) | No (solo en memoria, por solicitud) |
| Alcance | Toda la conversación | Solo resultados de herramientas |
Solución de problemas
¿Se compacta con demasiada frecuencia? La ventana de contexto del modelo puede ser pequeña, o las salidas de herramientas pueden ser grandes. Prueba a habilitar la poda de sesión. ¿El contexto se siente obsoleto después de Compaction? Usa/compact Focus on <topic> para guiar el resumen, o habilita el vaciado de memoria para que las notas sobrevivan.
¿Necesitas empezar de cero? /new inicia una sesión nueva sin compactar.
Para configuración avanzada (tokens reservados, conservación de identificadores, motores de contexto personalizados, Compaction del lado del servidor de OpenAI), consulta el Análisis detallado de la gestión de sesiones.
Relacionado
- Sesión: gestión y ciclo de vida de la sesión.
- Poda de sesión: recorte de resultados de herramientas.
- Contexto: cómo se construye el contexto para los turnos del agente.
- Hooks: hooks del ciclo de vida de Compaction (
before_compaction,after_compaction).