Задачи, которые требуют навыков использования инструментов и многократного поиска в интернете, обычно создают длинные сценарии, которые ломают большинство LLM-агентов: либо они просто копят всю историю, что достаточно больно для использования в контексте, либо сжимают всю историю на каждом шаге, что приводит к забыванию важных деталей.

AgentFold-30B-A3B сохраняет компактный контекст и выдерживает сотни шагов, оставаясь на уровне или выше куда более больших моделей
AgentFold-30B-A3B сохраняет компактный контекст и выдерживает сотни шагов, оставаясь на уровне или выше куда более больших моделей

Идея: проактивное сворачивание контекста

AgentFold обучает агентов использовать свое долговременное хранилище памяти с многоуровневыми сводками состояния. Реализация этого механизма — не тривиальная инженерная задача. Авторы предлагают механизм сворачивания (folding) и учат агентов сворачивать память, проактивно решая, когда выполнять свёртку, какой масштаб использовать и как её выполнять. На каждой итерации агент делает как минимум один выбор: свернуть ли малый блок памяти, а когда текущая подзадача закончилась или замечен тупик в сценарии, свернуть несколько больших блоков памяти.

Как устроен цикл

Каждый ответ агента — структурированный: размышление, сворачивание, объяснение и вызов инструмента. После ответа инструмента новое наблюдение добавляется к последнему шагу, а свёртки сразу обновляют сводки состояния. Цикл выглядит как воспринять → понять → свернуть → действовать. Такой явный шаг с памятью заставляет модель думать, что именно из недавней истории будет полезно дальше, и сокращает шум, который так любит распухать в классических ReAct-агентах.

Контекст AgentFold на промежуточном шаге: многоуровневые сводки и полная запись последнего шага; ответ состоит из размышления, сворачивания, объяснения и вызова инструмента
Контекст AgentFold на промежуточном шаге: многоуровневые сводки и полная запись последнего шага; ответ состоит из размышления, сворачивания, объяснения и вызова инструмента

Почему это помогает в длинных задачах

После ответа инструмента новое наблюдение добавляется к последнему шагу, и немедленно обновляются сводки состояния. Каждое сворачивание кратко резюмирует заданный диапазон блоков состояния в одном блоке. Этот рабочий набор должен содержать все необходимое для решения задачи. Такой явный шаг сворачивания памяти с многоуровневыми сводками состояния заставляет модель задуматься о том, что из недавней истории может понадобиться в будущем, в результате чего создается меньше шума в рабочем активном наборе по сравнению с классическим ReAct, и закрытые подзадачи не потеряны.

В результате средняя длина используемого контекста растет сублинейно по ходу выполненной сценария, например, от 3,5 тыс. к 7 тыс. на BrowseComp к 100-му шагу при лимите в 128 тыс. токенов. Он на 84 тыс. токенов короче на 100-м шаге (минус 92%), экономя около 7 ГБ памяти на прогон на одном из сценарии.

Например, в одном исследуемом случае на 17-м шаге агент замечает, что шаги 6-16 были тупиком, и делает глубокое сворачивание из 11 шагов в одно обобщающее суждение.

Кривая роста контекста AgentFold показывает сублинейный рост даже на длинных сценариях
Кривая роста контекста AgentFold показывает сублинейный рост даже на длинных сценариях
Масштабируемость по числу вызовов инструментов: агент стабильно работает сотни шагов
Масштабируемость по числу вызовов инструментов: агент стабильно работает сотни шагов

Отмечу, что обучение проводилось только с помощью SFT: авторы собрали датасет сценариев с хорошими действиями и надлежащим свертыванием памяти с помощью отбраковки шагов с ошибками среды и неправильно построенных шагов, а затем обучили Qwen3-30B-A3B отвечать на запрос с обоснованием.

Контекст случая 1 на шаге 17
Контекст случая 1 на шаге 17
Ответ агента на шаге 17 после обобщения
Ответ агента на шаге 17 после обобщения

Что получилось на бенчмарках

В результате, AgentFold-30B-A3B, используя только свое внутреннее хранилище памяти, достигает 36,2% на BrowseComp, 47,3% на BrowseComp-ZH, 62,1% на WideSearch и 67,0% на GAIA (только текст). Это выше, чем o4-mini от OpenAI (28,3 и 44,3 на BrowseComp и BrowseComp-ZH) и сопоставимо или даже выше, чем у GLM-4.5-355B-A32B, DeepSeek-V3.1-671B-A37B (у последнего 30 и 49,2). При увеличении лимита шагов на BrowseComp с 128 до 256 финальный показатель не падает, а повышается.

После серии неудач AgentFold сворачивает ветку в один вывод и меняет стратегию
После серии неудач AgentFold сворачивает ветку в один вывод и меняет стратегию

Что это значит для нас

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

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

? Полная статья

***

Если вам интересна тема ИИ, подписывайтесь на мой Telegram-канал — там я регулярно делюсь инсайтами по внедрению ИИ в бизнес, запуску ИИ-стартапов и объясняю, как работают все эти ИИ-чудеса.

Комментарии (0)