
Testés sur des tâches réelles de programmation, les modèles les plus avancés n'ont pu résoudre qu'un quart des défis typiques de l'ingénierie
Les principaux modèles d'IA peuvent réparer les codes défectueux, mais ils sont loin d'être prêts à remplacer les ingénieurs logiciels humains, selon les tests approfondis réalisés par les chercheurs d'OpenAI. La dernière étude de l'entreprise a mis à l'épreuve des modèles et des systèmes d'IA sur des tâches de programmation réelles, et même les modèles les plus avancés n'ont pu résoudre qu'un quart des défis typiques de l'ingénierie.
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 licencier son équipe de développement et de la remplacer par des outils d'IA. Winder a d'abord utilisé les médias sociaux pour se vanter de sa décision, affirmant qu'elle lui permettait de « livrer 100 fois plus vite avec un code 10 fois plus propre ». Auparavant, une telle agressivité lui aurait valu de l'influence, mais aujourd'hui, elle s'est retournée contre lui et il est devenu un mème sur Reddit.
Le tweet disait : « J'ai viré toute mon équipe de développeurs. Je les ai remplacés par O1, Lovable et Cursor. Maintenant, je livre 100X plus vite avec un code qui est 10X plus propre. OpenAI o3 arrive et 90 % des emplois de développeurs ne survivront pas. »
Winder s'est ensuite rendu sur LinkedIn pour annoncer qu'il avait besoin de développeurs web pour rejoindre son entreprise. Cette disparité a suscité de nombreuses moqueries, aussi bien sur les réseaux sociaux que sur son annonce.
L'IA est en train de créer une génération de programmeurs illettrés
Un développeur raconte comment il a constaté une baisse de ses performances depuis qu'il s'appuie de plus en plus sur l'IA.
Il y a de cela quelques jours, Cursor est tombé en panne lors d'un arrêt de ChatGPT.
J'ai regardé fixement mon terminal, faisant face à ces messages d'erreur rouges que je déteste voir. Une erreur AWS est apparue. Je ne voulais pas la résoudre sans l'aide de l'intelligence artificielle (IA).
Après 12 ans de codage, j'étais devenu plus mauvais dans mon propre métier. Et ce n'est pas une hyperbole : c'est la nouvelle réalité des développeurs logiciels.
La décrépitude
Elle s'est insinuée subtilement en moi.
Tout d'abord, j'ai cessé de lire la documentation. Pourquoi s'embêter quand l'IA pouvait expliquer les choses instantanément ?
Ensuite, mes compétences en matière de débogage en ont pris un coup. Les traces de pile me semblent désormais inaccessibles sans l'IA. Je ne lis même plus les messages d'erreur, je me contente de les copier et de les coller.
Je suis devenu un presse-papier humain, un simple intermédiaire entre mon code et un LLM.
Auparavant, chaque message d'erreur m'apprenait quelque chose. Aujourd'hui ? La solution apparaît comme par magie et je n'apprends rien. La dopamine des réponses instantanées a remplacé la satisfaction d'une véritable compréhension.
La compréhension en profondeur est la prochaine chose qui a été affectée. Vous vous souvenez avoir passé des heures à comprendre pourquoi une solution fonctionne ? Aujourd'hui, je me contente d'appliquer les suggestions de l'IA. Si elles ne fonctionnent pas, j'améliore le contexte et je demande à nouveau à l'IA. C'est un cycle de dépendance croissante.
J'ai regardé fixement mon terminal, faisant face à ces messages d'erreur rouges que je déteste voir. Une erreur AWS est apparue. Je ne voulais pas la résoudre sans l'aide de l'intelligence artificielle (IA).
Après 12 ans de codage, j'étais devenu plus mauvais dans mon propre métier. Et ce n'est pas une hyperbole : c'est la nouvelle réalité des développeurs logiciels.
La décrépitude
Elle s'est insinuée subtilement en moi.
Tout d'abord, j'ai cessé de lire la documentation. Pourquoi s'embêter quand l'IA pouvait expliquer les choses instantanément ?
Ensuite, mes compétences en matière de débogage en ont pris un coup. Les traces de pile me semblent désormais inaccessibles sans l'IA. Je ne lis même plus les messages d'erreur, je me contente de les copier et de les coller.
Je suis devenu un presse-papier humain, un simple intermédiaire entre mon code et un LLM.
Auparavant, chaque message d'erreur m'apprenait quelque chose. Aujourd'hui ? La solution apparaît comme par magie et je n'apprends rien. La dopamine des réponses instantanées a remplacé la satisfaction d'une véritable compréhension.
La compréhension en profondeur est la prochaine chose qui a été affectée. Vous vous souvenez avoir passé des heures à comprendre pourquoi une solution fonctionne ? Aujourd'hui, je me contente d'appliquer les suggestions de l'IA. Si elles ne fonctionnent pas, j'améliore le contexte et je demande à nouveau à l'IA. C'est un cycle de dépendance croissante.
Et vous ?







Voir aussi :


Vous avez lu gratuitement 81 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.