Зачастую агент открыт весь день, ты в нем работаешь и в сессии уже есть системные инструкции, описание проекта, список доступных инструментов, правила работы и история предыдущих шагов. И вот ты решил делать новую задачу, например, просишь проверить еще один файл, но чтобы модель ответила нормально, OpenClaw отправляет сессии не только твое сообщение, но и подтягивает весь накопленный контекст - кто агент, какие у него правила, какие инструменты и т.п., то есть все, что уже происходило в этой сессии.
Поэтому чем длиннее рабочая сессия, тем больше данных может участвовать в каждом новом запросе.
Проблема в том, что часть этих данных почти не меняется. Например системные инструкции, описание tools и базовый проектный контекст обычно остаются теми же самыми. Без кэша провайдеру модели приходится снова учитывать этот повторяющийся кусок при новых запросах.
И вот тут отлично помогает инструмент -
prompt caching. Провайдер запоминает стабильную часть запроса и при следующих обращениях может не обрабатывать ее с нуля. Проще говоря, если начало контекста осталось тем же, то можно не платит полную цену за повторное чтение одного и того же большого блока.В OpenClaw это настраивается через cacheRetention:
agents:
defaults:
params:
cacheRetention: "long"Я использую это не для всех агентов подряд. Основному рабочему агенту кэш полезен, потому что он долго живет и постоянно работает с похожей базой контекста. А коротким агентам для уведомлений или разовых задач кэш часто не нужен - там проще поставить none.
agents:
list:
- id: "main"
params:
cacheRetention: "long"
- id: "alerts"
params:
cacheRetention: "none"Главный нюанс - кэш работает лучше, когда стабильная часть контекста действительно стабильная. Если постоянно менять системные инструкции, список tools или проектный контекст, провайдеру чаще придется создавать кэш заново, имейте это ввиду.
❗С помощью
prompt caching можно неплохо экономить в длинных сессиях из-за повторяющегося служебного контекста. #какэтоработает