GitHub Copilot : Une nouvelle fonctionnalité pour référencer le code des développeurs
GitHub Copilot, l'outil révolutionnaire qui a transformé la façon dont les développeurs écrivent leur code, a récemment introduit une nouvelle fonctionnalité : il est désormais capable d'informer les développeurs lorsque ses suggestions correspondent à du code existant dans un dépôt public. Cette mise à jour répond à un défi de taille : éviter que Copilot ne génère du code trop similaire à celui déjà disponible dans un autre dépôt public.
Éviter les doublons
En 2022, GitHub a lancé une fonctionnalité permettant aux utilisateurs de bloquer automatiquement les suggestions de code correspondant à du code public. Selon un porte-parole de GitHub, ce système serait activé moins de 1% du temps. Toutefois, les développeurs peuvent parfois vouloir voir ces fragments de code - soit pour les utiliser (dans les limites des restrictions de licence établies par leur entreprise), soit pour éventuellement utiliser l'ensemble de la bibliothèque dont provient cet extrait.
La référence du code en beta privée
GitHub a donc trouvé un compromis et a lancé aujourd'hui une bêta privée d'une fonctionnalité de référencement de code pour GitHub Copilot. Avec le référencement de code activé, Copilot ne bloquera plus automatiquement tout code correspondant qu'il génère, mais le montrera plutôt aux développeurs dans une barre latérale, leur laissant le soin de décider quoi en faire. Cette fonctionnalité sera également disponible sur Copilot Chat.
Un outil précieux
Cette fonctionnalité avait été annoncée en novembre dernier, mais il a fallu un certain temps pour la mettre en place. Thomas Dohmke, le PDG de GitHub, a déclaré que Microsoft, GitHub et la plupart des clients de Copilot utilisaient la fonctionnalité de blocage originale. Cependant, il a également noté que c'est un outil plutôt rudimentaire. En effet, il ne permet pas d'explorer les bibliothèques existantes et de soumettre des demandes d'extraction. Il peut arriver que le développeur reproduise tout ce qui existe déjà dans un dépôt open source.
De nouvelles perspectives
Dohmke a souligné que cela concerne souvent des algorithmes informatiques courants, comme le tri, qui ont tendance à exister à de nombreux endroits. Désormais, les développeurs peuvent rejeter le code, l'utiliser directement - en supposant que la bibliothèque le permet - ou demander à Copilot de réécrire le code afin qu'il ne corresponde plus au code original.
Il n'est pas encore possible de voir uniquement les résultats qui correspondent à des licences spécifiques, mais l'équipe cherche activement des retours pour voir si c'est une fonctionnalité demandée par les utilisateurs.
En conclusion
La fonction de référencement de code est plus susceptible d'être activée lorsqu'il n'y a pas beaucoup de contexte pour Copilot. Lorsque Copilot peut voir beaucoup de contexte à partir du code existant sur lequel vous travaillez, il est peu probable qu'il produise une suggestion qui correspond à du code public. Mais lorsque vous commencez tout juste, il est nettement plus susceptible de générer du code correspondant.
Au cœur de cette fonctionnalité, on trouve un moteur de recherche très rapide (GitHub dit vouloir maintenir une latence de 10 à 20 ms) qui peut rapidement trouver le code correspondant et sa licence. Actuellement, les extraits de code correspondants sont répertoriés dans l'ordre dans lequel le moteur de recherche les trouve.
Cette nouvelle fonctionnalité comble une lacune de l'outil initial et promet d'être un atout précieux pour les développeurs.