
« Entièrement autonome »
Les discussions battent leur plein à propos de l’intelligence artificielle dans le domaine du génie logiciel. Un sujet central : son impact dans la filière avec, notamment, la question phare de la possible mise au rebut des développeurs humains par l’intelligence artificielle. Devin de Cognition Labs est de nature à raviver le débat de par sa présentation : « la première IA ingénieur logiciel entièrement autonome. » En droite ligne avec ces développements, le PDG de Nvidia est d’avis « qu’il ne sera plus nécessaire d’apprendre à programmer à l’avenir. » En d’autres termes, l’intelligence artificielle fera de tous des programmeurs et donc la filière ne sera plus réservée à des tiers formés pour le développement de logiciels.
Devin est un assistant de développement logiciel qualifié de supérieur par ses créateurs. Ce dernier est capable, d’après les vidéos de démonstrations publiées par l’équipe de développement, d’aller au-delà des tâches de suggestions de codage. Devin peut prendre en charge et terminer tout un projet logiciel de son propre chef.
Pour le mettre à contribution, il suffit de lui confier une tâche en langage naturel : « Crée un site web qui répertorie tous les restaurants italiens de Sydney, par exemple ». Cette intelligence artificielle va alors effectuer une recherche pour trouver les restaurants, obtenir leurs adresses et leurs coordonnées, puis construire et publier un site affichant ces informations.
Devin affiche toutes les tâches qu'il effectue et trouve et corrige lui-même les bogues en testant le code en cours d'écriture. Les fondateurs de Cognition AI sont Scott Wu, directeur général, Steven Hao, directeur de la technologie, et Walden Yan, directeur des produits. Steven Hao était récemment l'un des principaux ingénieurs de Scale AI, une startup très prisée qui aide à entraîner des systèmes d'intelligence artificielle.
« Ici, Devin écrit et débogue le code pour exécuter un modèle de vision par ordinateur. Devin échantillonne les données obtenues et compile un rapport à la fin », commentent ses créateurs à propos de la performance de cette intelligence artificielle sur une offre d’emploi publiée sur la plateforme Upwork.
Devin n’est néanmoins utile que dans 13 % des offres disponibles sur des plateformes de recrutement comme Upwork, ce qui est en accord avec les conclusions d’une récente étude qui arrive à la conclusion que l’IA générative ne remplacera pas les développeurs de sitôt
Des chercheurs de l'université de Princeton ont développé un cadre d'évaluation basé sur près de 2300 problèmes courants de génie logiciel montés à partir de rapports de bogues et de feature requests soumis sur GitHub afin de tester la performance de divers modèles de grands langages (LLM).
Les chercheurs ont fourni à différents modèles de langage le problème à résoudre et le code du dépôt. Ils ont ensuite demandé au modèle de produire un correctif réalisable. Ce dernier a ensuite fait l’objet de tests pour s'assurer qu'il était correct. Mais le LLM n'a généré une solution efficace que dans 4 % des cas.
Leur modèle spécialement entraîné, SWE-Llama, n'a pu résoudre que les problèmes d'ingénierie les plus simples présentés sur GitHub, alors que les LLM classiques tels que Claude 2 d'Anthropic et GPT-4 d'OpenAI n'ont pu résoudre que 4,8 % et 1,7 % des problèmes, de façon respective.
Et l’équipe de recherche de conclure : « le génie logiciel n’est pas simple dans la pratique. La correction d'un bogue peut nécessiter de naviguer dans un grand référentiel, comprendre l'interaction entre des fonctions dans différents fichiers ou repérer une petite erreur dans du code alambiqué. Cela va bien au-delà des tâches de complétion de code. »
C’est la raison pour laquelle Linux Torvalds a tenu à se désolidariser de tout le battage médiatique autour de l’intelligence artificielle. Il la considère comme un outil au stade actuel de son évolution. Il suggère d’ailleurs la révision de code comme domaine d’application de l’intelligence artificielle. La capacité de l’intelligence artificielle à « deviner » l’intention du développeur lui sera utile pour obtenir du code fiable en un temps réduit. Une condition demeurera toutefois nécessaire : le développeur devra à son tour examiner ce que l’intelligence artificielle lui propose.
Certains intervenants sont néanmoins d’avis que les actuels modèles d’IA ne font qu’effleurer la surface du tableau futur de la filière du développement de logiciels et renforcent l’idée de la possible disparition du métier de développeur
« ChatGPT et autres GitHub Copilot donnent juste un aperçu introductif de ce que la filière informatique sera dans l’avenir », déclare le CEO de la startup IA Fixie AI.
« Les assistants de programmation tels que CoPilot ne font qu'effleurer la surface de ce que je décris. Il me semble tout à fait évident qu'à l'avenir, tous les programmes seront écrits par des intelligences artificielles, les humains étant relégués, au mieux, à un rôle de supervision. Quiconque doute de cette prédiction n'a qu'à regarder les progrès très rapides réalisés dans d'autres aspects de la génération de contenu par l'intelligence artificielle, comme la génération d'images. La différence de qualité et de complexité entre DALL-E v1 et DALL-E v2 - annoncée seulement 15 mois plus tard - est stupéfiante. Si j'ai appris quelque chose au cours de ces dernières années à travailler dans le domaine de l'IA, c'est qu'il est très facile de sous-estimer la puissance de modèles d'IA de plus en plus grands. Des choses qui semblaient relever de la science-fiction il y a seulement quelques mois deviennent rapidement réalité.
Je ne parle pas seulement du fait que CoPilot de Github de remplacer les programmeurs. Je parle de remplacer le concept même d'écriture de programmes par des agents d’intelligence artificielle dédiés. À l'avenir, les étudiants en informatique n'auront pas besoin d'apprendre des compétences aussi banales que l'ajout d'un nœud à un arbre binaire ou le codage en C++. Ce type d'enseignement sera dépassé, comme celui qui consiste à apprendre aux étudiants en ingénierie à utiliser une règle à calcul », ajoute-t-il.
Lorsqu’on parle d’intelligence artificielle, deux...
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.