Saltar al contenido principal

Contexto demasiado largo en OpenClaw: recuperar la tarea si falla la compactación

Ante context length exceeded, conserva el trabajo realizado y comprueba la ventana efectiva del modelo. Compacta si domina el historial; si falla el resumen, reduce la entrada o continúa en una sesión nueva con el estado verificado y la petición pendiente.

LaoZhang AI TeamPublicado14 min de lectura
En esta página
Ilustración de un contexto de OpenClaw lleno, los resultados guardados y una petición pendiente que continúa en otra ventana

Si OpenClaw devuelve context length exceeded, guarda primero el trabajo ya realizado y la petición que aún no ha respondido. Después identifica qué no cabe: el historial, una salida de herramienta, las instrucciones fijas o la ventana efectiva del modelo. Si domina el historial y tu modo de ejecución admite la operación, /compact puede liberar espacio. Si la compactación también falla, no repitas indefinidamente la misma entrada: reduce el material que debe leer el modelo o abre una sesión nueva con un estado de trabajo breve y comprobado.

La recuperación solo está completa cuando el agente responde a la petición pendiente y conserva los resultados necesarios para continuar. Que desaparezca el error, aumente el contador de compactaciones o responda «listo» no demuestra que una acción anterior se haya completado.

Los mecanismos descritos corresponden a la documentación de OpenClaw consultada el 4 y el 5 de octubre de 2026. Son procedimientos documentados y ejemplos de diagnóstico; no se ha reproducido este fallo con una instalación local ni se han enviado llamadas de pago para esta guía.

Guarda el estado antes de compactar, cancelar o abrir otro chat

Comprueba los resultados fuera de la respuesta del agente: archivos escritos, cambios guardados, identificadores de operaciones y respuestas de las herramientas. Una acción puede haber terminado antes de que falle la siguiente llamada al modelo. Repetirla sin comprobarlo puede crear un segundo envío o sobrescribir un resultado válido.

En el modo de ejecución integrado de OpenClaw, la recuperación de un desbordamiento después de herramientas ya finalizadas puede continuar desde sus resultados registrados sin volver a ejecutar esas acciones. Requiere que las herramientas hayan terminado; las pendientes, las aprobaciones y las cancelaciones siguen su tratamiento habitual. Cancelar detiene la continuación, pero no deshace las acciones ni una compactación ya aceptada. Véase la recuperación automática de OpenClaw.

Si el agente ya no puede responder, redacta tú el estado a partir de lo que puedas verificar. No dependas de una nueva llamada al modelo para salvar el único registro disponible. Puedes usar esta nota como guía; sustituye todos los ejemplos y elimina lo que no corresponda:

Objetivo: terminar el informe de ventas de septiembre.
Completado y comprobado: exportado ventas-septiembre.csv;
el archivo existe y contiene las columnas esperadas.
Pendiente: calcular el total por región y redactar la explicación.
Última petición sin respuesta: «Comprueba las devoluciones antes de sumar».
Decisiones que deben conservarse: excluir pedidos cancelados;
moneda EUR; no enviar el informe hasta mi aprobación.
Fuentes necesarias: ventas-septiembre.csv y política-devoluciones.md.
Acciones con efectos externos: exportación terminada; ningún envío confirmado.
Próximo paso: leer solo las columnas necesarias y comprobar las devoluciones.

Conserva la nota en un archivo que controles y guarda una copia de los resultados importantes. Una memoria persistente o un resumen pueden ayudar, pero no sustituyen esta comprobación: el modelo podría haber omitido un dato o confundir una intención con una acción realizada.

Distingue un desbordamiento de una compactación fallida

request_too_large, context length exceeded, input is too long for the model y variantes equivalentes indican presión sobre la entrada del modelo. Compaction failed identifica un fallo al preparar el resumen o la sustitución del contexto; el motivo concreto debe buscarse en los registros.

En la conversación afectada, consulta estos comandos por separado:

/status
/context list
/context detail

/status muestra el estado y los contadores de la sesión. /context list permite ver los archivos inyectados y sus tamaños aproximados; /context detail desglosa instrucciones, herramientas y conversación. Si necesitas los datos estructurados, utiliza /context json. /context map requiere un informe de ejecución previo y puede no estar disponible antes de la primera respuesta. Son los diagnósticos de contexto documentados.

