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.