Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Многошагового агента научились дообучать не по всему диалогу, а на том вызове модели, где смена ответа действительно влияет на итог задачи. Хотя работу Zixiang Chen и коллег ещё не рецензировали и числа получили сами авторы, на BFCL v4 точность в задаче с временно недоступной функцией выросла более чем вдвое. Для команд это превращает выбор шага обучения из фиксированного правила в отдельную диагностику перед запуском обучения.
Почему смешанные награды ещё не указывают на полезный шаг
В многошаговом сценарии итоговая награда зависит не только от текущего ответа модели. После него среда может вернуть разные данные, агент может выбрать другой инструмент, а следующие вызовы модели — исправить ошибку или создать новую. Поэтому успешные и неуспешные продолжения одного шага ещё не означают, что этот шаг стоит обучать.
В одном примере Gemma каждый раз корректно отказывалась вызывать недоступный инструмент, но итоговая награда всё равно менялась между успехом и неудачей. Фильтр, который ищет группы с разными наградами, сохранил бы такие примеры, хотя наблюдаемые ответы модели не различались. Сигнал создавали последующие события, а не действие в выбранной точке.
Critical-State RL сначала задаёт несколько кандидатов — например, ответ до появления инструмента и ответ после его появления. Для каждого кандидата метод проверяет три условия: локальная оценка должна отражать влияние действия на итог, у базовой модели должен оставаться запас для улучшения, а разные действия должны давать разные средние оценки.
Чтобы отделить последнее условие от случайности продолжения, система несколько раз генерирует действия при одном и том же контексте. Затем она фиксирует каждое действие и заново разыгрывает только последующую часть взаимодействия. Различие между средними оценками действий становится полезным сигналом, а разброс продолжений одного действия считается шумом.
После диагностики градиент применяют только к токенам выбранного вызова. Предыдущие сообщения дают контекст, а последующие могут участвовать в расчёте награды, но сами не обучаются. По устройству это похоже на обучение контекстного бандита: модель выбирает действие в заданной ситуации и получает локальную оценку без распределения общей награды по всей цепочке.
Неверная граница обучения не просто теряет прирост
Основной эксперимент провели на Gemma-4-26B-A4B без рассуждающего режима и многошаговой части BFCL v4. В одной категории нужная функция появлялась только на следующем ходу, в другой функции не хватало обязательного аргумента. Для каждой категории отдельно обучали выбранный диагностикой вызов и альтернативный.
Когда функция временно отсутствовала, диагностика выбрала ответ после её появления. Точность выросла с 14% до 28,3%. Обучение предыдущего ответа, напротив, снизило результат на 4,5 процентного пункта: агент получал градиент там, где вариативность награды в основном создавали дальнейшие события.
При недостающем аргументе полезным оказался более ранний ответ — до того, как среда передала значение. Его обучение добавило 3,8 процентного пункта, тогда как обучение следующего ответа дало только 1 пункт. Единое правило «всегда обучать решение» или «всегда обучать восстановление» улучшало одну категорию, но не другую.
Выбранное место зависит и от модели. В аналогичном сценарии Nemotron полезным стал ответ до появления функции, тогда как для Gemma — восстановление после её появления. Метод также применили к предотвращению повторных вызовов и управлению памятью, но эти опыты проверяли весь рецепт целиком, а не сравнивали варианты выбора шага так же строго, как основной эксперимент.
Диагностику стоит добавить перед локальным дообучением
Работа меняет планы команд, которые уже собирают траектории агентов и могут повторно запускать их продолжения. Вместо выбора всех ходов с неодинаковой наградой стоит сохранять контекст, действие и последующую траекторию раздельно. Тогда один ответ можно зафиксировать, несколько раз продолжить взаимодействие и проверить, связана ли награда именно с ним.
Метод не устраняет ручную часть проектирования. Команда по-прежнему определяет кандидатов и создаёт локальную оценку, которая действительно связана с итогом задачи. Для инструмента это может быть отсутствие преждевременной записи и корректный вызов после появления функции; для памяти — правильный порядок операций и сохранение фактов, нужных для ответа.
Не стоит переносить найденный шаг между моделями и задачами как постоянную настройку. Диагностику нужно повторять после смены модели, структуры диалога или правил среды: тот же сценарий уже выбрал разные места обучения для Gemma и Nemotron.
Проверка пока охватывает заранее заданные фазы и выбирает один вызов модели на учебный пример. Поэтому работа обосновывает локальный выбор между несколькими понятными кандидатами, но не показывает автоматический поиск произвольного числа критических точек в длинной неизвестной траектории.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



