ROFT: агент учится на объяснениях, а не на наградах

ROFT: агент учится на объяснениях, а не на наградах

Мы часто понимаем свой опыт только в тот момент, когда начинаем о нём рассказывать. Человек объясняет провалившийся разговор одной причиной, а в процессе пересказа всплывает совсем другая: он защищал идею, тогда как собеседник сомневался в её основе. Сам результат не изменился, но изменилось понимание того, что нужно было сделать иначе.

Новая работа исследует ту же идею применительно к языковым агентам. Оказалось, что модель можно научить решать задачи лучше, если дообучать её не на действиях, а на собственных объяснениях этих действий. Метод называется ROFT, и он обгоняет классическое обучение с подкреплением, не используя ни награды, ни внешнего учителя.

Что такое ROFT

Retrospection-Only Fine-Tuning (сокращённо ROFT) это процедура, в которой агент выполняет задачу, получает обратную связь, генерирует текстовое объяснение своего опыта и дообучается на токенах этого объяснения. Никаких внешних экспертов, никаких скалярных наград за успех. Модель просто учится прогнозировать собственный разбор собственной попытки.

Авторы формулируют общий принцип так: learning to explain (обучение объяснять) может улучшать learning to do (обучение делать). Это не очевидное утверждение. Обычно обучение агента опирается либо на имитацию успешных траекторий, либо на подкрепление по итоговому результату.

Как это выглядит на практике

Цикл обучения простой. Агент получает задачу, пытается её решить, собирает доступную обратную связь (результат тестов, вердикт, историю шагов), а затем та же самая модель пишет четыре независимых объяснения: что она сделала, почему, где ошибалась и как действовала бы иначе. Дообучение применяется только к токенам объяснений. Контекст, то есть сама задача и траектория, маскируется и в лосс не попадает.

Дальше важная деталь: объяснения не остаются в промпте для следующих попыток. Они влияют на поведение исключительно через обновлённые веса. Агент как будто впитывает урок и действует так, словно помнит разбор, хотя в контексте его больше нет.

Это отличает ROFT от трёх других путей работы с рефлексией. Первый способ использует объяснения как подсказку, чтобы супервизировать действия (подходы вроде STaR и On-Policy Context Distillation). Второй просто накапливает прошлые размышления в промпте без обновления весов. Третий обучает модель именно на обратной связи. ROFT берёт четвёртую позицию: обратная связь становится целью предсказания, а не контекстом и не сигналом для действия.

Почему награды не хватает

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

Особенно остро это проявляется при разреженной награде. Если все попытки из группы провалились, то внутри группы нет разброса в бинарной награде, и обучаться не на чем: градиент просто не возникает. Агент застревает на задаче, которую не может решить, и не получает никакого сигнала о том, в какую сторону двигаться. Объяснение, написанное по итогам провала, такой сигнал даёт.

Результаты на SWE-bench

Эксперименты шли на модели Qwen3.5-4B и наборе SWE-rebench-767 из 767 задач по разработке ПО. Каждую задачу агент выполняет в отдельном контейнере репозитория и может читать файлы, редактировать их, искать по коду и запускать команды.

На отложенном SWE-bench Verified ROFT после 20 обновлений достигает 49.2% решённых задач. GRPO в тех же прогонах доходит до 48.0%, но ему для этого нужно 40 обновлений. На более сложном SWE-bench Pro картина та же: 26.8% против 25.3%. ROFT обгоняет более тяжёлый метод, потратив вдвое меньше шагов и не используя верификатор.

Для сравнения, другие базовые линии на Verified показывают: ERL 45.6%, CFT 46.0%, SCFT 46.8%, SSD 47.0%, GRPO 48.0%, ROFT 49.2%. То есть весь диапазон конкурентов укладывается в 3.6 процентных пункта, и минималистичный метод оказывается наверху.

Экономика обучения

Разница в затратах не менее показательна, чем итоговые проценты. На 40 обновлениях ROFT требует 4.32 часа и 6 035 попыток решения. GRPO на том же горизонте тратит 8.30 часов и 11 576 попыток. Это примерно вдвое меньше работы, потому что ROFT не отбрасывает группы с одинаковой наградой и не нуждается в отдельном критика.

Генерация объяснений тоже стоит денег, и авторы честно включают её во время обучения. Но даже с ней суммарные затраты остаются ниже. Обучение шло на четырёх GPU NVIDIA B200 для тренировки и четырёх для инференса, при лимите в 100 шагов агента, 8 192 сгенерированных токена на шаг и окне контекста 131 072 токена.

