Почему OpenClaw тормозит, забывает и сжигает токены: полный гайд по контексту, compaction и отладке

Проблема, которую не видно сразу

OpenClaw работает отлично первые 10–15 минут. Потом начинается: ответы медленнее, агент «забывает» то, что обсуждали час назад, токены улетают с космической скоростью, а в какой-то момент в чат прилетает ошибка context_length_exceeded — и сессия мертва.

Причина одна: контекстное окно модели конечно, а OpenClaw загружает в каждый запрос всё подряд — системный промпт, схемы инструментов, workspace-файлы, историю переписки и результаты поиска по памяти. Когда всё это в сумме превышает лимит модели — 128K, 200K или даже 1M токенов — всё ломается.

Дальше — подробный разбор: из чего состоит контекст, как его контролировать, что такое compaction и pruning, как настроить openclaw.json чтобы забыть про эту проблему, и как отлаживать агента, когда он ведёт себя странно.

🦀
🤖 Заберите бесплатный гайд
OpenClaw: настройка, оптимизация и бесплатное использование — всё собрано в одном месте.
✅ Пошаговая настройка ✅ Бесплатные промты
👉  Забрать гайд в боте

Из чего состоит контекст каждого запроса

Каждое сообщение, которое вы отправляете OpenClaw, превращается в огромный payload для LLM. Вот из чего он собирается:

КомпонентПримерный размерОсобенность
Системный промпт~9 600 токеновФиксированный, нельзя уменьшить без поломки функциональности 
Схемы инструментов (tool schemas)~8 000 токеновРастёт при подключении новых skills и MCP-серверов 
Workspace-файлы (AGENTS.md, USER.md и т.д.)до 35 600 токеновПереотправляются в каждом запросе — главный «тихий убийца» 
История перепискиРастёт без ограниченийКаждое сообщение, каждый tool result, каждый блок кода 
Результаты memory searchПеременныйМожет переполнить контекст даже на свежей сессии 

Итого: ещё до первого сообщения вы тратите 20 000–40 000 токенов на «накладные расходы». На модели с 32K-контекстом (типичная локальная модель) это не оставляет места вообще ни для чего.

GitHub Issue #9157 задокументировал случай, когда workspace-файлы съедали 35 600 токенов на каждый запрос — это 93.5% впустую в многосообщенных диалогах, потому что одни и те же файлы переотправлялись снова и снова.

Compaction: как OpenClaw сжимает историю

Compaction — встроенный механизм, который суммаризирует старую часть переписки, сохраняя недавние сообщения дословно. Суммари записывается в JSONL-файл сессии и переживает перезапуски.

Как работает

  1. Когда контекст приближается к лимиту модели, срабатывает auto-compaction.
  2. OpenClaw берёт старую часть переписки и сжимает её в компактное саммари.
  3. Саммари сохраняет ключевые решения, пути к файлам и важный контекст.
  4. Подробности ранних обменов отбрасываются.
  5. Результат: ~60% контекстного окна освобождается.

Перед compaction OpenClaw может запустить silent memory flush — тихо записать важные заметки на диск, чтобы не потерять их при сжатии.

Ручная compaction

Не ждите, пока сломается — запускайте compaction сами:

text/compact

Можно дать инструкции, на чём сфокусироваться:

text/compact Focus on decisions and open questions

После этого проверьте статус:

text/status

Если загрузка контекста всё ещё выше 80% — запустите /compact повторно или используйте /new для чистой сессии.

Compaction vs Pruning

Это разные вещи:

  • Compaction — суммаризирует историю и сохраняет результат в JSONL-файле сессии. Это постоянное изменение.
  • Pruning — обрезает старые tool results в памяти, для каждого запроса отдельно. Не меняет сохранённую историю.

Pruning работает автоматически. Compaction — автоматически + вручную через /compact.

Дефолтные настройки compaction слишком консервативны для серьёзной работы. Они рассчитаны на короткие, простые взаимодействия — если вы работаете дольше 30 минут, нужно тюнить.

Рекомендуемый конфиг

Этот конфиг — результат тестирования комьюнити для сессий длиннее 30 минут:

json{
  "agents": {
    "defaults": {
      "compaction": {
        "reserveTokens": 40000,
        "keepRecentTokens": 25000,
        "reserveTokensFloor": 25000
      },
      "bootstrapMaxChars": 12000,
      "memorySearch": {
        "softThresholdTokens": 3000
      }
    }
  }
}

Что делает каждый параметр:

  • reserveTokens: 40000 — сколько токенов держать свободными после compaction. Дефолт: 16 384. При 40K compaction срабатывает раньше, оставляя комфортный буфер вместо работы на грани.
  • keepRecentTokens: 25000 — сколько токенов последних сообщений сохранять дословно при compaction. Дефолт: 20 000. Всё старше — суммаризируется.
  • reserveTokensFloor: 25000 — абсолютный минимум свободного места, который compaction всегда поддерживает.
  • bootstrapMaxChars: 12000 — максимум символов workspace-файлов, инжектируемых в каждый запрос. Дефолт: 20 000. Снижение до 12K экономит тысячи токенов на каждом сообщении.
  • softThresholdTokens: 3000 — лимит на результаты memory search. Снижаем, чтобы уменьшить memory footprint.

PR #9620 в основном репозитории увеличил дефолтный буфер auto-compaction с 20K до 40K — подтверждение того, что комьюнити пришло к этой цифре через практику.

Три команды, 60 секунд

Когда что-то не так — начинайте отсюда:

Шаг 1: /status — показывает загрузку контекстного окна в процентах. Выше 80% = проблема.

Шаг 2: /context list — показывает, что именно съедает контекст: какие файлы, сколько токенов каждый. Ищите неожиданно большие workspace-файлы.

