Jeux de données DeNovoSWE publié pour la génération de code à long terme

icon MarsBit
Partager
AI summary iconRésumé

A mesure que les capacités des agents de code basés sur les LLM s'améliorent, de plus en plus de chercheurs reconnaissent qu'il est temps de passer à la prochaine étape : des tâches à long terme plus proches des besoins réels. De nombreux benchmarks pour l'évaluation de ces tâches à long terme ont ainsi émergé, tels que NL2RepoBench et BeyondSWE. Le rôle attendu des agents de code évolue progressivement de celui de mainteneur de dépôt à celui d'architecte, capable de planifier et d'accomplir des tâches à long terme couvrant l'ensemble du code d'un dépôt.

Récemment, l'École d'intelligence artificielle Gaoling de l'Université renmin de Chine a mené des recherches pertinentes et a publié officiellement l'ensemble de données DeNovoSWE, axé sur les tâches d'ingénierie logicielle à long terme, en particulier la génération de code au niveau du dépôt à partir de zéro.

DeNovoSWE

Lien vers l'article : https://arxiv.org/pdf/2606.10728

Lien du dépôt : https://github.com/AweAI-Team/DeNovoSWE

Lien vers les données : https://huggingface.co/collections/AweAI-Team/denovoswe

Construction d'un jeu de données open source de haute qualité pour des tâches SWE à long terme, comprenant 4 818 données réelles, grâce aux mécanismes Divide & Conquer et Critic & Repair, permettant de réussir le scaling des tâches SWE à long terme — ce résultat fournit une grande quantité de données pour l'entraînement des capacités à long terme de Code Agent, améliorant considérablement ses performances sur les tâches à long terme.

DeNovoSWE

L'article propose également une méthode de filtrage basée sur la difficulté des questions, ce qui atténue efficacement le compromis entre la proportion de questions difficiles et la qualité des trajectoires.

DeNovoSWE

Les expériences montrent que Qwen3-30B-A3B-Instruct, formé sur DeNovoSWE, passe de 5,8 % à 47,2 % sur BeyondSWE-Doc2Repo et de 4,3 % à 23,0 % sur NL2RepoBench, démontrant une amélioration significative de la capacité de génération de code au niveau des dépôts grâce aux données à long terme.

Reconstruire l'ensemble du dépôt à partir d'un document

Au cours de la dernière année, avec l'augmentation des grandes quantités de données SWE comme Scale-SWE, les agents de code ont progressé rapidement sur des tâches d'ingénierie logicielle réelles telles que SWE-bench. Mais à mesure que les modèles deviennent de plus en plus compétents pour « corriger un problème » ou « modifier quelques lignes de bogue », une question plus cruciale commence à émerger : les agents possèdent-ils réellement une capacité d'ingénierie logicielle à long terme ? Selon les résultats des modèles de pointe comme BeyondSWE-Doc2Repo et NL2RepoBench, les performances ne sont pas satisfaisantes.

Le développement logiciel dans le monde réel ne consiste pas seulement à modifier une fonction ou à ajouter une condition, mais à comprendre les exigences, planifier l'architecture, créer des fichiers, concevoir des API, gérer les dépendances, intégrer les modules et faire en sorte que l'ensemble du dépôt fonctionne correctement lors des tests.

Autrement dit, le défi réside dans la génération à long terme au niveau du dépôt : à partir d’un document de tâche, générer un dépôt logiciel complet, exécutable et vérifiable. C’est précisément le problème que DeNovoSWE cherche à résoudre.

Document de tâche « génération de dépôt depuis zéro » de haute qualité

Dans la génération document-to-repository, le document n'est pas seulement un README ni une simple liste d'API. Il constitue en réalité l'unique point d'entrée pour que l'intelligence artificielle reconstruise l'ensemble du dépôt.

Un document de tâche de haute qualité doit répondre à au moins deux critères fondamentaux.

Premièrement, il doit être bien organisé.

Les tâches au niveau du dépôt sont naturellement complexes, impliquant plusieurs modules, interfaces, configurations, structures de données et flux d'interaction. Si la documentation se contente d'empiler les descriptions de fonctions, l'agent risque de se perdre dans des informations fragmentées. La documentation doit donc commencer par une vue d'ensemble claire du dépôt, puis diviser les sections selon les capacités ou les flux de travail, afin que chaque partie corresponde à une limite fonctionnelle bien définie.

