Récemment, la startup technologique Cognition Labs a introduit Devin, la première « IA ingénieure logiciel au monde ». Cet outil bénéficie d’une capacité de raisonnement avancée et peut, de manière autonome, se charger d’une large gamme de tâches relatives au développement de logiciels. De quoi inquiéter les développeurs.
Alors que les modèles de langage comme GPT-4 sont capables d’écrire et d’exécuter du code, Devin — une nouvelle IA introduite par la société Cognition Labs — peut faire bien plus. Il ne s’agit pas d’un outil capable de simplement coder sur demande, mais de bien plus. Devin est un véritable ingénieur logiciel virtuel alimenté par l’IA. Il étend ses capacités jusqu’à la création de modèles d’IA.
Le nouvel outil affiche des performances qui soulèvent à la fois admiration et inquiétude quant aux retombées futures de l’IA. Cognition Labs a déjà testé son produit dans le cadre de tâches réelles. En effet, les ingénieurs lui ont confié des tâches issues de demandes sur une plateforme pour freelancers. Dans le cadre de l’un des essais, l’outil a été chargé de mettre en place, de déboguer et de tester un modèle de vision par ordinateur.
Assurer le rôle d’une équipe entière
Devin est en mesure de produire le travail d’une équipe de développement logiciel entière. Il s’assure de la réalisation de toutes les étapes, de la conception du plan et la définition des exigences jusqu’au déploiement du produit fini. Il intègre effectivement des capacités de gestion de projet et d’analyse commerciale lui permettant de comprendre les objectifs d’un projet et de planifier les étapes nécessaires à sa réalisation.
Pour accomplir les tâches, Devin peut créer de « petits serviteurs », chacun chargé d’une portion du travail. Ces éléments interagissent avec divers outils de développement (terminaux, éditeurs de codes, navigateurs) pour coder, tester et déboguer le logiciel. De plus, Devin parvient à apprendre rapidement et à s’adapter à de nouvelles technologies. Il lui suffit de se documenter sur des articles de blog pour comprendre le fonctionnement d’un outil pour ensuite l’utiliser.
Créer des IA et résoudre des problèmes
Dans une vidéo de démonstration, Devin a cloné le modèle de langage Llama de Meta. Il a lu le fichier README pour comprendre comment le configurer, puis, de manière autonome, a lancé un cycle d’entraînement. Au cours de cette démonstration, Devin a également supprimé et réinstallé les paquets qui ne fonctionnaient pas. Cela démontre sa capacité à résoudre des problèmes fréquents en programmation de façon autonome.
D’ailleurs, au cours d’une autre expérience, Cognition Labs a souhaité évaluer les performances de Devin dans la résolution d’erreurs de programmation plus profondes. L’équipe s’est ainsi servie de projets open source trouvés sur GitHub. Devin a réussi à résoudre près de 14 % des sous-ensembles d’erreurs identifiés sans aucune assistance externe. L’outil a ensuite été comparé à d’autres modèles. L’IA Claude 2 de l’entreprise Anthtopic a résolu 4,8 % des problèmes, tandis que GPT-4 d’OpenAI en a résolu moins de 2 %.
Qu’est-ce que cette technologie implique pour les développeurs ?
L’arrivée de Devin et l’avancée rapide de l’IA en général suscitent forcément de l’inquiétude chez les développeurs logiciel. Cependant, pour le moment, il est encore difficile de croire que les entreprises puissent entièrement confier le développement de leurs logiciels et de leurs applications à une IA, surtout ceux qui nécessitent une fiabilité et une sécurité élevées. L’idée de laisser une IA « s’infiltrer » dans l’ensemble du code et effectuer des corrections autonomes suscitera sans doute également sa vague d’inquiétudes quant à l’aspect sécurité. Les modifications de l’IA pourraient par exemple introduire des erreurs ou des vulnérabilités, en particulier si le processus de prise de décision de l’IA n’est pas transparent. De ce fait, il est évident qu’il faudra encore du temps et des preuves de fiabilité pour que les entreprises clientes fassent entièrement confiance à ce type de technologie.
Toutefois, à mesure que les systèmes d’IA deviennent plus performants, les développeurs verront évoluer leurs rôles traditionnels. Dans le futur, il est probable que ces professionnels ne se chargeront plus de la rédaction de code, mais se concentreront plutôt de la supervision et de la gestion des IA chargées de cette tâche.
VIDÉO : présentation de Devin, par Cognition Labs :