← Derniers articles
💻 computer science

SWE-NFI: Studying and Benchmarking Coding Agents for Non-Functional Improvements

Cet article introduit SWE-NFI, un benchmark comprenant 188 tâches réelles et 92 règles exécutables conçues pour évaluer les agents de codage sur les améliorations non fonctionnelles, révélant que si les agents atteignent une correction fonctionnelle élevée, ils accusent un retard significatif par rapport aux développeurs humains dans l'exécution d'améliorations de code préservant le comportement.

Auteurs originaux : Pengyu Xue, He Yang Yuan, Xin Wang, Junkai Chen, Haonan Zhang, Boyuan Chen, Zishuo Ding, Zhenhao Li, Weiyi Shang

Publié 2026-07-31
📖 5 min de lecture🧠 Analyse approfondie

Auteurs originaux : Pengyu Xue, He Yang Yuan, Xin Wang, Junkai Chen, Haonan Zhang, Boyuan Chen, Zishuo Ding, Zhenhao Li, Weiyi Shang

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 enseigniez à un robot comment écrire du code. Pendant longtemps, la seule façon de vérifier si le robot faisait du bon travail était de demander : « Est-ce que le programme fonctionne ? » Si le robot construisait une calculatrice qui additionnait les nombres correctement, il recevait une étoile d'or. Mais dans le monde réel, écrire un logiciel, c'est comme construire une maison. Ce n'est pas parce que le toit ne fuit pas et que les portes s'ouvrent que la maison est agréable à vivre. Peut-être que le câblage est un enchevêtrement de fils derrière les murs, que la peinture s'écaille ou que les instructions pour utiliser l'interrupteur sont écrites avec de l'encre invisible. Ce sont les parties « non fonctionnelles » d'une maison : sa facilité de réparation, sa sécurité et son aspect esthétique.

Récemment, des programmes informatiques intelligents appelés « agents de codage » sont devenus très doués pour construire la structure de base des logiciels. Ils peuvent corriger des bugs et ajouter de nouvelles fonctionnalités. Mais personne ne savait vraiment si ces agents pouvaient aussi accomplir le travail salissant, ennuyeux mais super important de nettoyer le code, d'organiser le câblage et de rédiger des instructions claires sans rien casser de ce qui fonctionnait déjà. C'est la question à laquelle une équipe de chercheurs issus d'universités du Canada, de Chine et de Singapour a décidé de répondre. Ils voulaient voir si ces assistants numériques pouvaient être plus que de simples constructeurs fonctionnels et devenir de véritables gardiens de logiciels.

Pour le découvrir, les chercheurs ont créé un nouveau test appelé SWE-NFI. Considérez ce test comme une immense liste de contrôle automatisée pour un inspecteur. Au lieu de simplement vérifier si un programme s'exécute, la liste contient 92 règles spécifiques sur la manière dont le code « semble » et se « ressent ». Ces règles vérifient des choses telles que : « Avez-vous écrit une explication claire de ce que fait cette fonction ? » (Documentation), « Avez-vous géré les erreurs de manière sécurisée pour que le programme ne plante pas ? » (Gestion des erreurs) et « Avez-vous utilisé des outils modernes au lieu de vieux outils rouillés ? » (Contraintes de bibliothèques).

Les chercheurs ont construit ce test à partir de 188 exemples réels tirés de projets logiciels existants que des humains avaient déjà corrigés. Ils ont pris la version « avant » du code, l'ont donnée à divers agents de codage, et leur ont demandé de l'améliorer sans changer ce qu'il faisait réellement. Ensuite, ils ont utilisé leur liste de contrôle de 92 règles pour noter les agents. Ils ont également utilisé un score de « référence humaine », qui correspond à la manière dont un véritable développeur humain a amélioré ce même morceau de code dans le monde réel.

Les résultats ont été un certain rappel à la réalité. Les meilleurs agents de codage étaient assez doués pour s'assurer que le code fonctionnait toujours (obtenant un taux de réussite fonctionnelle de 70,0 %). Cependant, lorsqu'il s'agissait de rendre le code meilleur dans les aspects qui importent aux humains, les agents avaient du mal. Ils étaient en deçà des développeurs humains dans presque toutes les catégories.

L'écart le plus important concernait les « Modèles de Logique », ce qui est comparable à l'intégrité structurelle du code. Les humains ont amélioré ce domaine avec un score moyen de 1,5, tandis que les meilleurs agents de codage n'ont réussi qu'entre 0,0 et 1,3. C'est comme si les robots pouvaient construire un mur solide, mais qu'ils ne parvenaient pas à aligner parfaitement les briques ou à ajouter une belle arche.

L'étude a également révélé des particularités intéressantes :

  • Un fichier contre plusieurs : Les agents étaient corrects pour corriger un seul fichier, mais lorsqu'ils devaient coordonner des changements sur plusieurs fichiers à la fois (comme réparer le câblage de la cuisine et du salon en même temps), ils devenaient beaucoup moins performants.
  • Coût vs Qualité : Les chercheurs ont vérifié la quantité de « carburant » (temps informatique et jetons de données) utilisé par les agents. Ils ont constaté que dépenser plus d'argent ou de temps ne garantissait pas toujours de meilleurs résultats. Un agent a dépensé 100 fois plus de ressources qu'un autre sans produire d'améliorations significatives du code.
  • Cohérence : Une fois qu'un agent avait réussi à écrire un code qui fonctionnait réellement, il était assez constant pour apporter ces petites améliorations. Le vrai problème était simplement de faire fonctionner le code au départ.

En résumé, l'article suggère que si nos robots de codage sont devenus très bons pour le « quoi » (faire fonctionner les choses), ils ont encore un long chemin à parcourir pour le « comment » (rendre le code maintenable, sûr et propre). Ils sont de bons apprentis capables de suivre des instructions, mais ils n'ont pas encore appris l'art d'être des maîtres artisans sachant ranger l'atelier. Les chercheurs espèrent qu'en ayant cette nouvelle liste de contrôle stricte, nous pourrons enseigner à la prochaine génération d'agents de codage non seulement à construire des logiciels, mais aussi à en prendre soin.

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.

Essayer Digest →