« Ils ont fini par trouver un moyen de me faire écrire des commentaires. » Une remarque certes empreinte d’humour, mais symbolique de l’impression que GitHub Copilot laisse à ceux qui ont pu l’expérimenter.
L’outil se présente sous la forme d’une extension pour Visual Studio Code. Il met en œuvre le principe de la complétion de code. Mais en s’appuyant sur un modèle d’apprentissage automatique développé avec OpenAI. Ce modèle, nommé Codex, a été entraîné sur des dépôts publics de code source et sur du texte en anglais. En l’état, Python, JavaScript, TypeScript, Ruby et Go sont ses langages « de prédilection ».
GitHub expérimentait jusqu’alors en cercle fermé. Il ouvre désormais la démarche sur invitation, pour un « nombre limité » de testeurs. Tout en prenant soin de rappeler que le code généré requiert – a minima – la même attention que celui que produisent les développeurs.
Au-delà de l’incohérence potentielle du code qu’il suggère*, Copilot présente encore bien des limites. Par exemple, l’incapacité à aller chercher du contexte au-delà du fichier sur lequel on travaille. Et même à exploiter pleinement ce fichier s’il est trop long.
Autre écueil : la divulgation de données personnelles. GitHub l’estime très peu probable, mais ne l’exclut pas, puisqu’il en existe dans les dépôts utilisés pour l’entraînement. Une parade est en place pour le moment : un filtre censé empêcher l’affichage d’adresses e-mail au format standard.
Il reste également du travail pour éviter les termes choquants et les références à des composants obsolètes ou à des pratiques insécurisées. Mais aussi sur la question du copyright. Il arrive en l’occurrence à Copilot de reprendre des fragments de code tels quels. En particulier lorsqu’il manque de contexte ou qu’il existe une solution « universelle » à un problème. GitHub en est conscient et assure développer un système de signalement.
Copilot deviendra, à terme, un produit commercial. Dans le portefeuille « aide aux développeurs » de Microsoft, il cohabite avec IntelliCode. Intégré à Visual Studio, cet outil recourt aussi au machine learning. Mais essentiellement en local, au travers du runtime ONNX.
* GitHub fournit un indicateur de performance, fondé sur le masquage de fonctions Python courantes dans les dépôts d’entraînement. Copilot en a reconstitué 43 % du premier coup (et 57 % en ayant droit à 10 essais).
Illustration principale © Florian Olivo – Unsplash
Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…
L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…
Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…
Pour dissuader le CISPE d'un accord avec Microsoft, Google aurait mis près de 500 M€…
Pour réduire la taille des mises à jour de Windows, Microsoft va mettre en place…
De l'organisation administrative à la construction budgétaire, la Cour des comptes pointe le fonctionnement complexe…