Lo que encuentrasQué comprobar a continuaciónAcción que puede resolverlo
El chat era largo y el error aparece sin un archivo nuevo enormeHistorial y resúmenes activosCompactar y verificar la petición pendiente
El fallo llega justo después de leer un archivo o ejecutar una herramientaTamaño de esa salida y resultados ya terminadosConsultar un fragmento, columnas concretas o un resultado filtrado
Una sesión recién abierta también fallaInstrucciones fijas, esquemas de herramientas, entrada inicial y límite efectivoReducir material prescindible o preparar una ventana que realmente lo admita
Falla la llamada que genera el resumenError del proveedor, modelo del resumen, plazo o validaciónCorregir ese motivo; no tratar todos los fallos como falta de contexto
El modelo anunciado tiene una ventana mayor que la usadaModelo y cuenta de ese intento; instancia local cargadaAlinear configuración y capacidad efectiva

Consulta también los registros del Gateway desde su equipo:

bash
openclaw logs --follow

Anota la hora del error, el agente, el modelo de la petición rechazada y el resultado de la compactación. Si aparece una cadena de intentos, identifica dónde surge cada error. Un 429 anterior no demuestra un desbordamiento: podría haber activado una alternativa con otra ventana, pero esa relación debe confirmarse en los intentos reales. El respaldo es temporal para ese turno y puede diferir del modelo seleccionado que ves en la sesión, según la conmutación por error actual.

Calcula el presupuesto con la ventana que se está usando

Esquema del presupuesto de contexto compartido por instrucciones, herramientas, historial y petición pendiente, con una salida que excede el espacio disponible

La ventana incluye instrucciones del sistema, archivos de trabajo inyectados, esquemas de herramientas, historial, resultados y adjuntos. También hace falta margen para producir la respuesta y mantener la sesión. El texto visible del chat representa solo una parte de esa entrada.

El indicador Prompt budget (last run) de la interfaz es una estimación del presupuesto de la última ejecución que coincida con el modelo y el límite efectivos actuales. Tras cambiar de modelo o de límite, puede pasar a mostrar Context window hasta recibir otro informe. Un contador antiguo no demuestra que la siguiente petición vaya a caber. La explicación oficial del indicador distingue estos casos.

Para entender el margen, considera el ejemplo documentado de una ventana de 32.768 tokens. La reserva interna de 20.000 tokens se limita a una cuarta parte de esa ventana, por lo que en este caso es 8.192. Con el margen de memoria predeterminado de 4.000 tokens:

  • Umbral de compactación por tokens: 32.768 − 8.192 = 24.576.
  • Inicio anticipado del guardado de memoria: 24.576 − 4.000 = 20.576.

Son los valores del ejemplo oficial de mantenimiento, no una medición de tu conversación. Un umbral de servidor aplicable puede retrasar la compactación. Además, las instrucciones y herramientas consumen parte del presupuesto de entrada: 24.576 no significa que puedas pegar esa cantidad de tokens nuevos.

Una estimación ilustrativa permite localizar el problema: si dentro de ese presupuesto ya hay 7.000 tokens de instrucciones y herramientas, 9.000 de historial y 2.000 de entrada pendiente, quedan unos 6.576 para el resto. Una salida nueva estimada en 10.000 lo rebasaría. Este cálculo aproxima la presión; los informes reales del proveedor y del modelo siguen siendo necesarios. Tampoco equivale a una factura: los tokens acumulados, los de caché y el contexto activo tienen funciones diferentes.

Un modelo puede anunciar 128K y estar cargado con una ventana menor. En LM Studio, el contexto de la instancia cargada prevalece sobre el máximo anunciado. El precargado puede preparar una instancia para el presupuesto seleccionado; si delegas la carga en JIT, debes comprobar qué instancia está sirviendo la petición. Cambiar contextWindow en OpenClaw no demuestra que el servidor haya recargado los pesos con esa capacidad. Así lo explica la documentación de instancias de LM Studio.

Si necesitas volver a conectar el servidor o seleccionar el identificador correcto, consulta la configuración de LM Studio y modelos de OpenClaw. Para este fallo, el resultado buscado es que configuración, instancia cargada y petición rechazada correspondan al mismo presupuesto. Si tu equipo no puede sostenerlo, reduce la entrada o elige un modelo y un acceso cuya ventana efectiva sí admita la tarea.

