PivotOPD: агент, который учится исправлять свою ключевую ошибку

PivotOPD: агент, который учится исправлять свою ключевую ошибку

В многошаговых задачах AI-агент почти всегда проигрывает одинаково. Он ошибается один раз в начале эпизода, а потом пятнадцать ходов подряд ищет выход из тупика, в который сам себя загнал. Исследователи из NVIDIA и Принстонского университета измерили это на ALFWorld, среде, где агент выполняет бытовые поручения вроде «разогрей яйцо» или «помой лопатку», и получили неудобный результат: больше половины провальных эпизодов ломаются на одном-единственном неверном действии. Новая работа предлагает метод PivotOPD, который целенаправленно учит агента исправлять такую ошибку вместо того, чтобы просто избегать её.

Статья «PivotOPD: Learning to Recover from Pivotal Mistakes in Multi-Turn Agents» вышла на arXiv 30 сентября 2026 года (arXiv:2609.40285) и принята к публикации в рамках линии работ NVIDIA Research. Авторы указывают, что у стандартного подхода к обучению агентов есть слепое пятно: он учится на траекториях, которые сам агент прошёл, а после ошибки такие траектории почти не содержат правильных действий.

Что такое pivotal mistake

Pivotal mistake, или ключевая ошибка, это действие, которое удлиняет оставшийся путь к цели или вовсе делает задачу невыполнимой. Если агент стоит перед шкафом, куда нужно положить предмет, а уходит в другую комнату, он отбрасывает себя назад: до цели теперь дальше, чем было. Момент, в котором совершается такая ошибка, авторы называют pivotal turn.

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

На 140 отложенных задачах исследователи прогнали три модели семейства Qwen3, от 8 до 235 миллиардов параметров. Больше половины провальных эпизодов содержали хотя бы одну ключевую ошибку. Причём первая такая ошибка приходилась на медианный ход от 8 до 12 из 30 доступных. После неё агент тратил ещё от 18 до 21 хода и всё равно не восстанавливался. Это не случайные блуждания: агент упрямо продолжает тупить в одном и том же направлении.

Ошибка почти всегда обратима

Самое интересное начинается, когда авторы берут провал и переигрывают его заново с точечной правкой. У Qwen3-8B было 72 провальных траектории с ключевой ошибкой. Если подменить самый первый неверный ход оракульным действием, доля успешных повторов подскакивает с 8% до 59%. Не 8% плюс чуть-чуть, а рост почти в семь раз.

Дальше авторы проверили более слабый сценарий. Они оставляют ошибку на месте, но принудительно подставляют правильные действия на двух следующих ходах. Успех достигает 58%. То есть ключевая ошибка почти так же обратима, как и предотвратима. Агент, который умеет выбираться из плохого состояния, проигрывает ненамного больше того, кто вообще не попадает в это состояние.

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

Почему стандартная дистилляция не справляется

Модный сегодня подход к обучению агентов называется on-policy distillation, или OPD. Идея в том, что учитель-модель даёт плотную подсказку на каждом токене ответа, сгенерированного самим студентом. Это работает лучше, чем обучение на одних только финальных наградах, потому что даёт сигнал на каждом шаге, а не один раз в конце эпизода.

Проблема в том, что OPD учится на траекториях студента, а сразу после ключевой ошибки таких траекторий с правильным выходом просто нет. Авторы обучили Qwen3-8B стандартным OPD на 120 шагов и обнаружили: общая доля провалов упала с 79% до 56% отложенных задач, но провалы после ключевой ошибки снизились всего с 51% до 49%. Почти никакого прогресса.

Причина в вероятностях. После обучения вероятность совершённой ошибки обваливается с 0,999 до меньше чем 10 в минус пятой. Казалось бы, победа. Но вероятность правильного оракульного действия остаётся ниже 10 в минус второй на каждом ключевом ходу. Из группы из восьми попыток правильное действие не выпадет ни разу. Значит, оно никогда не получит подкрепления. Студент стоит в дыре, которую сам вырыл, и не видит оттуда ни одной подсказки, как выбраться.

У этого есть и математическая причина. Group Relative Policy Optimization, то есть GRPO, вычисляет преимущество действия относительно среднего по группе. Если вся группа провалилась одинаково, относительное преимущество равно нулю. Сигнала нет вообще. А reverse KL, которым пользуется preventive-часть дистилляции, может лишь перераспределить веса между ответами, которые студент уже выдал. Ответа с правильным выходом среди них нет, и взять его неоткуда.

Как работает PivotOPD

PivotOPD добавляет к групповому обучению с подкреплением три компонента.

Первый компонент это detection ключевых ходов. В большинстве сред никакого оракула нет, поэтому роль судьи берёт на себя модель-учитель. Она читает траекторию вместе с её исходом, выбирает несколько ходов-кандидатов, где студент мог уйти не туда, и называет правильное действие для каждого. Ход считается ключевым, когда совершённое студентом действие не совпадает с названным учителем. На ALFWorld хотя бы один найденный так ход попадает в пределы одного хода от помеченного оракулом в среднем в 77,8% провальных траекторий. Это как минимум вдвое чаще случайного выбора.

Второй компонент это preventive distillation. На каждом ключевом ходу замороженный студент получает подсказку с правильным действием и переоценивает свой уже записанный ответ. Расхождение с обычным поведением модели превращается в токен-уровневое преимущество, и reverse KL мягко сдвигает студента в сторону верного действия.

Третий компонент, и ради него всё затевалось, это recovery distillation. Учитель называет не только правильное действие в момент ошибки, но и действие восстановления на каждом из следующих нескольких ходов. Замороженный студент с подсказкой пишет ответ, доходящий до нужного действия, и студент обучается на этом ответе уже без подсказки. Здесь используется forward KL, который захватывает массу вероятности и насильно приподнимает те действия, которые студент сам почти никогда не выбирает.

