Агенты SERA: Код, Созданный с Подтверждением

Автор: Денис Аветисян


Новый подход к обучению кодирующих агентов позволяет достичь выдающихся результатов с минимальными затратами благодаря использованию синтетических данных и техники ‘мягкой верификации’.

🚀 Квантовые новости

Подключайся к потоку квантовых мемов, теорий и откровений из параллельной вселенной.
Только сингулярные инсайты — никакой скуки.

Присоединиться к каналу
Процесс «мягкой верификации» (Soft Verified Generation) предполагает итеративное совершенствование функции посредством траекторий изменений, преобразованных в синтетические запросы на изменение, после чего учительская модель пытается воспроизвести исправление исключительно по описанию запроса, а сравнение полученных исправлений на уровне строк с использованием порога, например, <span class="katex-eq" data-katex-display="false"> r \geq 0.5 </span>, служит основой для отбора данных обучения.
Процесс «мягкой верификации» (Soft Verified Generation) предполагает итеративное совершенствование функции посредством траекторий изменений, преобразованных в синтетические запросы на изменение, после чего учительская модель пытается воспроизвести исправление исключительно по описанию запроса, а сравнение полученных исправлений на уровне строк с использованием порога, например, r \geq 0.5 , служит основой для отбора данных обучения.

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

Несмотря на теоретические преимущества открытых моделей кодирования в адаптации к частным кодовым базам, высокая стоимость и сложность обучения долгое время препятствовали их реализации. В данной работе представлен SERA (Soft-Verified Efficient Repository Agents) — эффективный метод обучения агентов кодирования, позволяющий быстро и экономично создавать модели, специализированные для конкретных репозиториев. Используя лишь контролируемое дообучение и новый подход к генерации синтетических данных — Soft Verified Generation (SVG), SERA достигает передовых результатов среди полностью открытых моделей, сравнимых с производительностью закрытых аналогов, при этом снижая затраты на обучение в 26 раз по сравнению с обучением с подкреплением. Какие перспективы открывает возможность эффективной специализации открытых моделей для работы с частным кодом и ускорения исследований в области автоматизации разработки программного обеспечения?


Вызов масштабирования генерации кода

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

Традиционные методы обучения агентов, способных генерировать код, зачастую опираются на обширные наборы данных, состоящие из реальных примеров кода, что представляет собой значительную проблему. Сбор и обработка таких данных требует колоссальных затрат времени и ресурсов, поскольку требует не только поиска и агрегации кода из различных источников, но и его тщательной очистки, аннотации и проверки на соответствие стандартам качества. Более того, доступ к большому объему высококачественного кода может быть ограничен из-за лицензионных ограничений или коммерческой тайны, что затрудняет создание действительно эффективных и универсальных моделей генерации кода. В связи с этим, исследователи активно ищут альтернативные подходы, позволяющие снизить зависимость от дорогостоящих и труднодоступных реальных данных.

Существующие методы генерации синтетических данных, такие как SWE-smith, сталкиваются с ограничениями в создании действительно разнообразных и сложных примеров для обучения. Несмотря на способность генерировать программный код, эти инструменты часто производят примеры, которые недостаточно охватывают широкий спектр возможных сценариев и краевых случаев, необходимых для надежной работы моделей. Это приводит к тому, что модели, обученные на таких данных, могут демонстрировать хорошие результаты на стандартных тестах, но испытывают трудности при столкновении с нестандартными или сложными задачами, что снижает их практическую ценность. Основная проблема заключается в сложности моделирования реального мира и автоматическом создании примеров, которые бы эффективно проверяли и улучшали способности модели к решению разнообразных вычислительных задач. Таким образом, для достижения значительного прогресса в области генерации кода необходимы более продвинутые методы, способные создавать более реалистичные и требовательные наборы данных для обучения.

Обучение агента кодирования с использованием саморазмещенного vLLM становится более экономичным при специализации репозитория: для достижения производительности эталонной модели при <span class="katex-eq" data-katex-display="false"> \alpha = 1.0 </span> требуется всего 8 тысяч примеров, в то время как при использовании только общих данных <span class="katex-eq" data-katex-display="false"> \alpha = 0.0 </span> необходимо 25 тысяч, что обеспечивает 3.5-кратное повышение эффективности использования данных.
Обучение агента кодирования с использованием саморазмещенного vLLM становится более экономичным при специализации репозитория: для достижения производительности эталонной модели при \alpha = 1.0 требуется всего 8 тысяч примеров, в то время как при использовании только общих данных \alpha = 0.0 необходимо 25 тысяч, что обеспечивает 3.5-кратное повышение эффективности использования данных.