Отдельно про масштаб расходов на таких агентов. Авторы указывают, что один прогон GRPO на 40 обновлений стоит около 500 долларов по текущим ценам на GPU, а единственная оценка на SWE-bench Pro обходится ещё в 200 долларов. Именно поэтому они выбрали ROFT за простоту, а не за оптимальность.

Задача, которую не решил никто

Самая интересная часть результатов касается обучения там, где изначально не было ни одного успеха. Авторы взяли отдельные задачи, в которых все 64 попытки базовой модели провалились, и продолжили обучение только на них. Стартовые наборы давали 0 успехов из 64 для SymPy 20916, SymbiFlow 17 и Django 15554, и всего 2 из 64 для Pylint 6386.

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

Как ROFT соотносится с прошлыми подходами

Идея учиться на обратной связи не нова, но у ROFT особая позиция среди предшественников. STaR для проваленной задачи подаёт правильный ответ как подсказку, генерирует рассуждение и дообучается на последовательности без подсказки. Ему нужен внешний сигнал в виде эталонного ответа. On-Policy Context Distillation, RLTF-SD и OPSD передают знание через предсказания учителя, а последние два ещё и через обновления по награде.

ROFT убирает и учителя, и награду. Объяснения генерирует та же модель, которая учится, а обучающий сигнал берётся из текста, а не из числа. Авторы объясняют отставание базовых линий ERL и CFT именно этой разницей. В ERL повторные успешные попытки генерируются с рефлексией, которая содержит привилегированную информацию, но при интернализации контекста эта рефлексия удаляется, и возникает рассинхрон между контекстом генерации и контекстом обучения. В CFT критику пишет отдельная модель-учитель, а не сам ученик. Сравнение с SCFT показывает, что супервизия успешных траекторий правок не улучшает результат первой попытки так же хорошо, как обучение на разборе исходного провала.

Что именно усваивает модель

Авторы разложили механизм на части. Обучение на объяснениях косвенно назначает credit (заслугу) действиям: оно повышает вероятность хороших ходов и понижает вероятность ошибочных, хотя никто не размечал, какой шаг был правильным. Анализ вероятностей 14 200 размеченных шагов из 254 траекторий показал, что ROFT смещает распределение именно в сторону корректных решений, причём заметнее, чем GRPO.

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

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

Ограничения и о чём стоит помнить

Эксперименты сосредоточены на разработке ПО и одной модели Qwen3.5-4B, потому что обучение долгоживущих агентов дорого. Авторы прямо говорят, что выбрали ROFT за простоту, а не за оптимальность, и призывают к более широким контролируемым исследованиям на разных моделях и доменах.

Есть и более тонкое предупреждение, которое стоит держать в голове. Следующий вызов состоит в том, чтобы научиться определять, какие объяснения заслуживают усвоения. Если этого не делать, агент рискует закреплять правдоподобные, но ошибочные трактовки собственного опыта. Объяснение провала может звучать убедительно и при этом вести не туда.

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

Агентские системы переходят от коротких демонстраций к долгим автономным сессиям, где задача занимает десятки и сотни шагов. В таких условиях итоговая награда почти не помогает: она сообщает, что весь прогон провалился, но не указывает, какой из ста промежуточных выборов был роковым. Человек в аналогичной ситуации разбирает произошедшее словами, и именно этот механизм ROFT переносит в обучение.

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

Часто задаваемые вопросы

ROFT заменяет обучение с подкреплением полностью?

Не заменяет, а дополняет. Авторы показывают, что на задачах с разреженной наградой объяснения дают сигнал там, где RL его теряет. Для задач с плотной и надёжной наградой RL остаётся сильным инструментом, а ROFT скорее добавляет ещё один канал обучения.

Почему обучение на объяснениях работает, если объяснения пишет та же модель?

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

Это применимо к обычным задачам, а не только к коду?

Механизм не привязан к коду, но именно на задачах разработки есть удобная обратная связь в виде тестов. Авторы считают, что привязка объяснений к наблюдениям позволит выйти за пределы задач с рукотворными верификаторами и сделать источником супервизии обычное взаимодействие.

Итог

ROFT показывает простой и неожиданный результат: обучение объяснять может улучшать обучение делать. Агент, дообученный только на собственных разборах своих попыток, обходит RL-подход GRPO на SWE-bench Verified и Pro, тратит вдвое меньше часов на обучение и учится решать задачи, где изначально не было ни одного успеха. Ни учителя, ни награды, ни верификатора.

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

← Все записи