DeNovoSWE: Scaling Long-Horizon Environments for Generating Entire Repositories from Scratch
Ce document présente DeNovoSWE, un ensemble de données à grande échelle, automatiquement organisé, composé de 4 818 instances de génération de dépôts entiers conçu pour entraîner des agents LLM pour des tâches de génie logiciel à long horizon, ce qui augmente considérablement les performances sur le benchmark BeyondSWE-Doc2Repo de 5,8 % à 47,2 %.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous avez un maître architecte qui est incroyablement talentueux pour réparer une seule brique cassée dans un mur. Il peut examiner une fissure spécifique, comprendre pourquoi elle est apparue et la colmater parfaitement. C'est ce que les assistants de codage IA actuels savent bien faire : réparer de petits bugs dans un logiciel existant.
Mais que se passerait-il si vous demandiez à ce même architecte de construire un gratte-ciel entier à partir de rien, en partant simplement d'un croquis vague sur une serviette en papier ? C'est un travail beaucoup plus difficile. Cela nécessite de planifier les fondations, de concevoir les ascenseurs, de câbler l'électricité et de s'assurer que chaque pièce est connectée logiquement. Jusqu'à présent, l'IA a eu du mal avec cette tâche de « construction de bâtiment complet » car elle n'a pas eu assez de pratique.
Le Problème : Un manque de plans
La raison principale pour laquelle l'IA peine à construire des « gratte-ciels » logiciels (répertoires) est le manque de données d'entraînement. La plupart des données existantes sont comme une liste de « réparez ce robinet qui fuit » ou « réparez cette fenêtre fissurée ». Il existe très peu de données qui enseignent à une IA comment prendre une description de haut niveau (comme un manuel d'utilisation) et la transformer en un bâtiment complet et fonctionnel de toutes pièces.
La Solution : DeNovoSWE
Le document présente DeNovoSWE, un nouvel ensemble massif de données d'entraînement conçu spécifiquement pour apprendre à l'IA à construire des projets logiciels entiers à partir de zéro. Considérez cela comme une immense bibliothèque de 4 818 « défis de construction ». Dans chaque défi, l'IA reçoit un ensemble détaillé d'instructions (la documentation) et doit construire l'intégralité du système logiciel pour correspondre parfaitement à ces instructions.
Comment ils ont construit les données d'entraînement (La stratégie « Diviser pour régner »)
Construire un ensemble de données pour cela est difficile car on ne peut pas simplement demander à une IA de « rédiger un manuel pour une application complexe » et espérer qu'il soit parfait. Les auteurs ont utilisé une équipe intelligente et automatisée d'agents d'IA pour faire le gros du travail :
- La phase de « Division » : Imaginez que vous essayez d'écrire un manuel pour une ville immense. C'est trop vaste pour le faire d'un coup. L'IA commence donc par diviser la ville en quartiers (capacités). Elle identifie ce que fait chaque quartier et quels bâtiments (fichiers de code) lui appartiennent.
- La phase de « Conquête » : Maintenant, des agents d'IA spécialisés rédigent le manuel pour un seul quartier à la fois.
- L'Agent de Brouillon : Rédige la première version du manuel.
- L'Agent Critique : Agit comme un éditeur strict. Il vérifie le manuel : « Avez-vous oublié d'expliquer comment fonctionnent les feux de signalisation ? Le schéma de câblage est-il clair ? »
- L'Agent de Réparation : Corrige les erreurs trouvées par le Critique.
- Ce cycle se répète jusqu'à ce que le manuel soit parfait.
- Le « Test d'Or » : Une fois le manuel écrit, le système crée une « salle blanche » (un bac à sable). Il prend le code original, le jette et ne laisse que le manuel. Ensuite, il demande à un autre agent d'IA de reconstruire le logiciel en utilisant uniquement ce manuel. Si le nouveau logiciel passe tous les tests, le manuel est considéré comme de haute qualité et ajouté au jeu de données.
Garder l'IA honnête (Anti-triche)
Une préoccupation majeure est que l'IA puisse « tricher » en jetant un coup d'œil au code original qu'elle était censée reconstruire. Les auteurs ont mis en place un système de sécurité rigoureux pour empêcher cela :
- Ils suppriment tout l'historique, les caches et les fichiers cachés.
- Ils bloquent l'accès de l'IA à Internet pour télécharger le code original.
- Ils s'assurent que l'IA est véritablement en mode « livre fermé », la forçant à se fier entièrement à la documentation qui lui a été donnée.
Le filtre de « Sensibilité à la difficulté »
Tous les projets de construction ne sont pas les mêmes. Certains sont de petits abris ; d'autres sont des gratte-ciels. Si vous ne conservez que les exemples d'entraînement où l'IA construit un gratte-ciel parfait dès le premier essai, vous perdez toutes les leçons précieuses des projets difficiles où l'IA a presque réussi mais a commis quelques erreurs.
Les auteurs ont créé un filtre intelligent qui examine la difficulté d'un projet.
- Pour les projets faciles (un petit abri), ils exigent un score parfait.
- Pour les projets difficiles (un gratte-ciel), ils acceptent un score légèrement inférieur (par exemple, 80 % de réussite) car obtenir un gratte-ciel parfait est incroyablement difficile.
Cela garantit que l'IA apprend à la fois des victoires faciles et des moments de « presque réussite » sur des tâches complexes.
Les Résultats
Lorsqu'ils ont enseigné à un modèle d'IA en utilisant ce nouvel ensemble de données, les résultats ont été spectaculaires.
- Avant l'entraînement, l'IA ne pouvait construire correctement qu'environ 5,8 % du logiciel requis.
- Après l'entraînement avec DeNovoSWE, son taux de réussite a bondi à 47,2 %.
Cela prouve qu'en donnant à l'IA le bon type d'« entraînement à la construction » — en décomposant les grands problèmes, en utilisant des éditeurs stricts et en apprenant des succès partiels — nous pouvons lui apprendre à passer du statut de simple « réparateur de briques » à celui de véritable « architecte logiciel ».
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.