Microsoft и Hugging Face дообучили Qwen3.8-27B: успех агента вырос с 51,70% до 60,78%

Microsoft и Hugging Face дообучили Qwen3.8-27B: успех агента вырос с 51,70% до 60,78%

Microsoft и Hugging Face опубликовали продолжение своего первого поста о ThinkingBox. Бенчмарк ThinkingBox-Bench проверяет работу агента по тому, что реально изменилось в базе данных, а не по словам агента о том, что он закончил. Каждая из 507 задач выдаёт агенту настоящий бэкенд, набор MCP-инструментов и симулированного пользователя с закрытым контекстом, а в конце запускает исполняемые проверки итогового состояния базы. Проверяется нужная запись в бэкенде, а не конкретные вызовы инструментов. Авторы заметили, что для большинства задач такая проверка сразу возвращает 1 или 0, то есть годится не только как оценка, но и как функция награды.

Из задач в формате ThinkingBox, не входящих в бенчмарк, собрали обучающий набор и использовали результаты проверок как награды. Главная трудность, выбрать подходящие задачи: большинство либо уже решаются моделью, либо безнадёжны, и в обоих случаях ничему не учат. Авторы называют подход «офлайн-сложностью относительно политики» (offline policy-relative difficulty): вероятность успеха каждой задачи один раз оценивают на базовой модели до обучения, и отобранный набор остаётся неизменным весь прогон.

Результат: Qwen3.8-27B дообучили методом GRPO за 50 шагов и проверили на всех 507 задачах бенчмарка, которых модель в обучении не видела. Средний успех (pass@1, по всем 10 140 попыткам: 507 задач по 20 попыток) вырос с 51,70% до 60,78%. Число задач, решённых верно во всех двадцати попытках, выросло с 38 (7,5%) до 107 (21,1%), почти втрое. Для сравнения, по данным авторов, у Kimi-K3 таких задач 68, у GPT-5.4, 128, у GPT-6 Astra, 231, у Claude Opus 5.5, 241.

Среднее и повторяемость дают разный порядок моделей. GPT-5.6 Sol набрал чуть больше по pass@1 (61,91% против 60,78% у дообученной модели), но прошёл все 20 попыток лишь в 82 задачах против 107. Claude Sonnet 4.6 с pass@1 59,19% решил во всех попытках 102 задачи. В первом посте авторы показали и обратный пример: Kimi-K3 хотя бы раз решил 93,89% задач, но на всех двадцати попытках справился лишь с 68 из 507 (13,41%), а Claude Opus 5.5 обошёл Claude Opus 5 по pass@1 на 0,66 процентного пункта, но в обоих случаях по 241 задаче прошли все попытки.

Покрытие «хотя бы раз» (pass@20) после обучения слегка снизилось. Авторы называют картину согласованной с «заострением» (sharpening) и предполагают, что распределение вероятностей сместилось к траекториям, которые срабатывают стабильно, а часть маловероятных путей исчезла. Вывод авторов: модель не стала шире, она стала более повторяемой. По доменам pass@1 и доля задач с 20/20 выросли во всех пяти; pass@20 вырос в необанке и консалтинге и упал в ритейле, путешествиях и автостраховании. Самая большая потеря охвата, автострахование (−7,0 пункта), самый большой прирост по 20/20, ритейл (+24,5 пункта).

Пример на одной задаче: путешественник просит понизить класс номера, а по правилам компании сначала нужно одобрение менеджера. До обучения агент менял бронь и оформлял возвраты без одобрения в 15 попытках из 20. После дообучения он сохранял состояние брони и платежей во всех 20 попытках; все ожидаемые записи совпали в 19.

