Перейти к основному содержанию

OpenClaw context_length_exceeded: как восстановить работу и сжать контекст

Если OpenClaw упирается в context_length_exceeded, сначала сохраните выполненную работу и незавершённый запрос. Затем проверьте фактическое окно модели: сжатие помогает с историей, а большой новый ввод или слишком маленький локальный контекст требуют другого действия.

LaoZhang AI TeamОпубликованоОбновлено 12 мин чтения
Содержание
Состав контекста OpenClaw и восстановление работы после переполнения

Ошибка context_length_exceeded в OpenClaw означает, что модель отказалась принять слишком большой контекст. Сначала сохраните состояние задачи и результаты уже выполненных действий, затем уменьшайте запрос. Если основное место занимает старая история, поможет /compact в поддерживаемой среде. Если переполнение вызывает большой новый файл, постоянные инструкции или маленькое окно фактически загруженной модели, одного сжатия истории недостаточно.

При неудачном сжатии не нужно автоматически начинать задачу заново. Проверьте, что именно отказало: основной запрос или отдельный запрос, который должен составить резюме. Работу можно продолжить из сохранённых результатов, а при необходимости — в новой сессии с короткой передачей состояния. Ниже приведены действия по текущей документации OpenClaw, проверенной 4–5 октября 2026 года; это не отчёт о восстановлении конкретной установки.

Сохраните работу до повторного запроса

Переполнение может произойти после того, как инструмент уже изменил файл, отправил сообщение или завершил другую операцию. Отказ модели на следующем шаге не отменяет эти действия. Поэтому команда «повтори всё» способна создать дубликаты или затереть результат.

Остановите запуск, который продолжает безрезультатные попытки, и сохраните доступные материалы вне переполненного диалога: нужные файлы, вывод завершённых команд и исходный запрос пользователя. Если агент ещё отвечает, попросите его записать состояние в файл. Если не отвечает, составьте запись по истории и фактическим результатам самостоятельно. Сохранить стоит:

  • Точную цель и оставшийся запрос. Не только тему разговора, но и то, что пользователь ещё ждёт.
  • Выполненные действия. Какие файлы изменены, какие результаты получены, какие проверки прошли.
  • Действия с внешним эффектом. Было ли уже что-то отправлено, оплачено, опубликовано; сохраните доступные идентификаторы результата.
  • Неопределённость. Что запущено, но не проверено, где действие могло выполниться без полученного подтверждения.
  • Следующий безопасный шаг. Что прочитать или проверить перед новым изменением.

Например, для задачи с кодом короткая запись может выглядеть так. Это образец передачи состояния, а не описание реального запуска:

Цель: исправить импорт CSV и подготовить итог проверки.
Уже сделано: изменён src/import-csv.ts; добавлена обработка пустой строки.
Проверено: сохранённый лог tests/import-csv.log показывает успешный тест.
Не выполнено: проверить CSV с кавычками и сообщить результат пользователю.
Файлы: src/import-csv.ts, fixtures/quoted.csv, tests/import-csv.log.
Не повторять: исходное изменение уже внесено; сначала прочитать текущий файл.
Следующий шаг: проверить quoted.csv и сравнить результат с ожидаемым.

Не добавляйте сюда полный лог, весь исходный код и прошлую переписку: это снова заполнит окно. Укажите реальные пути и нужные фрагменты. Секреты и личные данные не включайте в диагностический отчёт.

Встроенный механизм OpenClaw умеет восстанавливаться после переполнения с уже записанными результатами инструментов и не повторять завершённые действия. Для этого результаты должны быть завершены и зафиксированы; ожидающие инструменты, подтверждения и отменённый запуск имеют другую обработку. Отмена останавливает дальнейшее восстановление, но не откатывает уже выполненное действие или уже сохранённое сжатие. Условия встроенного восстановления.

Узнайте, какой запрос превысил лимит

Начните с диагностических команд в чате:

/status
/context list
/context detail

На машине, где работает Gateway, просмотрите журнал:

bash
openclaw logs --follow

