Copilot : l'IA de GitHub désormais assez mature ?
Publié par Clément Bohic le | Mis à jour le
À l’issue d’un an d’expérimentation ouverte, GitHub acte le passage en phase commerciale de son outil de complétion de code Copilot.
Copilot, à utiliser avec précaution ? GitHub ne l’a pas caché tout au long de la phase expérimentale. Un discours toujours d’actualité bien que l’outil soit désormais en phase commerciale : « Il vous appartient d’assurer la sécurité et la qualité de votre code ».
Générer du code, c’est précisément le rôle de Copilot. Sous le capot, il y a Codex, un modèle d’apprentissage automatique spécialisé développé avec OpenAI. Python, JavaScript, TypeScript, Go, Ruby, C# et C++ sont ses langages de prédilection. On peut l’intégrer à VS Code, Visual Studio* (pas encore sur Mac), Neovim et les IDE JetBrains.
Copilot fait ses suggestions soit à partir de code, soit à partir de commentaires (en anglais). Il est capable d’exploiter le contexte au sein du fichier et en dehors (fichiers associés). GitHub affirme que 1,2 million de développeurs ont pris part à la phase de test principale, qui s’est déroulée sur les douze derniers mois.
Qui peut accéder à Copilot ? Pour le moment, tous les comptes individuels sur GitHub.com. Pour les comptes sous gestion d’entreprise, ce sera « plus tard cette année ». Le prix : 10 $/mois ou 100 $/an, avec une période d’essai de 60 jours. Deux situations permettent de bénéficier d’une gratuité :
– Étudier dans un établissement membre du programme GitHub Global Campus (carte ci-dessous centrée sur la France)
– Avoir un accès admin ou en écriture à au moins un projet open source « populaire » (critères à la discrétion de GitHub)
Copyright, obsolescence, privacy : les à-côtés de Copilot
Que surveiller en particulier avec Copilot ? GitHub n’exclut pas, par exemple, la divulgation de données personnelles (même s’il l’estime très peu probable), puisqu’il en existe dans les dépôts utilisés pour entraîner le modèle. Autres risques : voir apparaître des termes choquants et des références à des composants obsolètes ou à des pratiques insécurisées.
Il y a aussi la question du copyright : il arrive à Copilot de reprendre des fragments de code tels quels. Surtout lorsqu’il manque de contexte ou qu’il existe une solution « universelle » à un problème.
Pour aller plus loin sur ce sujet, on pourra consulter une étude effectuée sur la base du top 25 CWE. Son objectif : estimer dans quelle mesure Copilot risquerait de suggérer du code vulnérable. Elle a impliqué trois axes :
– Propension à générer, dans un scénario donné, du code susceptible de présenter une faille
– Réaction à la modification d’éléments de contexte
– Comportement en fonction des langages et des paradigmes de programmation
* Dans le portefeuille « aide aux développeurs » de Microsoft, Copilot cohabite avec IntelliCode. Intégré à Visual Studio, cet outil recourt aussi au machine learning. Mais essentiellement en local, au travers du runtime ONNX.
Photo d’illustration © Florian Olivo – Unsplash