Recupera un historial largo con una compactación verificable

Cuando el historial sea el principal componente y hayas conservado el estado, ejecuta /compact en la conversación afectada. En el modo integrado puedes orientar el resumen hacia lo que necesita la tarea:

/compact Conserva la solicitud pendiente, los resultados ya comprobados,
las decisiones, las rutas de archivos y las acciones que no deben repetirse.

El comando resume el historial antiguo y conserva una parte reciente sin resumir. El corte mantiene juntas las llamadas a herramientas y sus resultados. La orientación anterior sirve para indicar qué necesitas conservar; no garantiza un resumen sin pérdidas.

La compactación manual depende del modo de ejecución. En sesiones nativas de Codex que admitan la operación, utiliza /compact sin instrucciones: no se transmiten indicaciones adicionales. La documentación actual señala que las sesiones nativas que usan Sign in with ChatGPT admiten compactación automática, pero no /compact manual. Comprueba el modo seleccionado antes de repetir un comando que no admite. Véase compactación manual.

Tras una compactación aceptada:

  1. Consulta /status y busca una compactación completada, no solo una estimación que aconseje compactar.
  2. Comprueba que se mantienen el objetivo, la última petición pendiente y los identificadores esenciales.
  3. Pide que continúe solo el siguiente paso pendiente, con una entrada breve. Indica qué acciones terminadas no debe repetir.
  4. Verifica el resultado de ese paso en el archivo, herramienta o servicio correspondiente.

El historial completo permanece almacenado, aunque el modelo vea un resumen y la parte reciente. Cuando falte un dato temprano, recupera el fragmento preciso del historial o del archivo original; pegar toda la conversación vuelve a crear la presión que acabas de reducir. Este comportamiento se describe en cómo funciona la compactación.

Si aparece Compaction failed, corrige el fallo del resumen

La compactación también necesita una petición que quepa y un modelo que responda. Antes de ampliar parámetros, identifica si falló por entrada demasiado grande, autenticación, límite de uso, falta de progreso o un resumen que no superó las comprobaciones.

Fallo del resumenQué hacerCuándo detener esa vía
El resumidor rechaza la entrada por tamañoReducir el material pendiente o usar un modelo de resumen cuya capacidad real lo admitaLa misma entrada sigue sin caber tras comprobar los límites
Devuelve 401Corregir la cuenta o credencial del proveedor que genera el resumenEl acceso aún no está confirmado; repetir no renueva credenciales
Devuelve un límite de uso o disponibilidadSeguir la recuperación de ese proveedor o seleccionar un acceso disponibleHay un límite terminal o no existe una alternativa preparada
No produce progreso y agota el plazoRevisar respuesta y disponibilidad del resumidorEl turno ha sido cancelado o terminado; no esperar una recuperación posterior
El resumen no conserva lo exigido por la validaciónMantener el historial original y continuar con un estado comprobado más pequeñoNo hay un resumen aceptable; desactivar la comprobación no recupera los datos perdidos

Un error de autenticación tiene su propio diagnóstico: la guía del 401 de OpenClaw distingue el acceso al Gateway, al proveedor y a la CLI. Asegúrate de revisar el proveedor del resumen, que puede ser diferente del usado para responder.

Un resumidor más grande no amplía el modelo de la conversación

agents.defaults.compaction.model permite seleccionar otro modelo para generar los resúmenes. Puede ayudar cuando el resumidor actual no admite la entrada o no está disponible, siempre que el sustituto esté configurado y sea accesible. La respuesta posterior sigue limitada por la ventana del modelo de la conversación. El contexto reconstruido, sus instrucciones fijas y la petición pendiente deben caber en ella. Un modelo de resumen con más capacidad no cambia ese límite, según la documentación de compactación manual y presupuestos.

Antes de editar, inspecciona la configuración activa:

bash
openclaw config file
openclaw config get 'agents.defaults.compaction'
openclaw config schema

Consulta los campos aceptados por tu versión y modifica únicamente el ajuste relacionado con el fallo. Después utiliza openclaw config validate y sigue la indicación de recarga o reinicio que devuelva la herramienta. La validación comprueba la configuración, sin arrancar el Gateway; no prueba que el proveedor vaya a admitir la petición. Estos alcances se explican en la referencia de configuración CLI.