Сопоставьте сообщения одного неудачного запуска: время, фактического провайдера и модель, полный текст отказа, доступные числа токенов и этап. Сохраните нужный фрагмент журнала, затем завершите просмотр. Для дальнейшей диагностики важна последовательность попыток, а не только последняя строка.

Что видно в журналеЧто проверитьСледующее действие
Основная модель сообщает context_length_exceeded, request_too_large или превышение входных токеновИсторию, новый ввод, вывод инструментов и реальное окно этого запросаУменьшить крупнейшую часть; при накопленной истории — сжать её
Отказ относится к summarization или compactionМодель сжатия, размер переданного ей текста, запас на резюме и саму ошибкуИсправить бюджет сжатия либо перенести сохранённое состояние в новую сессию
Сначала 429, затем попытка другой модели и отказ по длинеВсю цепочку: какой запрос получила резервная модель и какое у неё окноРазобрать ограничения каждой попытки отдельно
Ошибка возникает сразу в свежей сессииПостоянные инструкции, схемы инструментов, новые вложения и загруженный локальный контекстУменьшить постоянный или новый ввод, проверить сервер модели

429 сам по себе не доказывает переполнение контекста. Это другой отказ. Если после него использован резерв с меньшим окном, уже резервный запрос может оказаться слишком большим — такой вывод нужно подтвердить журналом. По текущей политике успешная резервная модель используется для данного хода и не обязательно становится выбранной моделью следующего. Явный выбор модели пользователем в сессии строгий; настроенная модель по умолчанию может иметь цепочку резервов. Поэтому название модели на экране нельзя автоматически считать моделью неудачной попытки. Политика переключения моделей.

Почему низкий процент в /status не исключает переполнение

Индикатор контекста использует оценку бюджета последнего подходящего запуска. После смены модели или ограничения окна старые счётчики могут не соответствовать новому запросу. Кроме того, следующий результат инструмента или вложение ещё не обязан входить в показанное число.

/context detail помогает найти крупные постоянные составляющие и размеры схем инструментов. При отсутствии сохранённого отчёта /context list, /context detail и /context json могут построить оценку по запросу. Карта /context map требует отчёта предыдущего запуска и без него может быть недоступна. Эти данные полезны для поиска причины; точный отказ провайдера относится к реально отправленной попытке. Как OpenClaw измеряет контекст.

Посчитайте бюджет всего контекста, а не последнего сообщения

В окно входят системные инструкции, схемы инструментов, подключённые файлы рабочего пространства, история, результаты инструментов и вложения. Даже короткое «продолжай» может отправиться вместе с большой историей. Сохранённая на диске память и текущий контекст — разные вещи: память занимает окно только в той части, которая действительно загружена в запрос. Состав контекста.

Постоянный ввод, история, новый ввод и запас на ответ внутри окна модели

Для первичной оценки удобно разделить запрос так:

Постоянный ввод + история + новый ввод + запас на ответ ≤ доступное окно

Это диагностическая оценка, а не точный токенизатор провайдера. Изображения, скрытые обёртки запроса и правила ограничения выхода могут изменить итог. Если провайдер сообщает размер отказавшего запроса, используйте его вместе с ограничениями конкретного API.

Предположим, у реально загруженной модели окно 32 768 токенов. Постоянный ввод занимает 9 000, история — 20 000, новый ввод — 2 000, а запланированный запас на ответ — 4 000. Общий бюджет составляет 35 000, то есть превышает окно на 2 232 токена. Если сжатие уменьшит историю до 10 000, сумма станет 25 000, а остаток — 7 768. Это расчёт на условных входных данных, а не измерение OpenClaw и не обещание такой степени сжатия.

Из него следует полезная проверка: сколько места останется, если старую историю вообще убрать? Если постоянные инструкции, новое вложение и необходимый запас уже не помещаются, повторное сжатие истории не устраняет причину. Разбейте большой ввод, сократите ненужную постоянную загрузку или выберите модель с подходящим реальным окном.

Запрос на составление резюме имеет собственный бюджет: в него входят текст для сжатия, инструкции суммаризатора и место для результата. Более крупная модель сжатия может помочь этому запросу, но не расширяет окно основной модели, которая затем продолжит задачу. Встроенное автоматическое сжатие учитывает подготовленные системные инструкции, схемы инструментов, ожидающий ввод и запас; ранняя проверка до полной сборки запроса не даёт такой же гарантии. Бюджет сжатия.

