Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Историю долгой сессии агента можно сокращать без потери исходных файлов и при этом не разрушать выгоду от кэша на каждом запросе. В препринте, который не прошёл рецензирование и содержит замеры самих авторов, Junjie Yao, Zhangchen Zhou и Zhi-Qin John Xu представили CADOC: метод снизил входную стоимость примерно на 40% в среднем при близкой доле решённых задач. Для архитектуры агента это меняет главный вопрос: важно не только что убрать из контекста, но и когда применить изменения.
Почему раннее сжатие может оказаться дороже
Долгий агент снова отправляет модели историю при каждом запросе. Провайдер может не обрабатывать неизменившееся начало истории заново: кэш префикса сохраняет результат обработки общей начальной части и позволяет прочитать его дешевле.
Старые результаты инструментов, содержимое файлов, журналы и фрагменты кода постепенно раздувают запрос. CADOC выносит такой объект во внешнее хранилище, а на прежнем месте оставляет компактную карточку с идентификатором, версией, источником и структурными метаданными. Если объект снова понадобится, агент запрашивает точное исходное содержимое, а не пересказ.
Замена сокращает следующие запросы, но изменяет уже закэшированный префикс. Всё после первой правки приходится обработать заново, включая недавнюю часть истории, которая пока остаётся в исходном виде. Поэтому немедленная замена каждого подходящего объекта может уничтожить экономию.
На одном примере немедленное сжатие убрало 55,93% накопленных входных токенов, но увеличило стоимость на 3,67% относительно полного контекста. Меньше токенов здесь не означает меньший счёт: частые изменения заставляют систему снова строить одну и ту же часть кэша.
Пакетное обновление решает одну проблему и создаёт другую. Несколько замен делят между собой стоимость перестройки кэша, но ожидание оставляет лишние токены в каждом промежуточном запросе. CADOC ищет границу между этими расходами.
Как CADOC выбирает момент пакетной замены
Метод защищает недавний «горячий хвост» истории. Когда структурированный объект выходит за его пределы, он становится кандидатом на замену, но остаётся в исходном виде до следующего пакетного обновления.
После каждого запроса CADOC оценивает три величины: сколько токенов уберут накопленные карточки, сколько уже стоило ожидание и сколько придётся потратить на перестройку общей закэшированной части. Пока очередной запрос с несжатым содержимым дешевле перестройки, система ждёт. Когда накопленная переплата вместе с ожидаемой экономией покрывает перестройку, CADOC заменяет все подготовленные объекты одновременно.
Правило следует из классического баланса между стоимостью оформления партии и стоимостью хранения запаса. При стабильной нагрузке оно выбирает оптимальный целый размер пакета. При меняющейся истории метод использует только текущую длину контекста, доступную оценку кэша и уже накопленные расходы: прогноз будущих обращений и дополнительный вызов LLM ему не нужны.
Авторы проверили расписание замен на зафиксированных историях HCE, где ответы модели и содержимое карточек не менялись. CADOC сравнивали с полным контекстом, немедленной заменой, пакетами фиксированного размера и порогами по числу токенов. В базовом расчёте чтение закэшированного токена стоило 0,1 от обработки нового.
Полную систему запускали на цепочках Terminal-Bench 2.1, LongMemEval-V2 и SWE-bench, сохраняя историю между задачами. Входная стоимость снизилась на 34,12–47,13%, а доля решённых задач отставала от полного контекста не более чем на 4 процентных пункта. Расчёт включал повторную загрузку вынесенных объектов, поэтому результат учитывает цену восстановления данных.
Когда работа меняет архитектурный план
CADOC касается агентов, которые долго работают в одной истории и регулярно получают крупные структурированные результаты. Для короткого диалога или истории, состоящей в основном из обычных сообщений, пространство для такой замены невелико: метод сохраняет окружающий разговор и выносит только надёжно распознанные объекты.
Если в проекте уже есть внешняя память, карточки и точное восстановление объектов, работу можно применить как правило планирования. Размер пакета не стоит фиксировать заранее: он должен расти, когда перестройка кэша дорожает, и уменьшаться, когда отложенное сжатие быстрее накапливает расходы.
Переносить приведённую экономию напрямую в бюджет нельзя без той же модели тарификации. Команде нужны оценки цены нового и закэшированного токена, границы повторно используемого префикса и фактического сокращения после замены. На этих данных CADOC принимает решение; без них останется только эвристика по числу шагов или размеру истории.
Метод не заменяет суммаризацию и не решает, какие смысловые детали можно отбросить. Его область уже: детерминированно вынести файлы, код, журналы и результаты инструментов, сохранить точную версию и выбрать момент, когда правка контекста окупит разрушенный кэш. Поэтому работа скорее меняет устройство слоя памяти и учёта стоимости, чем выбор основной модели агента.
Источники
Иллюстрация: рисунок из статьи «CADOC: Cache-Aware Dynamic Object Context for Long-Horizon Agents», Junjie Yao, Zhangchen Zhou, Zhi-Qin John Xu, CC BY 4.0
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