Un timeout automático puede continuar sin un resumen nuevo

Hay una excepción concreta en el modo integrado actual: si el resumen de una compactación automática agota su plazo o recibe HTTP 408 o 504 mientras el turno sigue activo, OpenClaw puede aceptar la compactación sin resumen nuevo. Conserva la parte reciente, las parejas de herramientas completas, la petición pendiente y el resumen anterior. Los registros incluyen reason=timeout summary=deterministic.

Esto permite continuar, pero los hechos antiguos que nunca se resumieron pueden dejar de estar disponibles para el modelo. El historial sigue almacenado para consultarlo expresamente. No atribuyas esta garantía a /compact manual, a cualquier error del resumidor ni a un turno cancelado: esas situaciones siguen notificando el fallo. La excepción de timeout automático documenta esos límites.

El valor predeterminado actual timeoutSeconds: 180 mide una ventana sin progreso: los tokens de salida renuevan el plazo. La compactación completa tiene un máximo de diez ventanas, treinta minutos con ese valor. No es un límite rígido de tres minutos para todas las operaciones. Consulta las definiciones actuales de configuración antes de copiar un ejemplo antiguo.

Abre una sesión nueva si la recuperación sigue bloqueada

Diagrama para conservar resultados, identificar qué entrada no cabe y continuar el paso pendiente sin repetir acciones terminadas

Si no puedes obtener una compactación útil, /new o /reset permiten empezar otra sesión. Antes, conserva la nota de estado y verifica si había herramientas o acciones aún pendientes. Si necesitas detener la ejecución anterior, espera a que se confirme su cancelación antes de pedir que repita trabajo.

En el nuevo chat, proporciona la nota breve, las rutas de los archivos necesarios y la petición aún sin resolver. Pide al agente que compruebe el estado existente y realice solo el próximo paso. Introduce los documentos por fragmentos o consultas concretas; evita volver a adjuntar todos los registros.

Ambos comandos son formas de reinicio manual de sesión en la documentación de sesiones. No debes interpretar /reset como una orden de borrar toda la memoria persistente. Una sesión nueva sigue recibiendo las instrucciones y herramientas configuradas; por eso puede volver a desbordarse si ese contenido fijo más la primera petición ya supera el presupuesto.

La comprobación final tiene dos partes: el modelo acepta la entrada y completa el paso pendiente; además, los resultados anteriores siguen presentes y no se han duplicado acciones. Si hasta una petición breve en una sesión nueva falla, detén los reintentos del historial y revisa la capacidad efectiva y el contenido fijo. Si el error ha cambiado a conexión, autenticación o límite de uso, continúa con el diagnóstico de ese error.

Evita que las herramientas llenen otra vez la ventana

Reduce la entrada en el origen cuando puedas: busca primero las líneas relevantes, lee rangos de un archivo y solicita columnas o resultados filtrados. Mantén el resultado completo en disco y transmite al modelo el fragmento que necesita para decidir. No elimines instrucciones de seguridad o de trabajo para ganar espacio sin haber identificado qué consume el presupuesto.

La poda de sesión elimina del contexto activo contenido de resultados antiguos de herramientas; la compactación resume conversación. No son intercambiables. La poda normal no recorta mensajes ordinarios del chat ni crea por sí sola un resumen del objetivo.

Su funcionamiento depende del acceso usado. Las peticiones directas a Anthropic con clave API y endpoint admitido utilizan limpieza del lado del servidor; otros accesos compatibles pueden usar poda local condicionada por el tiempo de caché y el tamaño. El complemento de Anthropic puede configurar valores iniciales; otros proveedores mantienen la poda desactivada si no la configuras. No presupongas que se activa para todos los modelos ni que siempre ahorra la misma cantidad. La referencia actual de poda identifica esas condiciones.

Qué ajustes conviene distinguir

Ajuste actualFunciónLo que no representa
agents.defaults.compaction.keepRecentTokensPresupuesto para conservar la parte reciente; valor predeterminado de 20.000 tokensUna ampliación de la ventana ni una cantidad garantizada en toda compactación automática
agents.defaults.compaction.memoryFlush.softThresholdTokensMargen anticipado para guardar memoria antes del umbral de compactación; 4.000 tokens por defectoLímite de búsqueda de memoria o máximo de entrada; no pertenece a memorySearch
agents.defaults.compaction.maxActiveTranscriptBytesActiva una comprobación por tamaño del historial con un valor positivoUn ajuste activo por defecto; está desactivado si se omite o vale 0
agents.defaults.contextPruning.modePermite activar cache-ttl para accesos compatiblesUna limpieza universal de conversación o memoria persistente

