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
: