Журнал · Rit.work

ReTerm учит терминальных агентов исправлять собственные ошибки

ReTerm сохраняет неудачные состояния терминального агента, обучает модель продолжать работу с них и повышает результат Qwen3.5-9B на задачах с проверяемым исходом.

Rit.work
Студия разработки
15 октября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Модель, работающую в терминале, научили продолжать задачу после собственных ошибочных команд и неудачных правок, а не начинать её заново. В препринте команды из Fudan University, MMLab, The Chinese University of Hong Kong и Shanghai Jiao Tong University, который не проходил рецензирование и где числа получили сами авторы, ReTerm-9B обошёл базовую модель на Terminal-Bench 2.0 на 14,6 процентного пункта. Для команд, которые обучают собственных агентов, неудачные запуски становятся полезными данными, если сохранять не только диалог, но и изменённое состояние среды.

Неудача становится исходной точкой обучения

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

Сначала базовую Qwen3.5-9B несколько раз запускали на исполняемых задачах из TMax-15K. Каждый запуск проходил в контейнере внутри виртуальной машины. Перед итоговой проверкой система сохраняла снимок среды, а после неё отбирала неудачные попытки вместе с историей рассуждений, команд и ответов терминала.

Затем снимок восстанавливали и передавали DeepSeek-V4-Pro. Модель знала лишь, что предыдущая попытка провалилась: результаты скрытых тестов ей не показывали. Она должна была изучить историю и текущее состояние файлов, определить причину ошибки, внести исправления и самостоятельно проверить работу.

Продолжения оставляли в наборе, только если они проходили проверку задачи, соблюдали формат и ограничения и не зацикливались на бессмысленных командах. Так появился ReTerm-10K — примерно десять тысяч демонстраций восстановления. При обучении с учителем модель видела исходное задание, неудачную историю и короткую просьбу восстановиться, а училась только на успешном продолжении учителя.

ReTerm-GRPO догоняет меняющиеся ошибки

Фиксированного набора восстановлений недостаточно: после обучения модель решает задачи иначе и допускает уже другие ошибки. ReTerm-GRPO поэтому собирает сбои прямо во время обучения с подкреплением. Для неудачного запуска он сохраняет историю и конечное состояние среды, а затем запускает из этой точки несколько независимых попыток восстановления.

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

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

Такой конвейер требует инфраструктуры, которая умеет сохранять и восстанавливать полноценное состояние контейнера, а также автоматически проверять итог. Эксперимент обучали на 16 NVIDIA A100 с 80 ГБ памяти каждая. Поэтому метод ближе к постобучению собственной модели, чем к простой настройке системной инструкции для внешнего API.

Когда подход меняет план разработки

На Terminal-Bench 2.0 одно обучение с учителем дало 25,8% решённых задач с одного запуска, обычный GRPO — 28,0%, а ReTerm-GRPO — 34,8%. Значит, основной выигрыш нельзя объяснить только качественными примерами или обучением с подкреплением как таковым: отдельная работа с состояниями после сбоя добавила результат сверх обоих вариантов.

На SWE-bench Verified ReTerm-9B получил 58,4% против 45,2% у исходной Qwen3.5-9B. Улучшение также сохранилось при смене оболочек агента и на задачах по математике, программированию и работе с таблицами. Проверяли одну базовую модель, а основными точками сравнения служили её исходная версия, обучение с учителем и стандартный GRPO.

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

При этом восстановление ещё не стало надёжным. В разборе ошибок ReTerm чаще исправлялся после неверного применения инструментов, но в остальных категориях — планировании, реализации, проверке результата и управлении ресурсами — большинство сбоев оставались неисправленными. Типы ошибок сначала оценивала DeepSeek-V4.1-Flash, затем разметку проверяли вручную.

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

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

← Ко всем материалам
Понравилось? Обсудим вашу задачу