Microsoft dévoile GitHub Copilot, un assistant intelligent pour les développeurs

L’éditeur vient de lancer la préversion technique d’un tout nouvel outil, baptisé GitHub Copilot et développé en partenariat avec OpenAI. Cet assistant entend aider les développeurs grâce à un moteur de suggestions inspirées du contexte du document sur lequel travaille l’utilisateur.

Quel développeur n’a pas un jour rêvé d’un outil qui assure les tâches répétitives ou peu enrichissantes à sa place ? C’est ce que Microsoft propose désormais avec GitHub Copilot, un « compagnon IA qui vous aide à écrire un meilleur code ». Cet assistant, lancé hier en préversion technique après une période d’entraînement auprès d’un petit nombre de développeurs, consiste en une extension pour Visual Studio Code.

Microsoft explique en long et en large que GitHub Copilot est bien plus qu’un simple outil d’auto-remplissage de code. Bon, dans les faits, il suggère du code, mais se base sur le contexte du fichier. Ainsi, l’outil est en mesure de convertir des commentaires, dès lors que ceux-ci décrivent une logique, en code, ou encore poursuivre automatiquement une liste de lignes répétitives. GitHub Copilot va en outre suggérer des tests qui correspondent au code d’implémentation ou encore présenter différentes alternatives de code, pratique lorsque le développeur ne maîtrise pas le langage ou le framework.

Codex

Pour ce faire, l’assistant exploite le système d’intelligence artificielle Codex d’OpenAI. « Codex a une connaissance approfondie de la façon dont les gens utilisent le code et est nettement plus capable que GPT-3 dans la génération de code, en partie parce qu'il a été formé sur un ensemble de données qui comprend une concentration beaucoup plus importante de code source public » écrit Microsoft. L’extension Copilot envoie les commentaires et le code au service éponyme, qui utilise ensuite Codex pour synthétiser et suggérer des lignes individuelles et des fonctions entières.

A noter une certaine proximité entre Copilot et IntelliCode, que Redmond explique par l’étroite collaboration entre les deux équipes, tout en soulignant que les technologies sous-jacentes ne sont pas les mêmes. L’outil de GitHub fonctionne principalement avec Python, JavaScript, TypeScript, Ruby et Go, tandis que Codex a été entraîné « sur du code source accessible au public et du langage naturel, afin qu'il comprenne à la fois la programmation et les langages humains ».

Du code non testé

Mais attention, amis développeurs, n’allez pas croire que GitHub Copilot va faire le travail à votre place. Comme l’écrit Microsoft dans sa Q&A, « GitHub Copilot essaie de comprendre votre intention et de générer le meilleur code possible, mais le code qu'il suggère peut ne pas toujours fonctionner, ou même ne pas avoir de sens ».  L’outil ne teste pas le code qu’il suggère et ne prend en compte qu’un contexte limité au seul fichier source qui, s’il est trop long, ne sera pas entièrement considéré.

GitHub Copilot est également susceptible de suggérer du code provenant de bibliothèques ou de versions des langages obsolètes. Et puisqu’il est entraîné sur du code public, il risque également de proposer des bugs, des modèles de code non sécurisés ou de mauvaise qualité, des commentaires offensants etc. GitHub assure néanmoins qu’il travaille à améliorer ces différents points, mais conseille de toujours examiner et tester son code avant le passage en production.

Tes données dans mon code

Autre problème issu de l’entraînement de l’assistant, « son ensemble de formation comprenait des données personnelles publiques incluses dans ce code ». Redmond assure qu’il est extrêmement rare que les suggestions incluent des données personnelles, mais déjà certains développeurs ont fait le tests et ont pu obtenir de GitHub Copilot certaines données issues de leur code public. « Pour l'aperçu technique, nous avons mis en place un filtre rudimentaire qui bloque les e-mails lorsqu'ils sont affichés dans des formats standards, mais il est toujours possible de faire en sorte que le modèle suggère ce genre de contenu si vous essayez assez fort » ajoute Microsoft.

Pour l’heure, GitHub Copilot n’est disponible que sur Visual Studio Code, en préversion technique limitée. L’éditeur signale qu’il se concentre pour l’instant uniquement sur cet IDE. Quant à une date de disponibilité générale, il préfère ne pas s’avancer. « Si l'aperçu technique réussit, notre plan est de créer une version commerciale de GitHub Copilot à l'avenir » se contente-t-il de préciser.