Что такое context overflow в OpenClaw
Context overflow — это ситуация, когда объём информации в активном сеансе OpenClaw превышает лимит контекстного окна языковой модели. Агент буквально «забывает» начало разговора или не может удержать весь рабочий контекст.
По данным анализа GitHub Issues и обсуждений в сообществе, это проблема №1 среди пользователей OpenClaw. Особенно остро она проявляется в долгих автоматизированных сессиях: агент работает несколько часов, накапливает историю действий — и в какой-то момент начинает «терять нить».
Почему это критично:
- Агент повторно выполняет уже сделанные шаги
- Теряются ранние инструкции и контекст задачи
- Качество ответов резко снижается ближе к концу длинной сессии
- Стоимость запроса растёт, а полезная отдача падает
Почему контекст переполняется
Контекстное окно — это не бесконечный буфер. Каждая языковая модель имеет жёсткий лимит: GPT-4o поддерживает 128 тысяч токенов, Claude Sonnet — 200 тысяч. Это кажется большим, пока не начинаешь работать в реальных сценариях.
Главные пожиратели контекста
1. Workspace-файлы и AGENTS.md
Файлы конфигурации агента загружаются в каждый запрос. Подробный AGENTS.md на 500 строк занимает 10-15% всего контекстного окна — ещё до того, как началась реальная работа.
Исследователи из сообщества зафиксировали случаи, когда конфигурационные файлы суммарно поглощали до 93,5% контекста, оставляя агенту менее 10 тысяч токенов для самой задачи.
2. История действий агента
OpenClaw сохраняет историю всех выполненных действий: что было нажато, какие файлы открыты, какие команды запущены. В долгой автоматизации эта история разрастается до десятков тысяч токенов.
3. Содержимое файлов и страниц
Когда агент читает большой файл или открывает сложную веб-страницу, её содержимое попадает в контекст. Один PDF на 50 страниц — это 30-50 тысяч токенов.
4. Системные промпты и инструкции
Сложные SOUL.md и системные промпты добавляют фиксированную «плату» к каждому запросу. Агент с богатой настройкой стартует с 20-30 тысяч токенов занятого контекста.
Как определить, что у вас context overflow
Признаки переполнения:
- Агент начинает «забывать» задачи, которые ставились в начале сессии
- Повторяет действия, которые уже были выполнены
- Отвечает менее точно, появляются галлюцинации
- В логах появляются ошибки типа
context_length_exceededилиmax_tokens - Время ответа резко увеличивается
Проверить текущее потребление можно через интерфейс OpenClaw или командой:
openclaw stats --session
Вывод покажет количество использованных токенов в текущей сессии.
6 способов решить проблему
Способ 1: Сжать файлы конфигурации
Первый шаг — ревизия AGENTS.md, SOUL.md и WORKSPACE.md.
Типичные ошибки, которые раздувают файлы:
- Подробные примеры вместо кратких правил
- Дублирование инструкций
- Комментарии и объяснения, которые агент не использует
Правило: хороший AGENTS.md — не длиннее 150-200 строк. Если он больше, разбейте на несколько специализированных файлов и подключайте нужный под конкретную задачу.
# Плохо: один монолитный AGENTS.md на 600 строк
# Хорошо: три специализированных файла
agents/
dev.md # для задач разработки
research.md # для исследований и парсинга
content.md # для работы с текстами
Способ 2: Настроить .clawignore
Файл .clawignore (аналог .gitignore) говорит агенту, какие файлы и директории игнорировать. Без него агент может «засосать» в контекст всё содержимое рабочей директории.
Создайте .clawignore в корне проекта:
# Бинарные и сгенерированные файлы
node_modules/
.git/
dist/
build/
*.lock
*.log
# Большие файлы данных
data/raw/
exports/
*.csv
*.json (если больше 100 кб)
# Временные файлы
*.tmp
.DS_Store
__pycache__/
Особенно важно исключить node_modules/ — без этого агент может потратить сотни тысяч токенов на чтение зависимостей.
Способ 3: Использовать компактный режим
OpenClaw поддерживает --compact флаг или настройку contextMode: compact в конфиге. В этом режиме агент автоматически сжимает историю действий, сохраняя только ключевые события.
openclaw run "задача" --compact
Или в конфиге:
{
"session": {
"contextMode": "compact",
"historyDepth": 20
}
}
historyDepth: 20 означает, что агент хранит в деталях только последние 20 действий. Более ранние сжимаются до краткого резюме.
Способ 4: Разбивать длинные задачи на подзадачи
Вместо одной длинной сессии разбейте работу на этапы с сохранением состояния:
# Плохо: одна сессия на 4 часа
openclaw run "проанализируй весь сайт, найди все ошибки, исправь и напиши отчёт"
# Хорошо: три отдельные сессии
openclaw run "найди все страницы с HTTP-ошибками, сохрани список в errors.txt"
openclaw run "для каждой ошибки из errors.txt найди причину, сохрани в analysis.txt"
openclaw run "используя analysis.txt, исправь все найденные проблемы и напиши отчёт"
Каждая сессия начинается с чистым контекстом. Промежуточные результаты хранятся в файлах, а не в контексте агента.
Способ 5: Выбрать модель с бо́льшим контекстным окном
Если задача требует большого контекста — смените модель:
| Модель | Контекст | Стоимость |
|---|---|---|
| GPT-4o | 128K токенов | Средняя |
| Claude Sonnet | 200K токенов | Средняя |
| Claude Opus | 200K токенов | Высокая |
| Gemini 1.5 Pro | 1M токенов | Низкая |
| Gemini 1.5 Flash | 1M токенов | Очень низкая |
Для задач с огромным контекстом (весь репозиторий, большие документы) Gemini 1.5 Pro с миллионным окном — часто лучший выбор.
Способ 6: Мониторинг в реальном времени
Настройте алерт на 80% заполненности контекста. Когда порог достигнут, агент предупредит вас до того, как начнутся проблемы:
{
"alerts": {
"contextUsage": {
"threshold": 0.8,
"action": "warn"
},
"contextUsage95": {
"threshold": 0.95,
"action": "pause_and_summarize"
}
}
}
При pause_and_summarize агент самостоятельно создаёт краткое резюме текущего состояния, сбрасывает историю и продолжает работу с обновлённым компактным контекстом.
Типичные ошибки при работе с контекстом
Ошибка 1: Загрузить весь файл вместо нужного фрагмента
Если агент читает файл целиком, чтобы найти одну функцию — это расточительство. Уточняйте задачу:
# Плохо
openclaw run "найди функцию calculateTotal в проекте"
# Хорошо
openclaw run "найди функцию calculateTotal в файле src/utils/cart.js"
Ошибка 2: Оставлять открытые браузерные сессии
Каждая открытая вкладка в управляемом браузере добавляет DOM-дерево страницы в контекст. Закрывайте вкладки сразу после использования.
Ошибка 3: Просить агента «помнить» без использования файлов
Если говорите агенту «запомни это», информация уходит в контекст — и исчезнет при его сбросе. Используйте файлы:
openclaw run "запиши в файл context/project-notes.md: [важная информация]"
Резюме: быстрый чеклист
Если агент начал терять контекст:
- ☐ Проверить размер AGENTS.md и SOUL.md (цель — < 200 строк каждый)
- ☐ Создать или обновить
.clawignore - ☐ Включить
contextMode: compactв конфиге - ☐ Разбить текущую задачу на этапы с промежуточными файлами
- ☐ Рассмотреть смену модели на Gemini 1.5 при регулярных переполнениях
- ☐ Настроить алерты на 80% и 95% заполненности
Подробнее о настройке агента читайте в руководстве по AGENTS.md и SOUL.md. О стоимости токенов и экономии — в разделе оптимизация расходов.