Если /compact работает: продолжите с проверкой состояния

В поддерживаемом чате отправьте /compact отдельным сообщением. Встроенная среда OpenClaw допускает уточнение того, что важно сохранить:

/compact Сохрани цель, незавершённый запрос, изменённые файлы, результаты проверок и действия, которые нельзя повторять.

Такое уточнение подходит встроенному механизму OpenClaw. Нативные среды могут поддерживать только команду без текста или только автоматическое сжатие; например, документация отдельно описывает ограничения нативных сессий Codex. Не переносите поддержку команды с одной среды на все остальные. Ручное сжатие и поддерживаемые среды.

При обычном встроенном сжатии старые сообщения заменяются резюме для будущих запросов, свежая часть сохраняется, а вызовы инструментов остаются вместе со своими результатами. Полная история остаётся на диске. Однако резюме не обязано содержать каждую подробность, а встроенный суммаризатор получает текст, не пиксели изображений. Критические детали лучше сохранить в доступном файле, а нужное изображение при необходимости прочитать заново.

После команды проверьте три вещи:

  1. Сжатие действительно завершилось. Ищите запись embedded run auto-compaction complete либо изменение счётчика Compactions в /status; одного сигнала «контекст близок к лимиту» недостаточно.
  2. Состояние задачи сохранилось. Сравните оставшийся запрос, пути и результаты с записью, сделанной до сжатия. При пропуске восстановите конкретную деталь из файла или истории.
  3. Работа продолжается с нужного места. Отправьте короткий следующий шаг, а не всю старую задачу. Убедитесь, что агент использовал уже выполненную работу и не повторил внешнюю операцию.

Успех — это завершённый следующий шаг с ожидаемым результатом. Уменьшившееся число токенов подтверждает освобождение места, но само по себе не подтверждает сохранение смысла задачи.

Если сжатие не помогает или заканчивается ошибкой

Сначала прочитайте ошибку именно сжатия. Увеличение тайм-аута не исправит запрос, который физически не помещается в окно; смена суммаризатора не исправит слишком большой новый ввод основного запроса.

Резюме не помещается или не проходит проверку

Проверьте размер переданной истории, окно модели сжатия, её доступность и необходимый выход. Если настроена отдельная agents.defaults.compaction.model, проверяйте эту модель: явная настройка точная и не наследует резервную цепочку основной сессии. При отсутствии отдельной настройки встроенное сжатие начинает с модели сессии; некоторые подходящие ошибки допускают переход по её резервной цепочке. Выбор модели сжатия.

Во встроенном режиме safeguard проверка качества сверяет сохраняемое резюме, в том числе незавершённые запросы и точные идентификаторы. Если допустимое резюме не получено, OpenClaw сохраняет исходную историю и сообщает о неудаче. Отключение проверки лишь ради зелёного статуса не восстанавливает пропущенные данные. Практический выход — исправить причину отказа или передать проверенное состояние в новую сессию. Текущие настройки сжатия.

Суммаризатор долго молчит или возвращает 408/504

В текущем встроенном механизме timeoutSeconds, по умолчанию 180 секунд, задаёт интервал без прогресса, а не обязательную максимальную длительность всего сжатия. Реальные потоковые токены обновляют этот интервал; полный процесс ограничен десятью такими интервалами — при значении по умолчанию это 30 минут. Прежде чем менять настройку, отличите отсутствие прогресса от медленного, но продолжающегося ответа. Правила тайм-аута.

Для автоматического сжатия активного хода есть специальное поведение при истечении срока резюме или HTTP 408/504: OpenClaw продолжает без нового резюме, сохраняя свежую часть, ожидающий запрос и предыдущее резюме. Журнал содержит [compaction-diag] fallback ... reason=timeout summary=deterministic. Это освобождает сессию от повторного ожидания того же резюме, но старые факты, которые ещё не попали в резюме, могут выйти из контекста. Они остаются в истории для явного извлечения.