Метод SERA и мягкая верификация генерации

SERA — это кодирующий агент с 32 миллиардами параметров, обученный с использованием методики Soft Verified Generation (SVG). Ключевой особенностью SVG является отказ от необходимости выполнения тестов при генерации синтетических данных. Это достигается за счет использования двухэтапного процесса генерации, что позволяет создавать обучающие данные без зависимости от результатов прохождения тестов, повышая эффективность и масштабируемость процесса обучения модели.

Метод Soft Verified Generation (SVG) использует двухэтапный процесс (two-rollout pipeline) для создания синтетических данных для обучения. На первом этапе модель-учитель, GLM-4.6, генерирует потенциальные исправления кода. Затем эти исправления подвергаются оценке и, при необходимости, корректировке, формируя итоговый набор синтетических данных. Такой подход позволяет отделить процесс генерации данных от этапа тестирования, повышая эффективность и масштабируемость обучения модели SERA.

Ключевой метрикой в методе Soft Verified Generation (SVG) является Line-Level Recall, определяющая степень перекрытия между сгенерированными и эталонными патчами кода. Данная метрика измеряет процент строк кода, присутствующих в сгенерированном патче, которые также присутствуют в соответствующем эталонном патче, что позволяет количественно оценить качество и точность сгенерированных данных. Высокое значение Line-Level Recall указывает на то, что сгенерированные патчи эффективно воспроизводят логику и функциональность эталонных патчей, обеспечивая надежность и эффективность процесса обучения модели. Измерение проводится на уровне отдельных строк кода для более детальной оценки соответствия сгенерированных данных.

Метод Soft Verified Generation (SVG) значительно повышает эффективность и масштабируемость обучения за счет отделения этапа генерации данных от выполнения тестов. Традиционно, создание синтетических данных для обучения требует постоянной проверки корректности с помощью тестовых случаев, что существенно замедляет процесс. SVG устраняет эту зависимость, позволяя генерировать большие объемы данных без необходимости немедленной проверки, что снижает вычислительные затраты и время обучения. В результате, обучение модели SERA, использующей SVG, обошлось примерно в $2,000, что демонстрирует экономическую целесообразность данного подхода к созданию обучающих данных.

Анализ масштабирования показывает, что использование строгой верификации не дает значительных преимуществ по сравнению с более мягкой или даже неверифицированной информацией при оценке производительности SWE-bench Verified на траекториях <span class="katex-eq" data-katex-display="false">\mathbf{T\\_{2}}</span> и <span class="katex-eq" data-katex-display="false">\mathbf{T\\_{1}}</span> при различных порогах (r=0.0, 0.25, 0.75, 1.0).
Анализ масштабирования показывает, что использование строгой верификации не дает значительных преимуществ по сравнению с более мягкой или даже неверифицированной информацией при оценке производительности SWE-bench Verified на траекториях \mathbf{T\\_{2}} и \mathbf{T\\_{1}} при различных порогах (r=0.0, 0.25, 0.75, 1.0).

Результаты на SWE-bench Verified

Модель SERA продемонстрировала передовые результаты среди проектов с открытым исходным кодом на бенчмарке SWE-bench Verified, который используется для оценки агентов, предназначенных для решения задач реальной разработки программного обеспечения. Достигнутый показатель производительности составил 49.5%, что подтверждается результатами тестирования на стандартном наборе задач SWE-bench Verified. Данный бенчмарк включает в себя широкий спектр задач, отражающих типичные сценарии разработки, такие как исправление ошибок, реализация новых функций и рефакторинг кода.

Результаты SERA на бенчмарке SWE-bench Verified демонстрируют соответствие производительности значительно более крупных моделей, таких как Devstral-Small-2 (24 миллиарда параметров) и GLM-4.5-Air (110 миллиардов параметров). Это означает, что SERA достигает сравнимого уровня решения задач реальной разработки программного обеспечения, несмотря на меньший размер модели, что указывает на эффективность применяемых методов обучения и оптимизации.

В основе SERA лежит языковая модель Qwen-3-32B, что подтверждает возможность достижения высоких результатов за счет использования мощных базовых моделей в сочетании с передовыми методами обучения. Qwen-3-32B предоставляет надежную основу для дальнейшей оптимизации и специализации, позволяя SERA эффективно решать задачи в области разработки программного обеспечения. Использование данной базовой модели демонстрирует, что сильный фундамент является ключевым фактором в создании эффективных агентов для кодирования, и что инновационные техники обучения могут значительно повысить производительность даже на основе существующих моделей.

