L'assistant d'IA Devin est présenté comme "le premier programme ingénieur logiciel au monde". Devin promet d'automatiser des flux de travail de programmation entiers, d'accroître l'efficacité et de redéfinir potentiellement le rôle des ingénieurs logiciels humains. Il est capable de planifier, de concevoir et de construire des projets logiciels de manière autonome. Il analyse les besoins, génère du code, identifie et corrige les erreurs, et s'intègre même aux flux de travail existants. Selon Cognition, cette automatisation se traduit par des avantages significatifs :
- efficacité accrue : les tâches répétitives telles que la génération de code et la correction des bogues sont automatisées, ce qui permet aux développeurs humains de se consacrer à la résolution de problèmes plus complexes ;
- réduction des coûts de développement : la rationalisation des flux de travail et l'automatisation permettent d'accélérer les cycles de développement et de réduire les coûts globaux ;
- amélioration de la qualité : la capacité de Devin à analyser méticuleusement le code peut conduire à une réduction des erreurs et à une amélioration de la qualité globale du code ;
- démocratisation du développement logiciel : Devin pourrait permettre à des non-programmeurs de créer des applications de base, ce qui élargit le champ d'application du développement logiciel.
Pour l'instant, l'assistant d'IA Devin n'est disponible qu'en accès anticipé. Pour en bénéficier, les développeurs sont invités à remplir un formulaire Google pour indiquer leurs besoins et leurs préférences en matière d'outils. En fonction de leurs besoins, les développeurs seront placés sur une liste d'attente. Quelques-uns des premiers testeurs ont partagé leurs retours d'expérience avec Devin sur la toile. Voici les réactions de quelques utilisateurs :
Construire un site Web pour jouer aux échecs contre un modèle d'IA
Andrew Kean Gao, étudiant à l'université de Stanford, a partagé des captures d'écran de son interaction avec Devin. Il a demandé à Devin de créer un site Web permettant de jouer aux échecs contre un adversaire basé sur un grand modèle de langage (LLM), plus précisément l'API GPT-4. « La première tâche que je lui ai confiée était un site Web sur lequel vous jouez aux échecs contre un LLM. Vous jouez un coup, le coup est communiqué à GPT-4 via une invite, GPT-4 répond, et la réponse est convertie en un coup qui est reflété sur l'échiquier. Il y a donc beaucoup de pièces en mouvement », a expliqué Gao.
[tweet]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">My first task I asked it for, was a website where you play chess against an LLM. You make a move, the move is communicated to GPT-4 via a prompt, and GPT-4 replies, and the reply is converted into a move that is reflected on the chessboard.<br><br>So quite a few moving parts.<br><br>I was… <a href="https://t.co/XVLytcPLVs">pic.twitter.com/XVLytcPLVs</a></p>— Andrew Kean Gao (@itsandrewgao) <a href="https://twitter.com/itsandrewgao/status/1767577644688683345?ref_src=twsrc%5Etfw">March 12, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/tweet]
Dans son message sur X (anciennement Twitter), Gao fait remarquer qu'il s'agit d'une tâche extrêmement complexe, car la plupart des LLM n'ont aucune idée de la manière d'utiliser les API, en particulier l'API GPT-4. Il était également sceptique sur les capacités de Devin à gérer les API en toute sécurité et les erreurs de paquetages associées. Mais Gao a déclaré qu'à sa grande surprise, Devin a suivi une démarche cohérente dans l'exécution de la tâche, notamment en demandant une clé d'API et la traitant en toute sécurité. Il a partagé une capture d'écran de la façon dont Devin a réagi face à ce problème.
Cependant, Gao a souligné quelques limites de Devin, en particulier sa lenteur. Selon son rapport, l'outil a mis près de 19 minutes à traiter avant de demander la clé API. En outre, il travaillait à l'élaboration des plans de jeu à l'aide de chess.js, conformément à la documentation npm et aux erreurs connexes. Il s'agit d'une étape cruciale pour décider des mouvements et des erreurs du jeu. Gao a également partagé une capture d'écran dans laquelle on voit Devin déboguer un problème de rendu et revoir une méthode d'exportation pour corriger la déclaration d'importation de l'environnement de jeu appelé Chess.
[tweet]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">chrome extension had a problem with the manifest. it made a manifestv2 but google deprecataed and now we are on manifest v3. But i just had to tell <a href="https://twitter.com/hashtag/Devin?src=hash&ref_src=twsrc%5Etfw">#Devin</a> and it corrected it.<br><br>we are almost there!!<br><br>The extension autofills the github link for Repo2Prompt based on the current… <a href="https://t.co/idcnIqj6sA">pic.twitter.com/idcnIqj6sA</a></p>— Andrew Kean Gao (@itsandrewgao) <a href="https://twitter.com/itsandrewgao/status/1767600648059601337?ref_src=twsrc%5Etfw">March 12, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/tweet]
Dans un second exercice, Gao a demandé à Devin de développer une extension Chrome qui transforme les dépôts GitHub en invites Claude. Devin a également réussi à exécuter cette tâche en créant une extension Chrome nommée Repo2Prompt. Il a toutefois eu un problème dans un premier temps ; L'extension a été générée sous le Manifest V2 qui vient d'être déprécié par Google. « L'extension Chrome a eu un problème avec le manifeste. Elle est basée sur un Manifest V2, mais Google l'a déprécié et maintenant nous sommes sur le Manifest V3. Il suffit de le dire à Devin pour que le problème soit corrigé », note Gao.
« L'extension remplit automatiquement le lien GitHub pour Repo2Prompt en fonction de la page ouverte, puis vous fournissez un jeton GitHub. Il ne reste plus qu'à créer le lien pour télécharger le texte pour l'utilisateur », a-t-il ajouté. Il s'agit d'un travail impressionnant de la part d'un outil d'IA, ce qui démontre les avancées significatives dans le domaine de l'IA générative. Le rapport de Gao a suscité de nombreuses réactions sur la toile. En outre, Gao a fourni un lien à partir duquel vous pouvez télécharger l'extension créée par Devin et l'essayer par vous-même.
Devin : mise en place d'un projet d'interface utilisateur de chatbot
Un autre utilisateur de X appelé Mckay Wrigley a partagé une vidéo détaillée de son expérience avec Devin. Wrigley a demandé à Devin de mettre en place son application "Chatbot UI" en local. Il a déclaré dans son message qu'il a été étonné par le travail de l'assistant d'IA de Cognition. « Je suis époustouflé par Devin. Regardez-moi l'utiliser pendant 27 minutes. C'est de la folie. L'ère des agents d'IA a commencé », a déclaré l'utilisateur. La vidéo montre les différentes étapes suivies par l'assistant d'IA pour exécuter les instructions de Wrigley. Dans un premier temps, Devin a cloné entièrement le dépôt GitHub.
[tweet]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I’m blown away by Devin.<br><br>Watch me use it for 27min.<br><br>It’s insane.<br><br>The era of AI agents has begun. <a href="https://t.co/WjMa8TSc0P">pic.twitter.com/WjMa8TSc0P</a></p>— Mckay Wrigley (@mckaywrigley) <a href="https://twitter.com/mckaywrigley/status/1767985840448516343?ref_src=twsrc%5Etfw">March 13, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/tweet]
Devin a analysé le fichier README du dépôt pour comprendre les besoins et les exigences du projet. Il installe ensuite les dépendances nécessaires au projet à l'aide de npm. Il a finalement réussi à recréer l'application Chatbot UI dans l'interface. Un autre aspect intéressant est que Devin s'est même connecté à l'application Chatbot UI lorsque Wrigley lui a donné son nom d'utilisateur et son mot de passe. Cela montre que ses capacités vont au-delà du codage, du débogage et du clonage de référentiels de code source. Les commentaires sous la vidéo révèlent les préoccupations des développeurs quant à leur avenir.
« C'est un peu effrayant de voir cela. Il est impossible que les entreprises n'optent pas pour ce type d'agents plutôt que pour des humains », a écrit un commentateur. Un autre a écrit : « alors, devons-nous maintenant nous concentrer uniquement sur le marketing ? Le site de Devin est très bien fait, l'avenir proche du développement logiciel va beaucoup changer. Les choses que l'humanité sera capable de construire à l'avenir ont simplement augmenté d'un ordre de grandeur, probablement plusieurs ordres de grandeur ». Pour d'autres, l'humanité est beaucoup plus proche de la singularité que les gens ne le croient.
Une carte des aéroports des États-Unis avec les temps de trajets
Ethan Mollick, un autre utilisateur ayant bénéficié d'un accès anticipé à Devin, a demandé à l'assistant d'IA de créer une carte indiquant les aéroports des États-Unis ainsi que les temps de trajet qui leur sont associés. Les captures d'écran partagées par Mollick sur X montrent que Devin a procédé étape par étape, démontrant une grande compréhension du langage naturel. Devin a d'abord identifié des sources de données sur les aéroports américains. Ensuite, il a mis en place un environnement de développement local conçu pour une application React et a utilisé les composants Chakra UI pour cette fonctionnalité.
[tweet]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">A glimpse of the future of AI at work:<br><br>I got early access to Devin, the "AI developer" - it is slow & breaks often, but you can start to see what an AI agent can do.<br><br>It makes a plan and executes it autonomously, doing research, writing code & debugging, without you watching. <a href="https://t.co/HHBQQDQZ9q">pic.twitter.com/HHBQQDQZ9q</a></p>— Ethan Mollick (@emollick) <a href="https://twitter.com/emollick/status/1768496382149640539?ref_src=twsrc%5Etfw">March 15, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/tweet]
Il a développé une bibliothèque de cartographie pour l'interface frontale à l'aide de Leaflet.js. Cela montre que Devin peut également mettre en place des applications Web interactives ou des applications mobiles en utilisant diverses API ou des progiciels disponibles. Enfin, Devin a déployé l'interface cartographique générée à l'aide de Netlify. Il ne s'est pas arrêté au déploiement, car il a continué à tester le code en profondeur. Cela permet de garantir des performances parfaites dans l'environnement de production. Lors du traitement de la tâche, l'utilisateur a détecté un bogue et l'a signalé à Devin.
Devin a corrigé le bogue de manière autonome. « J'ai eu un accès anticipé à Devin, l'IA développeur. Il est lent et tombe souvent en panne, mais vous pouvez commencer à voir ce qu'un agent d'IA peut faire. Il élabore un plan et l'exécute de manière autonome, en effectuant des recherches, en écrivant du code et en déboguant, sans que vous le surveilliez », a déclaré Mollick dans son message sur X. Les testeurs de Devin se sont dits impressionnés par ses capacités, bien que la plupart d'entre eux aient signalé la lenteur importante de l'outil. Mais Cognition devrait s'attaquer à ce problème dans les jours à venir.
Par ailleurs, d'autres captures d'écran montrent que Devin est capable de demander de l'aide lorsqu'il est en difficulté. Ainsi, pour corriger un bogue, Devin a généré un ticket d'assistance et a discuté avec l'équipe d'assistance pour trouver la bonne solution.
Devin pourrait-il remplacer les développeurs de logiciels à l'avenir ?
Certains commentateurs évoquent la possibilité que Devin remplace les développeurs à l'avenir. Selon eux, Devin peut voler les emplois des développeurs de logiciels et des débogueurs, car de grandes entreprises pourraient envisager d'utiliser Devin pour écrire des scripts. Devin innove en ce qui concerne le développement logiciel caractérisé par le codage manuel, les tâches répétitives et l'accent mis sur la fonctionnalité plutôt que sur l'innovation. Devin pourrait gérer ces aspects avec une efficacité remarquable, remplaçant potentiellement le besoin de certains ingénieurs logiciels débutants.
[tweet]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">🤯 crazy exchange on <a href="https://twitter.com/modal_labs?ref_src=twsrc%5Etfw">@modal_labs</a> slack between <a href="https://twitter.com/cognition_labs?ref_src=twsrc%5Etfw">@cognition_labs</a> 's Devin & modal's support team <a href="https://t.co/GZ6c5uaO5V">pic.twitter.com/GZ6c5uaO5V</a></p>— Raunak Chowdhuri (@raunakdoesdev) <a href="https://twitter.com/raunakdoesdev/status/1769066769786757375?ref_src=twsrc%5Etfw">March 16, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>[/tweet]
Toutefois, les capacités de Devin ont des limites. S'il excelle en matière d'automatisation et d'efficacité, certains critiques affirment qu'il lui manque les principaux atouts des ingénieurs logiciels "intelligents". Ces capacités comprendraient notamment :
- créativité et innovation : selon les critiques, Devin ne peut pas vraiment innover. Il génère du code basé sur des modèles et des données existants, mais il a du mal à trouver des idées novatrices ou des solutions inédites ;
- expertise dans le domaine : Devin n'a pas la connaissance approfondie des industries ou des applications spécifiques que possèdent les ingénieurs humains ;
- communication avec les clients et compétences non techniques : la création de logiciels implique d'interagir avec les parties prenantes, de comprendre leurs besoins et de les traduire en solutions techniques. Cela nécessite des compétences en matière de communication, d'empathie et de négociation qui dépassent les capacités actuelles de Devin ;
- réflexion stratégique et conception : les ingénieurs logiciels intelligents ne se contentent pas de coder. Ils définissent l'architecture, prennent des décisions cruciales en matière de conception et veillent à ce que le logiciel s'aligne sur les objectifs à long terme de l'entreprise. Devin ne peut pas reproduire cette vision stratégique.
« Essentiellement, Devin est un outil très puissant, mais il reste un outil. Le développement de logiciels se nourrit de l'ingéniosité humaine. Les ingénieurs logiciels intelligents tirent parti de leur créativité, de leur connaissance du domaine et de leur intelligence émotionnelle pour relever des défis complexes, concevoir des solutions innovantes et combler le fossé entre la technologie et les objectifs de l'entreprise », lit-on dans les commentaires. Ces critiques affirment que les agents d'IA ne remplaceront pas les humains, mais que l'avenir de l'ingénierie logiciel réside dans la collaboration entre les humains et l'IA.
« L'arrivée de Devin est le signe d'un changement, et non d'une élimination. L'avenir du développement de logiciels réside dans la collaboration entre les humains et l'IA », note un critique. Cette approche collaborative exploite les forces des deux parties : l'efficacité et la rapidité de l'IA, ainsi que la créativité, la réflexion stratégique et la touche humaine essentielles à la réussite. Ainsi, l'on pourrait envisager un scénario dans lequel :
- Devin s'occupe des tâches banales : Devin automatise les tâches répétitives, ce qui permet aux développeurs humains de se concentrer sur la créativité, la conception et la résolution de problèmes stratégiques ;
- les humains guident l'IA : les développeurs fournissent à Devin des exigences claires, une connaissance du domaine et une orientation stratégique ;
- l'IA complète les humains : Devin suggère des solutions, identifie les problèmes potentiels et aide les développeurs à écrire un code plus propre et plus efficace.
En somme, l'émergence de Devin est un signal d'alarme pour les professionnels du développement logiciel. L'accent ne doit plus être mis sur les compétences de base en matière de codage, mais sur une approche plus holistique : la maîtrise de l'art de la résolution de problèmes, de la conception, de la communication et du leadership. La mise à niveau et le développement de ces capacités seront essentiels pour prospérer à l'ère du développement alimenté par l'IA.
« Les ingénieurs logiciels ne deviennent pas obsolètes, ils évoluent. Devin nous donne l'occasion d'accroître nos compétences et de repousser les limites du possible. L'avenir n'appartient pas à ceux qui craignent l'IA, mais à ceux qui apprennent à collaborer et à tirer parti de sa puissance pour créer des solutions logicielles véritablement transformatrices », lit-on dans les commentaires.
Source : Cognition
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous des capacités de l'assistant d'IA Devin ?
Que pensez-vous des retours d'expérience rapportés ci-dessus ?
Pensez-vous que Devin sera en mesure de remplacer les développeurs à l'avenir ?
L'avenir du développement logiciel sera-t-il basé sur une collaboration entre l'homme et l'IA ?
Voir aussi
« Nous avons confié à Devin de vraies offres sur une plateforme de recrutement et il a rendu satisfaction », soulignent les auteurs à propos de leur IA ingénieur logiciel « entièrement autonome »
« Apprendre à programmer sera inutile à l'avenir », d'après le PDG de Nvidia, selon lequel l'intelligence artificielle fera de tous des programmeurs au travers du langage naturel
Sam Altman assure que GPT-5 va bénéficier d'une amélioration massive par rapport à GPT-4, faisant « un bond en avant dans les capacités de raisonnement avancées »