Обрезка сеанса удаляет старые результаты инструментов из контекста перед каждым
вызовом LLM. Она уменьшает разрастание контекста из-за накопленных выводов инструментов
(результатов exec, чтений файлов, результатов поиска), не переписывая обычный текст разговора.
Обрезка выполняется только в памяти — она не изменяет сохраненную на диске расшифровку сеанса.
Вся ваша история всегда сохраняется.
Почему это важно
В длинных сеансах накапливается вывод инструментов, который раздувает окно контекста. Это
увеличивает стоимость и может вынудить выполнить Compaction раньше,
чем необходимо.
Обрезка особенно полезна для кэширования промптов Anthropic. После истечения TTL кэша
следующий запрос заново кэширует весь промпт. Обрезка уменьшает размер записи в кэш,
напрямую снижая стоимость.
Как это работает
- Дождаться истечения TTL кэша (по умолчанию 5 минут).
- Найти старые результаты инструментов для обычной обрезки (текст разговора не трогается).
- Мягко обрезать слишком большие результаты — оставить начало и конец, вставить
....
- Жестко очистить остальное — заменить заполнителем.
- Сбросить TTL, чтобы последующие запросы повторно использовали свежий кэш.
Очистка устаревших изображений
OpenClaw также строит отдельное идемпотентное представление повторного воспроизведения для сеансов,
в истории которых сохраняются необработанные блоки изображений или медиа-маркеры гидратации промпта.
- Оно сохраняет 3 последних завершенных хода байт-в-байт, чтобы префиксы
кэша промптов для недавних последующих запросов оставались стабильными.
- В представлении повторного воспроизведения более старые уже обработанные блоки изображений из истории
user или toolResult могут быть заменены на
[данные изображения удалены - уже обработаны моделью].
- Более старые текстовые ссылки на медиа, такие как
[медиа прикреплено: ...],
[Изображение: источник: ...] и media://inbound/..., могут быть заменены на
[ссылка на медиа удалена - уже обработана моделью]. Маркеры вложений текущего хода
остаются нетронутыми, чтобы vision-модели по-прежнему могли гидратировать свежие
изображения.
- Сырая расшифровка сеанса не переписывается, поэтому средства просмотра истории все еще могут
отображать исходные записи сообщений и их изображения.
- Это отдельно от обычной обрезки по TTL кэша. Она нужна, чтобы повторяющиеся
полезные нагрузки изображений или устаревшие ссылки на медиа не сбивали кэши промптов на последующих ходах.
Умные значения по умолчанию
OpenClaw автоматически включает обрезку для профилей Anthropic:
| Тип профиля | Обрезка включена | Heartbeat |
|---|
| OAuth/токен-аутентификация Anthropic (включая повторное использование Claude CLI) | Да | 1 час |
| API-ключ | Да | 30 мин |
Если вы задаете явные значения, OpenClaw их не переопределяет.
Включение или отключение
Для провайдеров не Anthropic обрезка по умолчанию выключена. Чтобы включить:
{
agents: {
defaults: {
contextPruning: { mode: "cache-ttl", ttl: "5m" },
},
},
}
Чтобы отключить: задайте mode: "off".
Обрезка и Compaction
| Обрезка | Compaction |
|---|
| Что | Обрезает результаты инструментов | Суммаризирует разговор |
| Сохраняется? | Нет (для каждого запроса) | Да (в расшифровке) |
| Область | Только результаты инструментов | Весь разговор |
Они дополняют друг друга — обрезка сохраняет вывод инструментов компактным между
циклами Compaction.
Дополнительные материалы
Связанные материалы