Эксперименты SWE-bench показывают, что траектории с отношением усечения 0.95 обеспечивают наилучшую производительность при контексте 32K, что подтверждается усреднением по 3000 траекторий и 3 повторам.
Эксперименты SWE-bench показывают, что траектории с отношением усечения 0.95 обеспечивают наилучшую производительность при контексте 32K, что подтверждается усреднением по 3000 траекторий и 3 повторам.

Масштабируемое развертывание и оптимизация затрат

Для обеспечения эффективного функционирования модели SERA, её развертывание осуществляется с использованием библиотеки vLLM, отличающейся высокой скоростью и простотой в использовании для задач LLM-вывода. Эта библиотека позволяет оптимизировать процесс обработки данных и снизить задержки при генерации ответов, что критически важно для приложений, требующих оперативной реакции. vLLM предоставляет инструменты для эффективного управления памятью и параллельной обработки запросов, что существенно повышает пропускную способность системы и позволяет обслуживать большое количество пользователей одновременно. Использование vLLM значительно упрощает процесс интеграции SERA в различные приложения и сервисы, делая её доступной для широкого круга пользователей и разработчиков.

Для обеспечения доступности и масштабируемости модели SERA используется платформа Modal, предоставляющая возможности serverless-вычислений. Этот подход значительно упрощает развертывание и позволяет автоматически адаптировать вычислительные ресурсы к текущей нагрузке, избавляя от необходимости ручного управления серверами и инфраструктурой. Благодаря Modal, SERA может эффективно обрабатывать большое количество запросов, обеспечивая стабильную и быструю работу даже при пиковых нагрузках, что делает модель доступной для широкого круга пользователей и приложений.

Процесс обучения модели SERA продемонстрировал высокую экономическую эффективность. Общая стоимость обучения составила 2000 долларов США, что позволило получить 200 000 траекторий, и, как следствие, стоимость одной траектории составила всего 0,01 доллара. Такая низкая стоимость за образец обусловлена оптимизацией процесса генерации данных и эффективным использованием вычислительных ресурсов, что открывает возможности для масштабного применения модели в различных задачах и исследованиях, требующих больших объемов данных.

Процесс обучения модели SERA оказался значительно экономичнее традиционных подходов. Общая стоимость обучения, составившая всего 2000 долларов США, на 26 порядков ниже, чем при использовании методов обучения с подкреплением, и на 57 порядков ниже, чем при создании синтетических данных альтернативными способами. Такая существенная экономия затрат достигается благодаря оптимизированному процессу обучения и эффективному использованию вычислительных ресурсов, что делает SERA доступным и практичным решением для широкого круга задач, требующих обучения сложных моделей.

Сравнение масштабируемости и стоимости обучения кодирующих агентов показывает, что использование z.ai с кэшированием входных данных обходится дешевле самохостинга модели-учителя vLLM, при этом предсказанные масштабируемыми законами затраты соответствуют производительности моделей Devstral-Small-2 и GLM-4.5-Air (подробные данные в Таблице 11).
Сравнение масштабируемости и стоимости обучения кодирующих агентов показывает, что использование z.ai с кэшированием входных данных обходится дешевле самохостинга модели-учителя vLLM, при этом предсказанные масштабируемыми законами затраты соответствуют производительности моделей Devstral-Small-2 и GLM-4.5-Air (подробные данные в Таблице 11).

Исследование, представленное в данной работе, демонстрирует, что стабильность системы — это действительно иллюзия, замаскированная временем и эффективными методами верификации. Подход SERA, основанный на генерации синтетических данных и ‘мягкой’ верификации, позволяет достичь впечатляющих результатов при значительно сниженных затратах на обучение. Это подтверждает, что даже в быстро меняющейся среде разработки программного обеспечения, грамотное управление ресурсами и акцент на оптимизацию процессов позволяют создавать надежные и эффективные системы. Как однажды заметил Дональд Кнут: «Прежде чем оптимизировать код, убедитесь, что он работает». Этот принцип, примененный к обучению кодирующих агентов, позволяет создавать не просто быстрые, но и устойчивые решения.

Куда же дальше?

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

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

В конечном счете, речь идет не о создании идеального агента, а о создании системы, способной извлекать уроки из несовершенства. Ибо именно несовершенство — двигатель прогресса, напоминание о том, что даже самые сложные алгоритмы — лишь временные конструкции в вечном потоке времени.


Оригинал статьи: https://arxiv.org/pdf/2601.20789.pdf

Связаться с автором: https://www.linkedin.com/in/avetisyan/

Смотрите также:

2026-01-29 18:01