Журнал · Rit.work

CER отсекает неудачные ветки кодового агента до финальных тестов

CER оценивает незавершённые прогоны кодовых агентов, направляет вычисления в перспективные ветки и сокращает расход токенов при поиске решения и обучении с подкреплением.

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

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

Успех длинного прогона кодового агента научились предсказывать до того, как агент закончит работу и запустит итоговые тесты. В нерецензированном препринте, где все числа получили сами авторы, CER превзошёл прежние методы ранжирования и сократил расход токенов. Для команд это способ раньше закрывать бесперспективные ветки поиска, а не оплачивать их продолжение до готового патча.

Оценщик смотрит на поведение, а не ждёт готового патча

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

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

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

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

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

Ранний отбор экономит токены и при поиске, и при обучении

На SWE-bench Verified качество CER измеряли показателем RM@8 — долей задач, где оценщик выбрал успешную траекторию среди кандидатов. На Nemotron CER обошёл сильнейший метод без запуска тестов на 4,2 процентного пункта, а на Qwen — на 2 процентных пункта.

На Nemotron метод достиг результата лучшего конкурента, израсходовав 15,3% его токенов. Экономия возникает не из-за более короткого ответа модели: система перестаёт развивать ветки, в которых уже видны неподтверждённые правки, повторное исследование тех же файлов или отсутствие проверки.

Для обучения с подкреплением критерии заранее строили по историческим прогонам с известными результатами тестов. Во время самого обучения агент останавливался на фиксированном этапе, а CER назначал относительную награду группе незавершённых траекторий. Такой вариант превзошёл TMax с полными прогонами на 1,9 процентного пункта и потребовал на 52,7% меньше токенов политики и оценщика.

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

Планы стоит менять там, где агент уже ветвит поиск

Работу проверяли на всех 500 задачах SWE-bench Verified: на двух моделях для поиска во время выполнения и ещё на одной для обучения с подкреплением. Сравнение охватывает исправление ошибок в репозиториях, группы альтернативных прогонов и оценку по тестам. Оно не показывает, как метод поведёт себя в других видах разработки или в производственных репозиториях с иной инфраструктурой.

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

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

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

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

Источники

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

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

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

Rit.work

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

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

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