Я долго не понимал, почему после пары часов работы агент начинает тупить на ровном месте. Контекст вроде не переполнен, компакция не срабатывала, а модель ведет себя так, будто потеряла половину инструкций.
Оказалось, дело в настройке
context pruning. Если в двух словах - это механизм, который вырезает из контекста старые результаты tool-вызовов. Не сам диалог, не сообщения агента, а именно выводы команд, содержимое прочитанных файлов, результаты поиска - все то, что накапливается за длинную сессию и раздувает контекст. Сами сообщения остаются нетронутыми, и на диске история не меняется - pruning работает только в оперативной памяти.
От компакции это отличается принципиально. Компакция сжимает историю диалога в саммари и может потерять детали, pruning же просто убирает старый tool-вывод, который модели уже не нужен для продолжения разговора. При этом последние три ответа агента никогда не трогаются, так что ближайший контекст всегда остается полным.
Проверить, включен ли pruning, можно в openclaw.json - параметр agents.defaults.contextPruning.mode.
📌 Для Anthropic-профилей по умолчанию стоит cache-ttl, и это правильное значение. Если у вас другой провайдер или вы переносили конфиг со старой версии - проверьте, что параметр не пустой.
Включение pruning уменьшает объем контекста перед каждым вызовом модели, а значит компакция срабатывает реже и важные инструкции реже теряются при сжатии.
