Статья про AKV: ИИ-агенты сами управляют KV-кэшем, стоимость ниже на 27,7%

Нейросетевые агенты решают всё более сложные задачи и проходят длинные траектории из наблюдений и действий. По мере роста траектории главной статьёй затрат становятся ввод-вывод и хранение KV-кэша (key-value cache, кэш ключей и значений внимания). К тому же траектория может выйти за максимальную длину контекста модели, поэтому рост активного кэша нужно ограничивать.
Обычный путь, «инженерия контекста»: историю обрезают или пересказывают. Авторы статьи указывают на два недостатка. Во-первых, изменение префикса траектории делает недействительными последующие закэшированные состояния и вынуждает заново прогонять (re-prefill) сохранённый контекст, а это дорого. Во-вторых, если оставить слишком мало контекста, чтобы сэкономить на повторной обработке, страдает точность решения задачи.
Вместо этого предложена «инженерия кэша». Агент напрямую управляет своим активным KV-кэшем, не меняя траекторию и не пересчитывая сохранённый контекст. Для этого есть две операции: drop исключает выбранную часть кэша из дальнейшего внимания, а repos корректирует позиционные кодировки оставшихся ключей.
Авторы формализуют эти операции и выделяют проблему для сервинга (обслуживания модели): зависимость от истории. Одинаковые последовательности токенов могут давать разные состояния кэша при разных последовательностях операций над ним, поэтому одного сопоставления по префиксу недостаточно для корректного повторного использования кэша. Под это спроектирован движок AKV: у него интерфейс без сохранения состояния (stateless), совместимый с существующими API обслуживания моделей, а внутри он сам управляет повторным использованием, вытеснением и восстановлением кэша.
Результаты из аннотации. Политика кэша «скользящее удаление ответов инструментов» (tool-response rolling-drop) по сравнению с обычной суммаризацией по порогу повышает средние баллы на бенчмарках на 1,7 пункта и снижает среднюю стоимость на 27,7%. С движком AKV достигается до 1,2× по пропускной способности вывода и ускорение P95-задержки запросов в 1,5 раза. Рекурсивное самоулучшение политик кэша дополнительно снижает стоимость на 7,1% относительно экспертного дизайна. Код опубликован в репозитории thu-nics/AKV на GitHub.
Ключевые факты
- Идея «инженерии кэша»: агент сам управляет активным KV-кэшем через drop (исключить часть кэша из внимания) и repos (поправить позиционные кодировки оставшихся ключей) без изменения траектории и повторной обработки контекста.
- Проблема обычной обрезки и суммаризации истории: смена префикса сбрасывает закэшированные состояния и требует дорогого повторного прогона сохранённого контекста.
- Движок AKV имеет stateless-интерфейс, совместимый с существующими API, а внутри сам ведёт повторное использование, вытеснение и восстановление кэша; одного префиксного сопоставления для этого мало.
- Политика rolling-drop для ответов инструментов: +1,7 пункта к средним баллам и −27,7% к средней стоимости против суммаризации по порогу; с AKV, до 1,2× пропускной способности и 1,5× по P95-задержке.
- Самоулучшение политик кэша даёт ещё −7,1% стоимости относительно экспертного дизайна; код, github.com/thu-nics/AKV.
Почему это важно
Чем длиннее траектория агента, тем больше расходов съедают ввод-вывод и хранение KV-кэша. Принятый способ, обрезать или пересказывать историю, ломает кэш и заставляет платить за повторную обработку. Работа предлагает другой подход: убирать ненужные части кэша из внимания, не трогая саму траекторию. Если заявленные цифры подтвердятся на других задачах, это путь снизить стоимость длинных агентных сценариев без потери точности.
Кому это важно
Прежде всего тем, кто разрабатывает инфраструктуру обслуживания моделей и строит агентов с длинными траекториями: инженерам по сервингу, авторам агентных фреймворков, командам, считающим стоимость запросов. Исследователям интересна формализация операций над кэшем и понятие зависимости от истории.
Как это применить
Код AKV опубликован в репозитории thu-nics/AKV на GitHub. По описанию авторов, движок предоставляет интерфейс, совместимый с существующими API обслуживания, так что агенту не нужно знать о внутреннем состоянии кэша. Практическую пользу стоит проверять на собственных агентных задачах: в аннотации приведены лишь усреднённые результаты.
Можно ли доверять
Это научная статья, представленная на Hugging Face Papers; все цифры, собственные заявления авторов из аннотации. Не названы бенчмарки, модели и конкретные задачи, шкала баллов, а также база сравнения для 1,2× по пропускной способности и 1,5× по P95-задержке; 1,2× указано как «до», а не как среднее. Не указано, какой «экспертный дизайн» и какая процедура самоулучшения использовались для цифры 7,1%. Статус рецензирования в тексте не указан.
Риски и подводные камни
Заявленный выигрыш получен для конкретной политики (rolling-drop для ответов инструментов) и сравнивается с суммаризацией по порогу; на других политиках и задачах результат может отличаться. Операции drop и repos делают состояние кэша зависимым от истории, поэтому простое префиксное сопоставление для его повторного использования не годится, нужен специальный движок вроде AKV. Условия сравнения для пропускной способности и задержки в источнике не раскрыты.