Google AI представляет EnvHarness: программируемый слой, превращающий статичные среды для агентов в адаптивные миры обучения
Команда исследователей из Google Cloud AI Research, Вашингтонского университета в Сент-Луисе и UNC Chapel Hill выпустила EnvHarness — программируемый слой, который превращает статический бенчмарк для агентов в систему, адаптирующуюся к обучению работающей с ней политики. Теперь LLM-агенты учатся не столько на отобранных текстах, сколько во взаимодействующих средах, однако эти среды создаются вручную и остаются неизменными: они ведут себя одинаково независимо от того, какой агент действует и насколько он улучшился. Обычно проблему решают генерацией новых сред, но это привязывает разработчиков к предметно-ориентированным конвейерам и верификаторам, написанным LLM, которые приходится генерировать с избытком и фильтровать. EnvHarness меняет сам подход. Он оборачивает существующую среду подключаемыми компонентами, работающими строго через стандартный интерфейс reset() / step(), изменяя место начала эпизода, доступные агенту действия и наблюдаемые им данные, при этом симулятор, задачи и созданный человеком верификатор остаются нетронутыми. Дизайнер LLM под названием EnvRigger автоматически создаёт такие обёртки для устранения недостатков, выявленных им в собственных траекториях политики. На пяти бенчмарках в четырёх областях навыки, полученные таким способом, дают прирост до 9,0 пункта на отложенных задачах при сокращении числа шагов выполнения на 9,8%.
Можно ли это развернуть?
Да, если у вас уже есть цикл оценки агента. EnvHarness распространяется как Python-пакет под лицензией Apache-2.0 и содержит драйверы для воспроизведения экспериментов в шести средах. Для подключения нового бенчмарка достаточно реализовать один интерфейс (reset / step / observe / evaluate / get_env_state / save_state / from_state); в остальной части системы ничего менять не нужно. Главное обязательное условие — возможность сброса среды, что исключает реальные пользовательские аккаунты и физических роботов.
Среды, которые перестают обучать
Теперь LLM-агенты учатся не столько на отобранных текстах, сколько во взаимодействующих средах. Эти среды создаются вручную и остаются статичными: они ведут себя одинаково независимо от того, какой агент действует и насколько он улучшился, поэтому не могут нацеливаться на слабые стороны политики и после решения задачи больше не способны ничему её научить.
Обычно ответом становится генерация дополнительных сред. В статье об EnvHarness названы две проблемы: конвейеры генерации зависят от конкретной предметной области и не переносятся между доменами, а верификаторы, написанные LLM, приходится генерировать с избытком и тщательно фильтровать, при этом они никогда не становятся полностью надёжными.
Обёртка, а не создание
Исследовательская команда предлагает противоположный подход. Агентный инструментарий делает замороженную LLM способной к действиям с помощью подключаемых инструментов, памяти и навыков. EnvHarness применяет эту идею к другой стороне цикла, оборачивая замороженную среду подключаемыми компонентами, работающими строго через стандартный интерфейс reset() / step().
Формально компонент представляет собой преобразование E' = w(E), которое переписывает состояние, действие, наблюдение и параметры перехода. Термин вознаграждения намеренно исключён. Поскольку вмешательство не затрагивает серверную часть симулятора, каждая преобразованная задача сохраняет исходный верификатор, созданный человеком, а поскольку предметно-ориентированный код бенчмарка не изменяется, одна реализация подходит для любого домена.
В комплект входят три компонента, которые можно свободно комбинировать:
- Stage воспроизводит фиксированный список действий после
reset(), благодаря чему эпизод начинается в другом месте. Если спрятать целевую кружку в закрытом шкафу, агенту придётся искать её, а не просто добраться до неё. - Contract устанавливает пошаговые обработчики для действий, переходов и наблюдений: блокирует действие, переписывает ответ или сокращает наблюдение.
- Chain объединяет вторую среду с той же последовательностью в рамках общего бюджета шагов, при этом итоговое решение является конъюнкцией результатов обоих верификаторов.
EnvRigger: цикл проектирования
Компоненты не зависят от политики, но их выбор — зависит. EnvRigger рассматривает политику как чёрный ящик и выполняет четыре этапа: наблюдает за пятью базовыми траекториями, диагностирует системный недостаток, пишет компоненты на настоящем Python и проверяет их на пяти новых траекториях. Кандидаты, которые невозможно решить или, наоборот, решить тривиально, отбрасываются; для каждой задачи допускается до пяти раундов доработки. Сгенерированные обработчики компилируются в изолированном подпроцессе, поэтому некорректная модификация превращается в записанную трассировку, а не в прерванный запуск.
Производительность
На ALFWorld, WebArena, SWE-bench Verified, OfficeQA и SpreadsheetBench навыки, полученные с помощью индукции в стиле ReasoningBank, превзошли оба контрольных варианта на нетронутых отложенных задачах.
Средний результат ALFWorld вырос с 62,4 до 68,3 по сравнению с навыками из исходных сред, а на распределении вне области (OOD) прирост составил 9,0 пункта. Доля решённых задач в SWE-bench Verified увеличилась с 49,88 до 52,58, тогда как среднее число шагов снизилось с 55,01 до 49,61 — это заявленная в статье эффективность на 9,8%. В SpreadsheetBench и WebArena навыки из неизменённых сред показали результат ниже базовой линии без навыков; именно преобразование сред делает получение навыков целесообразным. По сравнению с предметно-ориентированными генераторами EnvHarness превзошёл SWE-smith на 2,46 пункта при сокращении числа шагов на 5,11.
При использовании GRPO с Qwen3-8B-base обучение с подкреплением в преобразованных средах превзошло обучение в исходных средах по трём из четырёх метрик (ALFWorld, внутридоменное распределение: с 81,4 до 87,9), с небольшим ухудшением на OOD-разбиении (с 89,6 до 88,8). При масштабировании среды результат достигает 54,79 на 300 средах против 52,13 для исходных и 50,37 для сгенерированных, поскольку дизайнер совместно эволюционирует каждую партию с текущей политикой. А при постановке задачи удерживать долю успеха для каждой задачи в диапазоне [0,4, 0,6] охват этого диапазона вырос с 6% до 80%.
Основные выводы
- EnvHarness оборачивает замороженные среды, используя только
reset()/step(), поэтому верификаторы остаются созданными людьми. - Три компонента — Stage, Contract и Chain — охватывают начальное состояние, правила взаимодействия и композицию эпизодов.
- EnvRigger диагностирует недостатки политики по траекториям и создаёт целевые обёртки, проверяя их на новых траекториях.
- Прирост сохраняется на пяти бенчмарках: +9,0 пункта OOD в ALFWorld и на 9,8% меньше шагов в SWE-bench Verified.
- Код под лицензией Apache-2.0 уже доступен; издержки связаны с токенами дизайнера и обязательным требованием к возможности сброса среды.
Ознакомьтесь с статьёй, репозиторием на GitHub и страницей проекта. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с более чем 150 тыс. участников и подписаться на нашу рассылку. Постойте! Вы пользуетесь Telegram? Теперь к нам можно присоединиться и в Telegram.
Хотите стать нашим партнёром для продвижения вашего репозитория на GitHub, страницы на Hugging Face, релиза продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.