Шаг 3: /usage tokens — показывает расход токенов на каждый ответ. Помогает найти самые «дорогие» операции — например, чтение большого файла может добавить 8 000–10 000 токенов за раз.

  • Если /status показывает 80%+ → /compact, затем снова /status.
  • Если /context list показывает огромные workspace-файлы → уменьшить bootstrapMaxChars или почистить сами файлы.
  • Если /status показывает мало, но ошибка всё равно есть → возможно, баг (Issue #7483: ложные срабатывания) → обновить OpenClaw.
КомандаЧто делаетКогда использовать
/statusПоказывает загрузку контекста и количество compaction’овРегулярно, каждые 15–20 минут долгой сессии 
/compactПринудительная compaction историиКогда контекст выше 60% или ответы стали хуже 
/newЧистая сессия, история обнуляетсяКогда /compact не помогает 
/resetЧистая сессия + очистка session memoryПолный рестарт, когда всё пошло не так 
/context listРазбивка контекста по компонентамНайти, что именно жрёт токены 

🇷🇺
☁️ Где развернуть OpenClaw в России?
Лучший вариант по соотношению цена / качество / доступность / скорость — Timeweb Cloud. Оплата российскими картами без VPN и танцев с бубном. OpenClaw разворачивается в один клик через маркетплейс. Минимальная конфигурация — от 4 vCPU / 8 ГБ RAM / NVMe — от 1 650 ₽/мес.
✅ Оплата из РФ ✅ Установка в 1 клик ✅ NVMe SSD ✅ Поддержка 24/7
🚀  Попробовать Timeweb Cloud

OpenClaw активно развивается — баги есть и будут. Вот самые распространённые на февраль 2026:

Issue #7483: ложные срабатывания context overflow

Ошибка context_length_exceeded появляется, хотя контекст не заполнен. Причина — некорректный подсчёт токенов в функции sanitizeUserFacingText. Фикс влит, обновите OpenClaw.

Обход: /compact + повтор сообщения.

Issue #5771: overflow на свежей сессии

Контекст переполняется до первого сообщения — memory search инжектирует слишком много исторического контекста при инициализации.

Обход: отключить memory search:

json{
  "agents": {
    "defaults": {
      "memorySearch": {
        "enabled": false
      }
    }
  }
}

Issue #9157: workspace-файлы съедают 93.5% токенов

Одни и те же файлы переотправляются в каждом запросе. Фикс: conditional loading — файлы инжектируются только при изменении.

Обход: обновить OpenClaw или уменьшить bootstrapMaxChars до 5000–10000.

Issue #5433: auto-compaction не срабатывает

Сессия растёт до жёсткого лимита без compaction. Причина — некорректное распознавание формата ошибок от API-провайдеров.

Обход: запускать /compact вручную при 70%+ загрузке.

Issue #7725: Gateway зависает при большом контексте

При инжекции файлов или tool output’ов больше 12 000 токенов Gateway может зависнуть вместо ошибки.

Обход: обновить OpenClaw; если зависает прямо сейчас — рестарт Gateway.

Одна из самых частых рекомендаций практиков: когда OpenClaw сломался — не пытайтесь чинить его через него же.

Почему:

  • Агент в сломанном состоянии будет давать плохие советы.
  • Попытки «починить себя» усугубляют context bloat.
  • Вы тратите токены на диалог, который ни к чему не ведёт.

Что использовать вместо:

  • Claude Code в терминале — быстро посмотреть конфиги, логи, файлы.​
  • Внешний IDE (VS Code, Antigravity) — редактировать workspace-файлы и openclaw.json.​
  • openclaw doctor --fix — встроенная диагностика из CLI, работает без LLM.
  • Логи: ~/.openclaw/logs/ — там всё, что нужно для понимания проблемы.

Ollama и LM Studio отлично подходят для heartbeat и рутинных cron, но у них свои особенности:

Маленький контекст

Локальные модели обычно дают 8 000–32 000 токенов контекста. С учётом ~20–40K накладных расходов OpenClaw это означает, что для локальных моделей нужна максимально агрессивная compaction:

json{
  "agents": {
    "defaults": {
      "compaction": {
        "reserveTokens": 8000,
        "keepRecentTokens": 4000
      },
      "bootstrapMaxChars": 5000
    }
  }
}

Embedding-модель обязательна

Без embedding-модели (например, nomic-embed-text) весь workspace улетает в каждый запрос как сырой текст. С embedding’ами OpenClaw ищет только релевантные куски — экономия огромная.

LM Studio: фиксируйте настройки правильно

  • Context length, KV cache quant, batch size — сохранять в My Models, а не в runtime settings (они сбрасываются при перезагрузке).​
  • Flash Attention — ставить On, не Auto.

Какие модели тянут

Локальные модели хорошо работают на простых, повторяющихся задачах: саммари логов, JSON-парсинг, маршрутизация сообщений, календарные операции, извлечение структурированных данных. Для всего остального — облачная модель через model-override.

Требования к железу

Минимум для комфортной работы с локальными моделями:

  • RAM: 16 GB для 7B-моделей, 32+ GB для 70B
  • Диск: 15 GB на квантованную 7B, 40 GB на 70B; SSD обязателен
  • CPU: 8+ логических ядер; Apple Silicon отлично, Intel i5 11-gen — нормально

Из документации, гайдов и практики комьюнити:​

  • Проверяйте /status каждые 15–20 минут в долгих сессиях. Если выше 60% — запустите /compact превентивно.
  • Разбивайте работу на логические блоки. Закончили одну фазу — /compact или /new. Как git commit — сохраняйте прогресс.
  • Держите workspace-файлы компактными. Убирайте устаревшие инструкции из AGENTS.md, не превращайте MEMORY.md в свалку. Каждая строка должна «зарабатывать» своё место.
  • Используйте state-файлы для долгосрочного прогресса, а не чат-историю. Всё, что важно — пишите в файл явно.
  • Знайте «дорогие» операции. Чтение большого файла = +10K токенов. Прогон тестов с verbose output = ещё больше. Перед тяжёлой операцией — /compact.
🦀
🤖 Заберите бесплатный гайд
OpenClaw: настройка, оптимизация и бесплатное использование — всё собрано в одном месте.
✅ Пошаговая настройка ✅ Бесплатные промты
👉  Забрать гайд в боте

Не все модели одинаковы. Разброс контекстных окон — от 8K до 1M:

МодельКонтекстКомментарий
Gemini 2.0 Flash (платный)1 000 000Самый большой контекст, но free tier = 32K 
Claude Sonnet / Haiku200 000Лучший баланс качества и размера 
GPT-4o / GPT-4o Mini128 000На 36% меньше Claude, лимит достигается быстрее 
Ollama (локальные)8 000–32 000Нужна агрессивная compaction 

Для комфортной работы с OpenClaw минимум — 128K. Оптимально — 200K и выше. На моделях с 32K и меньше вы будете постоянно бороться с контекстом.

Похожие записи