Такой результат нельзя считать полным сохранением знаний. Сверьте продолжение с записанным состоянием и верните нужные старые факты точечно. Ручной /compact, отмена запуска и другие ошибки суммаризатора не получают эту же гарантию продолжения. Исключение при автоматическом тайм-ауте.

Когда перейти в новую сессию и когда остановиться

Переходите через /new или /reset, если сохранили состояние, а повторное сжатие возвращает ту же ошибку без изменения её причины, либо старая история уже не нужна для следующего шага. По текущей документации обе команды запускают новую сессию; это не основание считать /reset удалением долговременной памяти. Правила сброса сессии.

Передайте новой сессии короткую запись состояния и попросите сначала проверить текущие результаты, затем выполнить оставшийся запрос. Постоянные инструкции и схемы инструментов загрузятся снова, поэтому новая сессия не гарантирует, что большой файл теперь поместится. Если переполнение воспроизводится на коротком вводе без старой истории, проверяйте постоянную загрузку и модель, а не сбрасывайте сессии по кругу.

Остановите автоматические повторы, если неизвестно, выполнилось ли действие с внешним эффектом. Сначала проверьте его по независимому результату. Если необходимые данные не удаётся восстановить, зафиксируйте конкретный пробел и продолжайте только ту часть задачи, для которой данных достаточно. При повторяемом отказе подготовьте отчёт: версия и среда, фактическая модель каждой попытки, её лимит, этап отказа, текст ошибки и обезличенный фрагмент журнала.

Проверьте локальную модель и настройте именно нужный механизм

У локального сервера паспортное окно модели и окно загруженного экземпляра могут различаться. Для LM Studio документация OpenClaw прямо отдаёт приоритет контексту загруженного экземпляра перед большим заявленным максимумом. Предварительная загрузка, JIT и ограничения машины определяют, какой экземпляр реально обслуживает запрос. Изменение числа contextWindow в описании OpenClaw не доказывает, что сервер перезагрузил модель с таким окном. Контекст экземпляров LM Studio.

Восстановление после переполнения через сохранение состояния и уменьшение нужной части запроса

Сверьте загруженную модель и её контекст на стороне сервера, затем описание в OpenClaw и выбранную модель сессии. Если нужна настройка самого подключения, используйте руководство по LLM в OpenClaw, Ollama и LM Studio. После изменения загрузки проверьте короткий ответ и необходимый вызов инструмента, прежде чем возвращать большую задачу. Проверка каталога подтверждает описание модели, а не успешный инференс.

Для остальных случаев важно не смешивать разные механизмы:

Что нужно уменьшить или сохранитьМеханизмЧто он делает и чего от него ждать
Старая история разговораCompactionСоставляет резюме; не увеличивает физическое окно
Старые результаты инструментовagents.defaults.contextPruningСокращает подходящие результаты по правилам конкретного подключения; не сжимает обычные сообщения
Важные сведения перед сжатиемagents.defaults.compaction.memoryFlushСохраняет долговременное состояние через выбранный механизм памяти; не заменяет сжатие
Крупные постоянные файлыbootstrapMaxChars и bootstrapTotalMaxCharsОграничивают загрузку в символах; могут обрезать нужные инструкции
Слишком большой текущий файл или логВыбор нужных частей исходного материалаУменьшает новый ввод, который не исчезнет от сжатия старой истории

Обрезка результатов инструментов не включена одинаково для всех провайдеров. Встроенный Anthropic-плагин задаёт свои начальные настройки; другие провайдеры по умолчанию не получают такую обрезку. Для прямого Anthropic API с ключом используется серверное удаление старых результатов из входа модели, для подходящих других подключений — клиентские правила TTL и размера контекста. Клиентское сокращённое представление сохраняется в скрытом маркере истории и может пережить перезапуск Gateway; исходные результаты не перезаписываются. Поэтому описание «только в оперативной памяти, автоматически везде» неверно. Условия session pruning.

Встроенный резерв сжатия по текущей документации составляет до 20 000 токенов и ограничен четвертью активного окна. keepRecentTokens по умолчанию равен 20 000 и задаёт ориентир границы свежей истории, а не дополнительную ёмкость. Для небольшого окна слепая вставка «резерва 40 000» из старого примера не является универсальным решением. Резерв и сохраняемая история.