Разница направлений KL здесь принципиальна. Reverse KL подтягивает распределение студента туда, где оно уже плотное. Forward KL, наоборот, накрывает редкие моды. Именно поэтому recovery-часть способна «посадить» массу вероятности на действие, вероятность которого у студента была почти нулевой.

Числа

Метод обучали на четырёх многошаговых задачах: ALFWorld, WebShop, поисковая викторина по семи датасетам и SWE-Bench Verified, где агент правит реальные баги в python-репозиториях. Сравнивали с 13 базовыми методами, включая GRPO, обычный OPD и целый набор подходов для многошаговых агентов вроде TurnOPD и TCOD.

Студент на 1,7 миллиарда параметров с PivotOPD обошёл сильнейший базовый метод на 5,5 процентного пункта на ALFWorld и на 5,9 пункта в поисковой викторине. На студенте в 8 миллиардов разрыв скромнее, но всё ещё не меньше 1,8 пункта. Самый показательный выигрыш оказался там, где базовая модель решает задачи хуже всего: типы Clean, Cool и Heat на ALFWorld. Логика простая: когда все попытки в группе падают, GRPO остаётся без сигнала, а recovery-дистилляция его даёт.

На WebShop, где нормализованный балл даёт частичный кредит за почти выполненную покупку, разница между рейтингом и фактическим успехом особенно наглядна. PivotOPD обоходит лучший базовый метод всего на 1,2 пункта балла, но на 14,1 пункта по доле полностью завершённых покупок. Это ровно тот профиль, которого ждёшь от метода, учащего не бросать дело на полпути: агент доводит до конца то, что раньше оставлял незавершённым.

Отдельно авторы проверили, что метод не требует учителя сильнее студента. Если студент учится сам у себя, PivotOPD всё равно остаётся лучшим на всех трёх основных задачах, обходя сильнейший базовый метод минимум на 1,5 пункта. На модель другой семьи эффект тоже переносится: студент Nemotron-3.5 на SWE-Bench Verified поднимает resolve rate на 3,2 пункта против жалких 0,2 у стандартного OPD. Это закрывает примерно треть разрыва до учителя.

Что именно творит чудеса

Самая полезная часть статьи это абляционные эксперименты. Они показывают, какой компонент за что отвечает.

Если оставить только preventive-часть без recovery, средний успех на ALFWorld падает до 72,5% против 73,7% у полного метода. Если убрать hints с правильным действием и заменить их общими размышлениями о том, что пошло не так, результат держится почти на том же среднем, но проваливается на задаче Pick2, теряя 9,3 пункта. Вывод конкретный: называть правильное действие обязательно там, где решение нельзя вывести из одного наблюдения.

Самый сильный сигнал даёт бюджет восстановления K, то есть число ходов после ошибки, на которых учитель подсказывает выход. На ALFWorld лучший результат даёт K=2, на WebShop и поисковой викторине достаточно K=1. Разница не косметическая. Отказ от recovery по сравнению с подобранным бюджетом снижает лучший балл валидации на 5,4 пункта на ALFWorld, на 21,5 пункта на WebShop и на 2,4 пункта в викторине. На WebShop итоговый балл различается до 19,5% между разными K, а увеличение бюджета с K=1 до K=3 неожиданно роняет его на 7,8%.

Авторы объясняют выбор K через глубину задачи. В WebShop нужно сделать одну покупку, и одного хода восстановления достаточно. В ALFWorld после ошибки приходится выстраивать цепочку из нескольких связанных подзадач, поэтому и ходов нужно два. Это подтверждает теоретическое утверждение из статьи: чем длиннее цепочка обязательных действий после ошибки, тем глубже нужен бюджет восстановления.

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

Что это меняет для практики

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

Есть и практическая привлекательность в стоимости. PivotOPD меняет только обучение. На инференсе студент действует без учителя, без подсказок и без восстановительных прогонов, поэтому метод не добавляет ни одной лишней миллисекунды при выполнении задачи. Накладные расходы на само обучение тоже скромные: с одним ходом восстановления это плюс 12,4% ко времени шага обучения относительно GRPO. Дорожает только второй ход, потому что требует переигрывания записанных действий в копии среды, и время восстановительных прогонов растёт больше чем в десять раз. Именно поэтому авторы и подбирают K аккуратно под задачу, а не ставят его побольше на всякий случай.

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

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

Чем PivotOPD отличается от обычной on-policy distillation?

OPD учится только на ответах, которые студент сам сгенерировал. После ключевой ошибки правильного выхода в этих ответах почти нет, поэтому сигнала на исправление не возникает. PivotOPD дополнительно тренирует студента на ответах, которые пишет замороженная модель с подсказкой, и направляет forward KL туда, где студент сам почти не бывает.

Почему простое увеличение числа ходов восстановления не помогает?

Бюджет K взаимодействует с весом recovery-сигнала. Каждый лишний ход добавляет ещё одну обучающую последовательность на каждую ключевую ошибку и множит общий сигнал. Слишком большой бюджет либо перекачивает обучение, либо требует переигрывания среды и сильно дорожает. На WebShop рост K с 1 до 3 снижает балл на 7,8%.

Нужен ли более сильный учитель?

Нет. Когда студент выступает собственным учителем, PivotOPD всё равно обходит сильнейшие базовые методы минимум на 1,5 пункта на всех трёх основных задачах. Основной выигрыш идёт не от мощности учителя, а от того, в каких местах траектории он вмешивается и какие действия подсказывает.

Итог

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

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

← Все записи