По мере постоянного совершенствования возможностей LLM Code Agent все больше исследователей осознали, что настало время перейти к следующему этапу — выполнению долгосрочных задач, более близких к реальным требованиям. В результате появились такие бенчмарки для оценки долгосрочных задач, как NL2RepoBench и BeyondSWE. Ожидания от Code Agent постепенно изменились: вместо того чтобы быть просто сопровождающим репозитория, он теперь воспринимается как архитектор, способный планировать и выполнять долгосрочные задачи по коду всего репозитория.
Недавно Высокая школа искусственного интеллекта Университета человека в Пекине завершила соответствующее исследование и выпустила набор данных DeNovoSWE, ориентированный на долгосрочные задачи программной инженерии, в частности на задачи генерации кода на уровне репозитория с нуля.

Ссылка на статью: https://arxiv.org/pdf/2606.10728
Ссылка на репозиторий: https://github.com/AweAI-Team/DeNovoSWE
Ссылка на данные: https://huggingface.co/collections/AweAI-Team/denovoswe
Создание высококачественного набора данных с использованием механизмов Divide & Conquer и Critic & Repair, а также успешное масштабирование для выполнения долгосрочных SWE-задач — результатом стало создание открытого высококачественного набора данных для долгосрочных SWE-задач, содержащего 4 818 реальных примеров. Этот результат обеспечил Code Agent крупномасштабными данными для обучения, значительно улучшив его способность выполнять долгосрочные задачи.

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

Эксперименты показали, что Qwen3-30B-A3B-Instruct, обученный на DeNovoSWE, показал улучшение с 5,8% до 47,2% на BeyondSWE-Doc2Repo и с 4,3% до 23,0% на NL2RepoBench, что демонстрирует значительное улучшение способности генерировать код на уровне репозитория за счет длиннотрековых данных.
Восстановить весь репозиторий с одного документа
За последний год, с масштабированием крупных наборов данных SWE, таких как Scale-SWE, кодовые агенты быстро продвинулись в выполнении реальных задач программной инженерии, например, на SWE-bench. Однако, когда модели стали всё лучше справляться с задачами вроде «исправить issue» или «изменить несколько строк бага», возник более важный вопрос: обладают ли агенты действительно долгосрочными навыками программной инженерии? Согласно результатам передовых моделей, таких как BeyondSWE-Doc2Repo и NL2RepoBench, эффективность остаётся низкой.
Разработка программного обеспечения в реальном мире часто заключается не в изменении одной функции или добавлении одного условия, а в понимании требований, планировании архитектуры, создании файлов, проектировании API, управлении зависимостями, интеграции модулей и в итоге запуске всего репозитория через тесты.
Другими словами, сложность заключается в генерации на уровне репозитория с долгосрочной перспективой: создание полного, исполняемого и проверяемого программного репозитория на основе документа с заданием. Именно эту проблему хочет решить DeNovoSWE.
Высококачественная документация по задаче «генерация репозитория с нуля»
В генерации из документа в репозиторий документ — это не просто README или простой список API. Он является единственной точкой входа для интеллектуального воссоздания всего репозитория.
Высококачественный документ с заданием должен удовлетворять как минимум двум основным критериям.
Во-первых, оно должно быть хорошо структурированным.
Репозиториевые задачи по своей природе сложны и включают множество модулей, интерфейсов, конфигураций, структур данных и процессов взаимодействия. Если документация просто перечисляет описания функций, агент легко потеряется в фрагментарной информации. Поэтому документация должна начинаться с четкого обзора репозитория, а затем разделяться на разделы по функциональным возможностям или рабочим процессам, чтобы каждая часть соответствовала четко определенной функциональной границе.
Во-вторых, оно должно исходить из надежной оценки.
Документ не должен быть слишком коротким, иначе задача станет недостаточно определенной, и модель может быть вынуждена угадывать, чтобы пройти оценку; но и слишком длинным — иначе будут раскрыты детали реализации, и задача потеряет свою сложность.
Высококачественная документация должна описывать ключевые поведенческие аспекты, от которых зависит оценка: включая путь импорта, открытые API, входные и выходные данные, параметры по умолчанию, поведение при исключениях, параметры конфигурации, шаблоны строк, возвращаемые поля и т.д., а также общие функциональные требования. Другими словами, документация должна быть достаточной для того, чтобы агент мог воспроизвести тестируемое поведение, но не превращалась в копию реализации кода.
Это также ключевая идея DeNovoSWE: сделать документы понятными, реализуемыми и проверяемыми.
Метод DeNovoSWE
DeNovoSWE представляет задачу генерации полного репозитория из документации как масштабную, проверяемую задачу долгосрочного программного инжиниринга. Вместо ручного написания документации она автоматически создает высококачественные примеры с помощью sandboxed multi-agent workflow. Весь подход можно описать в двух шагах: Divide и Conquer.
На этапе Divide система сначала анализирует целевой репозиторий и разбивает его на несколько репозиториальных возможностей.
Каждая возможность соответствует одной из ключевых функций или рабочих процессов в репозитории, например, аутентификации и подключению, чтению и записи данных, пакетной обработке, экспорту и т.д. Таким образом, крупная проблема генерации репозитория разбита на несколько структурированных разделов документации.
В то же время DeNovoSWE выполняет исходные юнит-тесты и собирает трассировки выполнения, чтобы определить, какие функции, классы и интерфейсы действительно влияют на оценку, и далее различать прямые компоненты, основные косвенные компоненты и неосновные косвенные компоненты: интерфейсы, напрямую вызываемые тестами, должны быть подробно задокументированы; основные косвенные компоненты, влияющие на наблюдаемое поведение, также должны быть покрыты; а неосновные внутренние реализации могут быть предоставлены на усмотрение агента.
На этапе Conquer DeNovoSWE использует механизм Draft-Critic-Repair для пошаговой генерации документации по каждому функционалу. Агент Draft создает черновик; агент Critic проверяет, не упущены ли ключевые API, контракты поведения или структурная информация; агент Repair исправляет документацию на основе обратной связи. Этот цикл повторяется до тех пор, пока каждый раздел функционала не станет достаточно ясным, полным и согласованным с оценкой.
В конечном итоге различные документы с возможностями будут объединены в один полный документ задачи, служащий единственным основанием для генерации репозитория агентом с нуля.
Сложность: почему это долгосрочная задача?
Сложность задачи DeNovoSWE обусловлена фундаментальным изменением: она больше не связана с устранением проблем на уровне issue, а представляет собой генерацию всего репозитория.
В традиционных задачах SWE агенты обычно сталкиваются с уже существующим репозиторием, где им нужно лишь найти баг, изменить локальный код и пройти тесты.
В DeNovoSWE агент сталкивается с очищенной средой: исходный код и тесты удалены, история git сброшена, а все потенциальные каналы утечки, такие как кэш, остатки site-packages, pip-колеса и временные скомпилированные файлы, также очищены. Это означает, что агент должен полностью полагаться на документацию для воссоздания всего репозитория. Ему необходимо спланировать структуру проекта, создать модульные файлы, определить публичные интерфейсы, реализовать взаимодействие между файлами, обработать зависимости и конфигурации, а также постоянно исправлять ошибки в ходе многократных редактирований и обратной связи от тестов.
Любое отклонение в подписи API, полях ответа, типах исключений или поведении по умолчанию может привести к сбою теста. Ошибки также накапливаются на протяжении длительного процесса: модуль, неправильно спроектированный на раннем этапе, может повлиять на несколько последующих файлов и цепочек вызовов.
Для учета различий в сложности между репозиториями DeNovoSWE также предлагает фильтрацию траекторий с учетом сложности. Проще говоря, для простых задач следует требовать более высокий процент успешного прохождения, а сложные задачи не следует полностью отбрасывать только потому, что не достигнут идеальный балл. DeNovoSWE устанавливает разные пороги фильтрации для различных уровней сложности на основе оценок структурной сложности и сложности, определенной LLM, обеспечивая баланс между качеством и разнообразием.
Это особенно важно для долгосрочных задач: чем сложнее репозиторий, тем труднее пройти все тесты сразу целиком, но сложные репозитории, низкие оценки и частично успешные траектории все еще содержат ценную информацию о долгосрочном планировании и реализации.