softThresholdTokens находится в agents.defaults.compaction.memoryFlush. Это отступ до порога сжатия для раннего сохранения памяти, а не лимит поисковой выдачи memorySearch. В документированном примере окна 32 768 резерв равен 8 192, раннее сохранение начинается при 20 576, а блокирующее сжатие — при 24 576 токенах, если применимый серверный порог не выше. Отключение memory flush не отключает compaction. Назначение порога и расчёт.

Перед изменением конфигурации сохраните её копию и проверьте схему вашей установленной версии. Для документированных текущих команд:

bash
openclaw config file
openclaw config get agents.defaults.compaction
openclaw config validate

Первая команда помогает найти действующий файл, вторая — прочитать нужный раздел, третья — проверить конфигурацию без запуска Gateway. После редактирования повторите валидацию и следуйте сообщению о загрузке изменений. Принятая схема не доказывает, что запрос помещается в модель или что сервер принял параметры. Проверка восстановления всё равно нужна. Команды конфигурации.

Как не возвращаться к переполнению после восстановления

Сохраняйте полные логи и большие результаты в файлах, а в диалог передавайте ошибку, нужный диапазон и путь к источнику. Просите инструмент читать конкретные участки и искать конкретный текст вместо загрузки всего репозитория. Если следующий шаг действительно требует всего большого документа, делите обработку на части с сохранёнными промежуточными выводами.

Долговременные инструкции должны оставаться короткими и актуальными. Не удаляйте правила безопасности или нужные схемы инструментов ради числа токенов; сначала найдите дубли, устаревшие сведения и материалы, которые можно читать по необходимости. Документированные пределы bootstrap — 20 000 символов на файл и 60 000 суммарно — относятся к символам, не к точному числу токенов. Проверьте в /context, что реально загружено и что обрезано. Загрузка файлов рабочего пространства.

После крупного этапа сохраняйте результат и следующий шаг. Это облегчает и сжатие, и переход в свежую сессию без повторения работы. Не рассчитывайте на универсальные «60 % экономии»: степень уменьшения зависит от истории, новой нагрузки и среды.

Наконец, разделяйте занятость окна и оплату. Оценка контекста показывает давление на запрос; счёт зависит от учтённых входных, выходных и кэшированных токенов и правил подключения. Сокращение лишнего ввода может уменьшить нагрузку, но процент освобождённого окна не равен проценту экономии денег. Текущий встроенный механизм также ведёт оценку контекста отдельно от итогов оплаты. Учёт при восстановлении.

Часто задаваемые вопросы

Почему context_length_exceeded появляется сразу после /new?

Новая сессия убирает старую историю из активного диалога, но снова получает постоянные инструкции и схемы инструментов. Большое первое вложение или небольшое фактическое окно локальной модели также остаются причинами переполнения. Сравните /context detail с лимитом модели из отказавшей попытки; для LM Studio отдельно проверьте загруженный экземпляр. Состав контекста, LM Studio.

Можно ли сохранить всю работу, если /compact не отвечает?

Можно сохранить доступные результаты, файлы, исходный запрос и точное оставшееся действие, затем передать их новой сессии. Полное сохранение всех знаний автоматически не гарантировано: при специальном автоматическом тайм-ауте свежая часть и ожидающий запрос сохраняются, а старые ещё не обобщённые факты могут уйти из активного контекста. Восстанавливайте их из истории, не повторяя уже выполненные действия. Поведение при тайм-ауте.

Большая модель для compaction увеличит контекст основного чата?

Нет. Она может обработать запрос на резюме, который не помещается в меньшую модель, но последующий контекст всё равно должен соответствовать окну основной модели. После сжатия проверьте весь бюджет: постоянный ввод, резюме, свежую историю, незавершённый запрос и запас на ответ. Бюджет основной модели.

/reset удаляет память OpenClaw?

