Журнал · Rit.work

AgentZip сжимает память агентских песочниц в паузах между командами

AgentZip использует сходство параллельных песочниц и периоды ожидания LLM, чтобы увеличить их плотность на сервере без трёхкратного замедления.

Rit.work
Студия разработки
12 сентября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

AgentZip уменьшает объём памяти, который занимают параллельные агентские песочницы, и тем самым повышает возможное число одновременных сессий на сервере. В препринте HKUST, который не прошёл рецензирование и содержит замеры самих авторов, память сокращалась до 8,7 раза против 2,1 раза у обычной конфигурации Linux. Для платформ, где один запрос запускает несколько песочниц, это переносит внимание с покупки памяти на устройство среды исполнения.

Сходство песочниц полезнее, чем обычное сжатие страниц

Агент выполняет команды, меняет файлы, ставит зависимости и запускает тесты в изолированной среде. При обучении или переборе нескольких вариантов одна задача порождает сразу группу песочниц, каждая из которых удерживает собственные страницы памяти даже во время ожидания следующей команды от LLM.

Обычные механизмы Linux видят эти среды как независимые процессы. KSM объединяет только страницы с полностью одинаковым содержимым, а zswap сжимает каждую страницу отдельно. Первый подход пропускает почти одинаковые страницы, второй не использует сходство между песочницами.

AgentZip учитывает общий источник сессий. Песочницы создаются из неизменяемого шаблона с операционной системой, библиотеками и зависимостями, а частные копии появляются при записи. Если изменённая страница всё ещё похожа на исходную, система хранит разницу относительно шаблона.

Второй вариант рассчитан на родственные песочницы, которые открывают один репозиторий и выполняют похожие последовательности команд. AgentZip собирает общие фрагменты их памяти в словарь и кодирует страницы через него. Если межсессионного сходства нет, система применяет локальное сжатие и для каждой страницы выбирает представление, которое действительно экономит память с учётом служебных данных.

Размер словаря нельзя увеличивать автоматически: на более разнообразных сессиях дополнительные образцы ухудшали результат. Поэтому AgentZip проверяет словари на отдельных страницах и учитывает память, которую займёт сам словарь.

Упреждающее восстановление удерживает задержку

Обычные системы стараются сжимать холодные страницы, к которым процесс вряд ли скоро обратится. AgentZip допускает сжатие и тёплых страниц, если их можно компактно представить. Это освобождает больше памяти, но создаёт риск: повторное обращение останавливает песочницу, пока страница не будет восстановлена.

Система переносит контроль задержки на этап восстановления. Несколько предсказателей ищут последовательные обращения, повторяющиеся переходы между страницами и наборы страниц, которые обычно нужны в начале запуска инструмента. Подходящие страницы восстанавливаются заранее, вне критического пути команды.

Без такой предвыборки агрессивное сжатие увеличивало общее время выполнения до 3,1 раза. Полный набор предсказателей снизил этот показатель до 1,40 раза, почти не уменьшив экономию памяти.

Разница возникает не столько из-за распаковки, сколько из-за обработки остановившего процесс сбоя страницы. В хвосте распределения восстановление по требованию занимало 223 мс, тогда как само декодирование — 9 мс. Поэтому дальнейшая оптимизация кодека дала бы меньше, чем перенос восстановления за пределы критического пути.

Дорогую часть сжатия AgentZip тоже убирает с пути инструментов. Во время выполнения команды лёгкий наблюдатель только ранжирует подходящие страницы, а кодирование и освобождение памяти происходят, когда песочница ждёт ответ LLM. Прототип хранит сжатые данные в пользовательском процессе и перехватывает обращения к освобождённым страницам через userfaultfd.

Планы меняются у платформ с общим шаблоном и широким ветвлением

Проверка охватывает два сценария обучения и работы готовой LLM — Rollout и GAF. AgentZip сравнивали с конфигурацией Linux и с вариантами системы без отдельных механизмов планирования и предвыборки. Выводы относятся к песочницам, которые клонируются из неизменяемого шаблона через копирование при записи и исполняют связанные траектории.

Для такой платформы работа предлагает изменить архитектуру песочниц до очередного расширения серверов. Среда исполнения должна знать, какие сессии относятся к одной задаче, сохранять связь страницы с шаблоном и передавать менеджеру памяти сигнал о переходе от команды к ожиданию LLM. Без этих данных останется только обычное локальное сжатие.

AgentZip не выглядит заменой одной настройки ядра. Потребуются пользовательское хранилище сжатых страниц, обработка сбоев памяти, сбор образцов для общих словарей и интеграция с жизненным циклом агента. Это отдельная подсистема платформы, а не свойство выбранной LLM или агентского фреймворка.

Максимальный результат также не стоит напрямую переносить в расчёт числа серверов. Практический тест должен воспроизвести ветвление конкретного продукта, длительность инструментальных команд и периоды ожидания модели, а затем одновременно измерить средний объём памяти и полное время задачи. Работа показывает, что запас плотности существует, но его размер определяет сходство реальных сессий.

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

Ко всем материалам
Понравилось? Обсудим вашу задачу