HarnessAdapt-RL обучает кодового агента вместе с его обвязкой

HarnessAdapt-RL обучает кодового агента вместе с его обвязкой

Обычно при обучении кодовых агентов меняется только политика (сама модель), а обвязка (harness) остаётся фиксированной. Авторы статьи отмечают, что в ходе обучения траектории агента вскрывают ошибочные стратегии исправления кода и проблемы во взаимодействии со средой; эти проблемы различаются от задачи к задаче и меняются по мере того, как политика учится.

На этом построен метод HarnessAdapt-RL: он обучает политику и одновременно адаптирует её обвязку в ходе обучения с подкреплением. Адаптация делится на два контура. Для ошибочных стратегий исправления замороженная модель-учитель генерирует навыки (skills) уровня механизма, привязанные к конкретной задаче. Для проблем взаимодействия, которые повторяются в разных задачах, отдельная модель-учитель эволюционно развивает инструменты и хуки (hooks) и оставляет каждое изменение только в том случае, если оно повышает наблюдаемую долю решённых задач или наблюдаемую долю «обучаемых» задач (trainable rate) и не снижает ни ту, ни другую. Политика обучается с уже адаптированной обвязкой, а её новые траектории направляют следующую адаптацию.

Результаты. На базовой модели размером 9B HarnessAdapt-RL повышает pass@1 относительно GRPO на 9,8 процентного пункта на SWE-bench Verified, на 12,6 п.п. на SWE-bench Multilingual и на 6,4 п.п. на SWE-bench Pro. Кроме того, метод превосходит GRPO, обученный с человеком спроектированной обвязкой OpenHands.

Дополнительные наблюдения авторов: выигрыш от навыков уровня механизма сохраняется и после их удаления на этапе оценки; повторная эволюция инструментов и хуков по мере изменения политики работает лучше, чем замораживание их ранних версий; если же убрать эволюционировавшие инструменты и хуки при развёртывании, потери составляют до 7,7 п.п. Итог: обучение даёт пару «модель плюс обвязка», обученную политику и развитые инструменты с хуками, а навыки при развёртывании убираются.

Ключевые факты

  • HarnessAdapt-RL обучает политику кодового агента и одновременно адаптирует его обвязку (навыки, инструменты, хуки) в ходе обучения с подкреплением.
  • На базовой модели 9B pass@1 выше, чем у GRPO, на 9,8 п.п. (SWE-bench Verified), 12,6 п.п. (Multilingual) и 6,4 п.п. (Pro); метод также обходит GRPO с обвязкой OpenHands, спроектированной человеком.
  • Навыки генерирует замороженная модель-учитель, а инструменты и хуки развивает отдельная модель-учитель; изменение сохраняется, только если улучшает долю решённых или «обучаемых» задач и не ухудшает ни одну из них.
  • Выигрыш от навыков остаётся после их удаления при оценке; удаление эволюционировавших инструментов и хуков при развёртывании стоит до 7,7 п.п.
  • Результат обучения, пара «модель плюс обвязка»: обученная политика и развитые инструменты с хуками, без навыков.

Почему это важно

Идея в том, что качество кодового агента определяется не только весами модели, но и обвязкой вокруг неё, а в типичном обучении обвязка остаётся неизменной. Авторы предлагают менять её по ходу обучения, поскольку проблемы агента меняются вместе с политикой. Заявленный прирост на трёх вариантах SWE-bench над GRPO и над GRPO с обвязкой OpenHands показывает, что совместное обучение может давать больше, чем обучение одной модели.

Кому это важно

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

Как это применить

Напрямую, пока нечем: в доступном описании не указаны ни база 9B, ни модели-учителя, ни выпуск кода или весов. Практическая мысль для разработчиков агентов: рассматривать обвязку как часть обучаемой системы и проверять каждое изменение инструментов и хуков по метрикам (доля решённых и «обучаемых» задач) вместо ручной настройки. Развёртывать нужно пару «обученная политика плюс эволюционировавшие инструменты и хуки»: их удаление стоит до 7,7 п.п.

Можно ли доверять

Это препринт, и в доступном тексте только аннотация: авторы, организации и дата не указаны, абсолютные значения pass@1 для HarnessAdapt-RL и GRPO не приведены, только разницы в процентных пунктах. Все утверждения, самооценка авторов, независимой проверки в тексте нет. Тем не менее набор из трёх вариантов SWE-bench и сравнение с обвязкой OpenHands делают заявление проверяемым при публикации кода.

Риски и подводные камни

Результаты приведены для одной базовой модели размером 9B; перенос на другие размеры в аннотации не обсуждается. Не указано, на каком бенчмарке и в каком режиме получена потеря «до 7,7 п.п.» при удалении инструментов и хуков. Метод требует двух моделей-учителей, но стоимость обучения и вычислительные затраты не названы. Прирост указан в процентных пунктах над GRPO, а не в относительных процентах, и его не следует читать как итоговую долю решённых задач.