Документация описывает /reset и /new как ручной переход в новую сессию. Из этого не следует удаление долговременной памяти. Для восстановления после переполнения не нужно удалять каталог памяти или вручную обрезать файлы истории: сначала сохраните состояние задачи и используйте поддерживаемое управление сессией. Правила сессий.

Источники10

Внешние страницы, на которые ссылается это руководство, в порядке упоминания. Последнее обновление: 5 окт. 2026 г..

  1. 1.Условия встроенного восстановленияdocs.openclaw.ai/concepts/compaction
  2. 2.Политика переключения моделейdocs.openclaw.ai/concepts/model-failover
  3. 3.Как OpenClaw измеряет контекстdocs.openclaw.ai/concepts/context
  4. 4.Текущие настройки сжатияdocs.openclaw.ai/gateway/config-agents/heartbeat-compaction-and-streaming
  5. 5.Правила сброса сессииdocs.openclaw.ai/concepts/session
  6. 6.Контекст экземпляров LM Studiodocs.openclaw.ai/providers/lmstudio
  7. 7.Условия session pruningdocs.openclaw.ai/concepts/session-pruning
  8. 8.Резерв и сохраняемая историяdocs.openclaw.ai/reference/session-management-compaction/compaction
  9. 9.Назначение порога и расчётdocs.openclaw.ai/reference/session-management-compaction/housekeeping
  10. 10.Команды конфигурацииdocs.openclaw.ai/cli/config
Источники OpenClaw 429: модель, ClawHub и недоступный профиль
Инструменты разработчика

OpenClaw 429: что делать, если превышен лимит запросов

Если OpenClaw сообщает Rate limit exceeded, сначала остановите дополнительные запуски и найдите исходный отказ. Временный лимит требует ожидания и снижения нагрузки, исчерпанная квота — восстановления доступа или доступного резерва, а ClawHub 429 относится к отдельному ограничению скачивания.

10 мин
Диагностика OpenClaw по источнику отказа: агент, Gateway, API модели или среда запуска
Устранение ошибок

Ошибка API-ключа OpenClaw: No API Key, 401, 429 и сбои Gateway

No API key требует проверки источника учётных данных выбранного агента; отказ Gateway — проверки клиента и устройства; 429 — определения источника ограничения и срока ожидания. Начните с первой ошибки проблемного запуска, затем проверяйте восстановление на том же подключении.

11 мин
Рабочий стол с карточками навыков OpenClaw для PR, почты, документов и PDF
Инструменты разработчика

Лучшие навыки OpenClaw: что выбрать для своей работы

Полезный набор навыков OpenClaw начинается с вашей рутины. Выберите подходящий инструмент, проверьте его доступность у нужного агента и дайте небольшую задачу с проверяемым результатом.

10 мин
Подключение OpenClaw к LaoZhang с точным endpoint, адаптером, моделью и проверкой ответов и инструментов
Инструменты разработчика

OpenClaw + laozhang.ai: подключение API и проверка модели

В OpenClaw LaoZhang подключается через models.providers с адресом https://api.laozhang.ai/v1 и точным ID доступной модели. После настройки отдельно проверьте модель сессии, ответ API и выполнение разрешённого инструмента.

11 мин
OpenClaw с маршрутами подключения к API и настройками провайдера
Инструменты разработчика

OpenClaw: полное руководство по API, настройке и оптимизации (2026)

OpenClaw — платформа AI-агентов с открытым кодом и более чем 250K звёзд на GitHub, однако пользователи из Китая сталкиваются с проблемой недоступности API. В этом руководстве представлено сравнение трёх вариантов проксирования, готовые шаблоны конфигурации openclaw.json, рекомендации по выбору моделей для разных сценариев и стратегии контроля ежемесячных расходов — всё для полной настройки за 3 минуты.

13 мин
Локальное и облачное подключение LLM к OpenClaw с проверками каталога, ответа и инструмента
Инструменты разработчика

Настройка LLM в OpenClaw: провайдеры, Ollama и LM Studio

Для настройки LLM в OpenClaw запустите мастер на машине Gateway, подключите нужный аккаунт или локальный сервер и выберите модель в формате provider/model. Затем отдельно проверьте выбор в сессии, короткий ответ и реальный вызов безопасного инструмента.

14 мин