Deuxièmement, il doit être évalué à partir d'une source fiable.

Le document ne doit pas être trop court, sinon la tâche devient un problème mal défini, ce qui pourrait forcer le modèle à deviner sans aucune base pour réussir l'évaluation ; ni trop long, sinon il révèle directement les détails de mise en œuvre, faisant perdre tout défi à la tâche.

Un document de haute qualité doit décrire les comportements clés sur lesquels l'évaluation repose : incluant le chemin d'importation, l'API publique, les entrées/sorties, les paramètres par défaut, les comportements d'erreur, les options de configuration, les chaînes de modèle, les champs retournés, etc., ainsi que les fonctionnalités globales à accomplir. Autrement dit, le document doit suffire à permettre à un agent de reproduire un comportement testable, sans devenir une copie du code d'implémentation.

C'est également l'idée centrale de DeNovoSWE : rendre les documents à la fois lisibles, réalisables et vérifiables.

Méthode DeNovoSWE

DeNovoSWE structure le « génération d'un dépôt complet à partir de documents » comme une tâche d'ingénierie logicielle à long terme, à grande échelle et vérifiable. Il ne s'agit pas de documents écrits à la main, mais d'instances de haute qualité construites automatiquement via un workflow multi-agent isolé dans un sandbox. L'ensemble de la méthode peut être résumée en deux étapes : Divide et Conquer.

Au stade Divide, le système analyse d'abord le dépôt cible, le décomposant en plusieurs repository capabilities.

Chaque capacité correspond à une capacité ou un flux de travail central dans le dépôt, par exemple l'authentification et la connexion, la lecture/écriture des données, le traitement par lots, les processus d'exportation, etc. Ainsi, le problème complexe de génération du dépôt est divisé en plusieurs sections de document clairement structurées.

En parallèle, DeNovoSWE exécute les tests unitaires d'origine et collecte une trace d'exécution pour identifier quelles fonctions, classes et interfaces influencent réellement l'évaluation, permettant ainsi de distinguer les composants directs, les composants indirects principaux et les composants indirects non principaux : les interfaces directement appelées par les tests doivent être soigneusement documentées ; les composants indirects principaux ayant un impact sur le comportement observable doivent également être couverts ; les implémentations internes non essentielles peuvent être laissées à l'appréciation de l'agent.

Durant la phase Conquer, DeNovoSWE génère des documents capacité par capacité en utilisant le mécanisme Draft-Critic-Repair. L'agent Draft rédige d'abord un brouillon ; l'agent Critic vérifie si le document omet des informations clés sur les API, les contrats de comportement ou la structure ; l'agent Repair corrige ensuite le document selon les retours. Ce cycle itère jusqu'à ce que chaque section de capacité soit suffisamment claire, complète et alignée avec l'évaluation.

Finalement, les différents documents de compétences seront fusionnés en un seul document de tâche complet, servant de seule référence pour la génération zéro d’un dépôt par l’agent.

Difficulté : Pourquoi s'agit-il d'une tâche à long terme ?

La difficulté de la tâche DeNovoSWE provient d'un changement fondamental : il ne s'agit plus d'une correction au niveau des issues, mais d'une génération de l'ensemble du dépôt.

Dans les tâches SWE traditionnelles, les agents font généralement face à un dépôt existant et doivent simplement localiser le bogue, modifier un code local et passer les tests.

Dans DeNovoSWE, l'agent fait face à un environnement nettoyé : le code source original et les tests ont été supprimés, l'historique Git a été réinitialisé, et tous les canaux de fuite potentiels — tels que les caches, les restes de site-packages, les roues pip et les artefacts de compilation temporaires — ont été éliminés. Cela signifie que l'agent doit entièrement s'appuyer sur la documentation pour reconstruire l'ensemble du dépôt. Il doit planifier la structure du projet, créer des fichiers de modules, définir les interfaces publiques, implémenter les interactions entre fichiers, gérer les dépendances et la configuration, et corriger continuellement les erreurs à travers plusieurs itérations d'édition et de retours de tests.

Toute divergence dans la signature API, les champs de retour, les types d'erreurs ou le comportement par défaut peut entraîner un échec des tests. Les erreurs s'accumulent également au fil du temps : un module mal conçu dès le départ peut affecter plusieurs fichiers et chaînes d'appels ultérieurs.