Стоимость: «цена за надёжную задачу» (оценочная стоимость всей кампании 507 × 20, делённая на число задач с 20/20) у дообученной модели составила $8,00 против $6,80 у GPT-5.4, $7,45 у GPT-6 Astra и $7,80 у Claude Opus 5.5. Оценочная стоимость за успешную попытку упала с $0,177 до $0,139. Авторы подчёркивают, что это сравнительный индекс обслуживания, а не счёт: расчёт включает стоимость инференса и не включает стоимость самого обучения и отбора задач.

Опорный прогон: полное дообучение всех параметров Qwen3.8-27B на 187 задачах с GRPO (token-mean). Каждое обновление, 18 групп по 8 прогонов, то есть 144 эпизода, на 24 GPU H100; синхронное обучение с выгрузкой параметров и оптимизатора; AdamW со скоростью обучения 1e-6 и нулевым затуханием весов; 50 шагов. Группы с нулевой дисперсией заменяли по схеме DAPO, а системные ошибки (например, таймаут бэкенда) не засчитывали как провал агента, и группы пересобирали. Код обучения ThinkingBox-Training доступен на GitHub.

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

  • Qwen3.8-27B после 50 шагов GRPO на задачах вне бенчмарка: средний успех (pass@1) на ThinkingBox-Bench вырос с 51,70% до 60,78%.
  • Число из 507 задач, решённых верно во всех двадцати попытках, выросло с 38 (7,5%) до 107 (21,1%), почти втрое; у Claude Opus 5.5, 241, у GPT-6 Astra, 231, у GPT-5.4, 128.
  • Охват «хотя бы раз» (pass@20) слегка снизился: авторы заключают, что модель не стала шире, а стала более повторяемой.
  • Награда, исполняемая проверка итогового состояния базы данных; в основном детерминированные проверки, в меньшинстве узких пунктов может участвовать судья GPT-5 Chat.
  • Опорный прогон: 187 задач, 18 групп по 8 прогонов на шаг, 24 GPU H100; код обучения опубликован на GitHub.

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

Авторы показывают, что одна и та же проверка итогового состояния базы данных работает и как оценка агента, и как награда при обучении. Это даёт способ повышать не только средний успех, но и повторяемость: число задач, решаемых в каждой из 20 попыток, выросло почти втрое. Для работы с производственными записями авторы советуют не смотреть на pass@1 в отдельности: модели с близким средним успехом сильно различаются по числу стабильно решаемых задач.

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

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

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

Обучающий код ThinkingBox-Training опубликован на GitHub; в посте есть раздел о запуске обучающего стека (в доступной части текста он не раскрыт). Общий код интерпретации вывода Qwen для обучения и оценки лежит в trainer/core/tb_interpret.py: обучение и оценка должны одинаково разбирать рассуждения, вызовы инструментов и типы аргументов, иначе награда измеряет другого агента. Практическая схема из поста: один раз оценить сложность задач на базовой модели, оставить подходящие (не уже решённые и не безнадёжные) и фиксировать пул на весь прогон.

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

Это блог самих разработчиков бенчмарка и метода (Microsoft и Hugging Face), независимых воспроизведений в тексте не упомянуто. Бенчмарк не входил в обучающий пул, но авторы сами оговаривают, что общие элементы фреймворка, симулятора пользователя, проверок и часть инструментов ограничивают масштаб утверждения о переносе. Денежные значения, сравнительный индекс, а не счета. Доступная часть текста обрезана, поэтому подробности отбора задач и дизайна награды здесь не пересказаны.

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

Рост повторяемости сопровождался небольшим снижением охвата: в ритейле, путешествиях и автостраховании pass@20 упал (в автостраховании на 7,0 пункта). Дообученная модель по-прежнему уступает лидерам по числу стабильно решённых задач (107 против 241 у Claude Opus 5.5) и стоит дороже за надёжную задачу ($8,00 против $6,80, $7,80). Стоимость самого обучения и отбора задач в оценку не включена. Пул задач фиксируется один раз по базовой модели, а сложность относительна текущей модели.

«В целом модель не стала шире. Она стала более повторяемой.»

— авторы блога Microsoft и Hugging Face