Результаты эксперимента
DeNovoSWE в итоге создал 4818 высококачественных экземпляров задач типа document-to-repository. Это исполняемая, оцениваемая и обучаемая среда для долгосрочной программной инженерии.


Результаты эксперимента показали, что DeNovoSWE значительно улучшил способность модели генерировать долгосрочные репозитории. На модели Qwen3-30B-A3B-Instruct исходная модель показала результат всего 5,8% на BeyondSWE-Doc2Repo и 4,3% на NL2RepoBench. Использование обычных данных SWE на уровне issue для обучения Scale-SWE-Agent позволило повысить показатели до 29,2% и 18,3%, что подтверждает наличие эффекта переноса обычных данных SWE. Однако после обучения модели с использованием DeNovoSWE производительность дополнительно повысилась до 47,2% и 23,0%.
Это означает, что данные, ориентированные на «исправление ошибок», не могут полностью заменить долгосрочные данные, ориентированные на «создание полных репозиториев». Чтобы агент действительно освоил инженерию на уровне репозитория, необходимо создавать обучающую среду, специально предназначенную для долгосрочных задач.
На более мощной базовой модели Qwen3.5-35B-A3B DeNovoSWE также обеспечивает стабильный прирост: BeyondSWE-Doc2Repo вырос с 43,8% до 50,0%, а NL2RepoBench — с 23,5% до 27,1%. Это дополнительно подтверждает, что преимущества DeNovoSWE не являются случайным соответствием конкретной модели, а обусловлены самим качеством долгосрочных данных.
Заключение
Следующий этап кодовых агентов — не просто быстрое исправление отдельных проблем, а способность понимать документацию, планировать архитектуру, организовывать модули, реализовывать интерфейсы и в конечном итоге генерировать полностью рабочий репозиторий программного обеспечения.
DeNovoSWE систематически сформировал эту цель в виде тренируемого, проверяемого и масштабируемого набора данных. Он отвечает на ключевой вопрос: какие данные действительно могут обучить агента обладать долгосрочными навыками программной инженерии?
Ответом не является больше фрагментарного кода или более простых задач, а является полноценными генерационными задачами на уровне репозитория с высоким качеством, структурированными, согласованными с оценкой и защищенными от утечек.
Начните с документа и восстановите весь репозиторий. Это порог, который должен преодолеть долгосрочный кодовый агент.
Справочные материалы: https://arxiv.org/pdf/2606.10728
Эта статья взята из официального аккаунта WeChat «Новости ИИ», редактор: LRST