Pour prendre en compte les différences de difficulté entre les dépôts, DeNovoSWE a également proposé un filtrage des trajectoires sensible à la difficulté. En bref, les tâches faciles doivent exiger un taux de réussite plus élevé, tandis que les tâches difficiles ne doivent pas être entièrement éliminées simplement parce qu'elles n'atteignent pas un score parfait. DeNovoSWE définit des seuils de filtrage distincts pour différents intervalles de difficulté, en se basant sur la complexité structurelle et l'évaluation de la difficulté par les LLM, afin d'atteindre un équilibre entre qualité et diversité.

Cela est particulièrement important pour les tâches à long terme : plus un dépôt est complexe, plus il est difficile de passer tous les tests en une seule fois, mais les trajectoires difficiles, à faible score ou partiellement réussies contiennent néanmoins des compétences précieuses en planification et mise en œuvre à long terme.

DeNovoSWE

Résultats de l'expérience

DeNovoSWE a finalement construit 4 818 instances de tâches de type document-to-repository de haute qualité. Il s'agit d'un environnement de génie logiciel à long terme exécutable, évaluables et entraînable.

DeNovoSWE

DeNovoSWE

Les résultats expérimentaux montrent que DeNovoSWE améliore significativement la capacité du modèle à générer des dépôts à long terme. Sur Qwen3-30B-A3B-Instruct, le modèle original obtient seulement 5,8 % sur BeyondSWE-Doc2Repo et 4,3 % sur NL2RepoBench. L'utilisation de données SWE au niveau des issues pour entraîner Scale-SWE-Agent permet d'atteindre 29,2 % et 18,3 %, ce qui démontre que les données SWE classiques ont effectivement un effet de transfert. Toutefois, lorsque le modèle est entraîné avec DeNovoSWE, les performances s'améliorent encore pour atteindre 47,2 % et 23,0 %.

Cela signifie que les données orientées vers la « correction de bugs » ne peuvent pas entièrement remplacer les données à long terme orientées vers la « génération de dépôts complets ». Pour permettre à l'agent d'apprendre véritablement l'ingénierie au niveau du dépôt, il faut construire un environnement d'entraînement spécifiquement dédié aux tâches à long terme.

Sur une architecture Qwen3.5-35B-A3B plus puissante, DeNovoSWE apporte également des rendements stables : BeyondSWE-Doc2Repo passe de 43,8 % à 50,0 %, et NL2RepoBench passe de 23,5 % à 27,1 %. Cela démontre davantage que les gains de DeNovoSWE ne sont pas le résultat d'une adaptation accidentelle à un modèle particulier, mais proviennent directement des données longues de haute qualité.

Conclusion

La prochaine étape des agents de code ne se limite plus à corriger plus rapidement des problèmes individuels, mais consiste à comprendre la documentation, planifier l'architecture, organiser les modules, implémenter les interfaces et générer finalement un dépôt logiciel complet et fonctionnel.

DeNovoSWE a systématiquement structuré ce système en un ensemble de données entraînable, vérifiable et évolutif. Il répond à une question cruciale : quel type de données permet véritablement d'entraîner un agent doté de compétences en ingénierie logicielle à long terme ?

La réponse n'est pas davantage de code fragmenté, ni des questions plus simples, mais des tâches de génération de dépôts complets, de haute qualité, structurées, alignées sur l'évaluation et anti-fuites.

Commencez avec un document et reconstruisez l'ensemble du dépôt. C'est le seuil que les agents de code à long terme doivent franchir.

Références : https://arxiv.org/pdf/2606.10728

Cet article provient du compte officiel WeChat « Nouvelle Intelligence », édité par : LRST

Clause de non-responsabilité : les informations sur cette page peuvent avoir été obtenues auprès de tiers et ne reflètent pas nécessairement les points de vue ou opinions de KuCoin. Ce contenu est fourni à titre informatif uniquement, sans aucune représentation ou garantie d’aucune sorte, et ne doit pas être interprété comme un conseil en investissement. KuCoin ne sera pas responsable des erreurs ou omissions, ni des résultats résultant de l’utilisation de ces informations. Les investissements dans les actifs numériques peuvent être risqués. Veuillez évaluer soigneusement les risques d’un produit et votre tolérance au risque en fonction de votre propre situation financière. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et divulgation des risques.