
L'équipe de recherche a créé un test appelé SWE-Lancer, à partir de 1 488 correctifs logiciels réels apportés à la base de code d'Expensify, ce qui représente un million de dollars de travail d'ingénierie en freelance. Face à ces tâches de programmation quotidiennes, le meilleur modèle d'IA - Claude 3.5 Sonnet - n'a réussi à accomplir que 26,2 % des tâches de codage pratique et 44,9 % des décisions de gestion technique.
Bien que les systèmes d'IA se soient révélés capables de trouver rapidement les sections de code pertinentes, ils ont trébuché lorsqu'il s'est agi de comprendre comment les différentes parties d'un logiciel interagissaient. Les modèles ont souvent suggéré des corrections superficielles sans comprendre les implications plus profondes de ces changements.
Les grands modèles de langage (LLM) ont peut-être changé le développement logiciel, mais les entreprises devront réfléchir à deux fois avant de remplacer entièrement les ingénieurs logiciels humains par des LLM, même si le PDG d'OpenAI, Sam Altman, affirme que les modèles peuvent remplacer les ingénieurs de « bas niveau ».
D'ailleurs, Emad Mostaque, cofondateur et ancien PDG de Stability AI, estime que l'IA est devenue meilleure que n'importe quel programmeur externalisé : « L'IA est meilleure que n'importe quel programmeur indien externalisé à l'heure actuelle. 2025 verra la destruction complète du marché de l'externalisation des processus d'affaires », a déclaré Emad Mostaque lors de l'émission Moonshots avec Peter Diamandis, fondateur de la Fondation XPRIZE. « Le fait d'être présent en personne sera bénéfique pour votre emploi à l'heure actuelle, car tout ce qui est à distance sera le premier à disparaître », a-t-il ajouté.
Dans un nouvel article, les chercheurs d'OpenAI expliquent en détail comment ils ont développé un benchmark LLM appelé SWE-Lancer pour tester combien les modèles de base peuvent gagner en effectuant des tâches d'ingénierie logicielle en freelance dans la vie réelle. Le test a révélé que, bien que les modèles puissent résoudre des bogues, ils ne peuvent pas comprendre pourquoi le bogue existe et continuent à faire d'autres erreurs.
Les chercheurs ont confié à trois LLM - GPT-4o et o1 d'OpenAI et Claude-3.5 Sonnet d'Anthropic - 1 488 tâches d'ingénieur logiciel freelance provenant de la plateforme Upwork, pour un montant de 1 million de dollars. Ils ont divisé les tâches en deux catégories : les tâches de contribution individuelle (résolution de bogues ou mise en œuvre de fonctionnalités) et les tâches de gestion (où le modèle joue le rôle d'un gestionnaire qui choisira la meilleure proposition pour résoudre les problèmes).
« Les résultats indiquent que le travail en freelance dans le monde réel de notre benchmark reste un défi pour les modèles de langage d'avant-garde », écrivent les chercheurs.
Le test montre que les modèles de base ne peuvent pas remplacer totalement les ingénieurs humains. Bien qu'ils puissent aider à résoudre des bogues, ils ne sont pas tout à fait au niveau où ils peuvent commencer à gagner de l'argent en freelance par eux-mêmes.
Analyse comparative des modèles de freelancing
Les chercheurs et 100 autres ingénieurs logiciels professionnels ont identifié des tâches potentielles sur Upwork et, sans changer aucun mot, les ont transmises à un conteneur Docker pour créer l'ensemble de données SWE-Lancer. Le conteneur n'a pas d'accès à Internet et ne peut pas accéder à GitHub « pour éviter que les modèles ne collectent (scrap) des détails de code ou des Pull Request », expliquent-ils.
L'équipe a identifié 764 tâches de contributeurs individuels, d'une valeur totale d'environ 414 775 dollars, allant de la correction de bogues en 15 minutes à des demandes de fonctionnalités d'une durée d'une semaine. Ces tâches, qui comprenaient l'examen de propositions de pigistes et d'offres d'emploi, auraient été rémunérées à hauteur de 585 225 dollars.
Les tâches ont été ajoutées à la plateforme de facturation Expensify.
Les chercheurs ont généré des invites basées sur le titre et la description de la tâche, ainsi que sur un aperçu de la base de code. S'il y avait d'autres propositions pour résoudre le problème, « nous avons également généré une tâche de gestion en utilisant la description du problème et la liste des propositions », ont-ils expliqué.
À partir de là, les chercheurs sont passés au développement de tests de bout en bout. Ils ont rédigé des tests Playwright pour chaque tâche appliquant les correctifs générés, qui ont ensuite été « triplement vérifiés » par des ingénieurs logiciels professionnels.
« Les tests simulent des flux d'utilisateurs réels, tels que la connexion à l'application, l'exécution d'actions complexes (transactions financières) et la vérification que la solution du modèle fonctionne comme prévu », explique le document.
Résultats du test
Après avoir effectué le test, les chercheurs ont constaté qu'aucun des modèles n'avait permis d'atteindre la valeur totale des tâches, soit 1 million de dollars. Claude 3.5 Sonnet, le modèle le plus performant, n'a gagné que 208 050 dollars et a résolu 26,2 % des problèmes des contributeurs individuels. Cependant, les chercheurs soulignent que « la majorité de ses solutions sont incorrectes et qu'une plus grande fiabilité est nécessaire pour un déploiement digne de confiance ».
Les modèles ont obtenu de bons résultats dans la plupart des tâches des contributeurs individuels, Claude 3.5-Sonnet étant le plus performant, suivi par o1 et GPT-4o.
« Les agents excellent dans la localisation, mais ne parviennent pas à remonter à la source du problème, ce qui se traduit par des solutions partielles ou erronées », explique le rapport. « Les agents identifient la source d'un problème avec une rapidité remarquable, en utilisant des recherches par mots-clés dans l'ensemble du référentiel pour localiser rapidement le fichier et les fonctions concernés - souvent bien plus rapidement qu'un humain. Cependant, ils font souvent preuve d'une compréhension limitée de la façon dont le problème s'étend sur plusieurs composants ou fichiers, et ne parviennent pas à s'attaquer à la cause première, ce qui conduit à des solutions incorrectes ou insuffisamment complètes. Nous trouvons rarement des cas où l'agent cherche à reproduire le problème ou échoue parce qu'il n'a pas trouvé le bon fichier ou le bon emplacement à modifier ».
Il est intéressant de noter que tous les modèles ont obtenu de meilleurs résultats dans les tâches de gestion qui nécessitaient un raisonnement pour évaluer la compréhension technique.
Ces tests de référence ont montré que les modèles d'IA peuvent résoudre certains problèmes de codage de « bas niveau » et ne peuvent pas encore remplacer les ingénieurs logiciels de « bas niveau ». Les modèles prennent encore du temps, commettent souvent des erreurs et ne peuvent pas rechercher un bogue pour trouver la cause première des problèmes de codage. De nombreux ingénieurs de « bas niveau » travaillent mieux, mais les chercheurs ont indiqué que cela pourrait ne pas être le cas très longtemps.
Plusieurs autres études ont conclu que l'IA ne remplacera pas les programmeurs de sitôt
Salim Ismail, entrepreneur et stratège technologique, qui participait également à l'émission, partage l'avis d'Emad Mostaque. Mais les déclarations de Emad Mostaque sont critiquées dans la communauté. Certains affirment notamment que son raisonnement est absurde. « L'affirmation selon laquelle l'IA est déjà meilleure que n'importe quel programmeur indien externalisé d'un autre pays est absurde, sinon ils seraient au chômage », a écrit un critique.
Les discussions battent leur plein à propos de l'IA dans le domaine du génie logiciel. Un sujet central : son impact dans la filière. La technologie divise. Par exemple, Linus Torvalds considère l'IA comme un simple outil qui n'a rien de révolutionnaire comparativement aux compilateurs.
Par contre, selon le PDG de Nvidia, Jensen Huang, « apprendre à programmer sera inutile à l'avenir ». Il affirme que l'IA fera de tous des programmeurs au travers du langage naturel. Il y a également des témoignages de programmeurs selon lesquels « jusqu'à 90 % du code peut être généré par l'IA ».
Cependant, plusieurs études montrent que l'IA est loin d'être apte à remplacer les programmeurs. Devin, l'IA qui menace de rendre les ingénieurs logiciels obsolètes coûte 500 $/mois, mais les tests ont révélé que l'outil souffre de nombreuses limites et les experts affirment que ces capacités sont exagérées. D'après les commentaires, Devin n'excelle que dans « les tâches répétitives et basées sur des modèles ». Et il pourrait ne pas faire mieux à l'avenir.
Cela pourrait faire gagner du temps aux ingénieurs et leur permettre de se concentrer sur la résolution créative de problèmes. Mais l'ingénierie logicielle implique une conception complexe, des considérations liées à l'expérience utilisateur et une résolution unique des problèmes, qui relèvent résolument du domaine humain. Ceux qui parviennent à trouver un équilibre entre l'efficacité de l'IA et la prise de décision stratégique axée sur l'humain s'épanouiront.
Emad Mostaque a prédit qu'il n'y aura plus de programmeurs dans cinq ans. Mais les conclusions de plusieurs études indiquent que l'IA générative ne remplacera pas les développeurs de sitôt, d'après des chercheurs, car le développement de logiciels va bien au-delà des tâches basiques de complétion de code.
Un chef d'entreprise remplace son équipe par une IA et se retrouve à chercher des développeurs sur LinkedIn
Wes Winder, un développeur de logiciels canadien, a fait sensation après avoir décidé de...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.