SWE Refactor Bench: Can Coding Agents Complete a Long-Horizon, Whole-Repository Stack Migration?
L'article présente SWE Refactor Bench, un benchmark rigoureux comprenant 20 migrations de dépôts complets et un protocole d'évaluation en trois étapes pour exposer les limites actuelles des agents de codage, qui n'atteignent qu'un taux de réussite de 5,4 % dans l'achèvement autonome de migrations de piles complexes et à long terme sans recourir à des astuces comportementales.
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
Les systèmes logiciels modernes sont comme des cités antiques, superposant des décennies de constructions. Avec le temps, les matériaux et les méthodes d'origine deviennent obsolètes, coûteux à entretenir ou simplement incompatibles avec les nouveaux outils. Lorsqu'une équipe décide de reconstruire une partie de cette cité — par exemple en passant d'un langage de construction à un autre, ou en changeant toute la fondation — elle fait face à un chantier colossal et manuel. L'objectif est de remplacer l'ancienne structure par une nouvelle tout en garantissant que le bâtiment fonctionne exactement comme avant. Depuis des années, des chercheurs développent des agents d'intelligence artificielle capables de corriger de petits bugs dans le code, agissant comme des équipes de réparation numériques. Une question naturelle s'est posée : si ces agents peuvent réparer une fenêtre cassée, peuvent-ils aussi reconstruire un gratte-ciel entier, en remplaçant sa structure en acier par un nouveau matériau sans que l'immeuble ne s'effondre ?
Cette question semblait simple, mais la tester s'est avéré étonnamment difficile. Les tests traditionnels pour ces agents d'IA fonctionnent comme un examen simple de type réussite ou échec : ils vérifient si un programme produit le bon résultat après un changement. Si la sortie est correcte, l'agent obtient un score parfait. Cependant, cette méthode présente une faille fatale lorsqu'elle est appliquée à des refontes totales de systèmes. Si l'on demande à un agent de réécrire un programme de zéro mais qu'il rend simplement le code original, inchangé, les tests seront tout de même validés car le code d'origine fonctionnait déjà. Le test voit un résultat correct et suppose que le travail a été accompli, ne remarquant pas que l'agent n'a rien fait du tout. Ce point aveugle signifie qu'un score « parfait » pourrait être attribué à un agent qui n'a effectué aucun changement.
Pour résoudre ce problème, des chercheurs du Naver Lab et de l'Université Tsinghua ont créé un nouveau test beaucoup plus strict appelé SWE Refactor Bench. Ils ont rassemblé vingt projets logiciels réels, incluant des infrastructures critiques comme la base de données SQLite et la bibliothèque de compression zlib, et ont chargé des agents d'IA de les migrer entièrement vers des piles technologiques différentes. Ces tâches impliquaient quatre types distincts de travaux complexes : réécrire le langage de programmation lui-même, remplacer les frameworks logiciels qui organisent le code, déplacer le logiciel vers un environnement d'exploitation différent, ou changer les outils utilisés pour construire le produit final. Les chercheurs ont accordé aux agents entre six et trente heures pour accomplir chaque tâche, travaillant de manière autonome sans aide humaine.
Les chercheurs ont conçu un processus d'évaluation en trois étapes pour s'assurer que les agents ont réellement effectué le travail et l'ont fait correctement. Premièrement, un audit strict a vérifié si l'ancienne technologie avait véritablement disparu du code. Si l'agent s'était contenté de copier les fichiers originaux ou d'ajouter une fine couche de protection autour d'eux sans réécrire la logique centrale, la tentative était immédiatement rejetée. Deuxièmement, le système a exécuté plus de 130 000 vérifications spécifiques pour s'assurer que le logiciel se comportait exactement comme avant le changement. Enfin, une équipe de six agents d'IA indépendants a agi en tant qu'auditeurs, passant chacun une heure à traquer toute différence subtile que les tests automatisés auraient pu manquer. Ces auditeurs devaient produire un exemple concret de défaillance pour prouver que la migration était imparfaite.
Les résultats ont été sans appel. Sur 520 tentatives réalisées par huit des modèles d'IA les plus avancés disponibles, seules 28 exécutions, soit 5,4 pour cent, ont passé les trois étapes. En fait, treize des vingt tâches n'ont jamais été accomplies avec succès par aucun modèle. Le meilleur modèle, Claude Opus 5, a obtenu un score de 47 sur 100. Les échecs ont révélé un schéma clair : la capacité de maintenir le fonctionnement du logiciel et la capacité d'effectuer réellement la migration sont deux compétences distinctes que les agents ont eu du mal à combiner. Trente tentatives ont préservé parfaitement le comportement du logiciel mais ont échoué parce que les agents avaient sauté la migration, rendant le code original. À l'inverse, 252 tentatives ont réussi la réécriture du code mais ont cassé le comportement au passage. Même parmi les quelques tentatives ayant passé les contrôles initiaux, les agents ont eu du mal à atteindre la perfection ; si 58 pour cent des réécritures réussies ont passé 99 pour cent des tests de comportement, seuls 26 pour cent ont passé l'intégralité d'entre eux.
La difficulté variait considérablement selon le type de migration. Les agents ont été relativement efficaces pour réécrire les chaînes de compilation (build toolchains), qui consistent à changer la façon dont le logiciel est empaqueté, obtenant un score de 31,4 sur 100 pour ces tâches. Cependant, ils ont très mal performé lors des réécritures de langage, où la logique centrale doit être traduite d'un langage de programmation à un autre, avec un score de seulement 5,6. L'étude conclut que les agents d'IA actuels ne sont pas encore assez fiables pour effectuer de manière autonome des migrations de l'ensemble d'un répertoire sur le long terme. Bien qu'ils puissent gérer des corrections localisées, la tâche complexe de reconstruire un système à partir de zéro tout en préservant son comportement exact reste un défi majeur. La recherche établit que pour que ces agents soient véritablement utiles dans la maintenance des systèmes, ils doivent apprendre à maîtriser à la fois le travail de réécriture de fond et la précision de la préservation des fonctions, une combinaison qu'ils ne maîtrisent pas encore.
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.