Los valores y alcances proceden de la configuración de compactación, el guardado de memoria y la poda de sesión. El guardado de memoria y la compactación son operaciones distintas: desactivar memoryFlush no desactiva la compactación.

No copies una reserva fija de 40.000 tokens o una receta con reserveTokensFloor suponiendo que sirve para cualquier versión y ventana. La reserva integrada actual se ajusta a la ventana, y la configuración instalada es la que determina qué campos acepta. Tampoco confundas los 20.000 caracteres por archivo y 60.000 caracteres totales del contenido inicial, documentados en Context, con tokens exactos disponibles para conversar.

La documentación traducida puede describir otro mecanismo

La página oficial en español sobre compactación consultada el 5 de octubre conserva explicaciones de checkpoints y de poda únicamente en memoria, además de una descripción amplia del comando manual. Para operar, contrasta esos pasajes con tu versión y con las referencias específicas actuales.

La referencia actual indica que el compactador integrado de SQLite mantiene la identidad de sesión y ya no crea snapshots o metadatos de checkpoints de compactación; no ofrece su antiguo recorrido, restauración o ramificación. Eso no borra el historial previo. Véase comportamiento y ajustes actuales. Por su parte, la poda local actual guarda una proyección recuperable mediante un marcador del historial y conserva los resultados originales; reiniciar el Gateway no garantiza deshacerla. Desactivarla detiene nuevas rondas, mientras las proyecciones ya existentes pueden continuar hasta compactar o reiniciar la sesión, según la referencia de poda.

Preguntas frecuentes

¿Reiniciar el Gateway soluciona context length exceeded?

No amplía la ventana ni reduce por sí mismo la entrada que debe procesar el modelo. Si la siguiente petición reconstruye el mismo contexto demasiado grande, puede volver a fallar. Identifica primero el componente que no cabe y conserva las acciones terminadas antes de interrumpir una ejecución.

¿La compactación borra los archivos o la memoria?

En el mecanismo integrado, cambia el historial activo que recibe el modelo y conserva la conversación completa almacenada. Los archivos del trabajo y la memoria persistente son objetos diferentes. Un resumen puede omitir detalles, así que verifica los datos esenciales y recupera del original los que necesites. Véase cómo funciona la compactación.

¿Por qué falla un chat nuevo con muy pocos mensajes?

Porque también cuentan las instrucciones, los archivos inyectados, los esquemas de herramientas y la primera petición. Otra posibilidad es que el servidor local esté sirviendo una instancia con menos contexto del anunciado. Consulta /context detail y contrasta la ventana efectiva con el modelo del intento rechazado; la documentación de contexto enumera esos componentes.

¿Puedo continuar si el resumen automático agotó el tiempo?

Sí, en la excepción documentada del modo integrado para plazo agotado o HTTP 408/504 con un turno todavía activo. Antes de continuar, comprueba la petición pendiente y recupera los datos antiguos importantes: puede conservarse la parte reciente sin un resumen nuevo. No se aplica del mismo modo al comando manual ni a una cancelación. Véase timeout de compactación automática.

Ilustración de un Gateway de OpenClaw conectado a modelos locales y API en la nube, con selección de proveedor, cuenta y modelo
Herramientas y agentes

Configurar los modelos de OpenClaw: API, Ollama y LM Studio

Para configurar un modelo en OpenClaw, conecta el proveedor desde el equipo del Gateway y selecciona una referencia disponible de tipo proveedor/modelo. Una respuesta breve comprueba la conexión; una lectura de archivo con una herramienta comprueba que el agente puede trabajar.

13 min
Ilustración del rechazo de una beta en una petición de OpenClaw y de la conservación de funciones compatibles
Resolución de problemas

OpenClaw: cómo corregir el error invalid beta flag

El error invalid beta flag exige identificar qué función se solicita y qué servicio la rechaza. Corrige su origen y verifica una respuesta completa por la misma conexión.

9 min