GitHub Copilot, voici comment l’IA vous aide à mieux programmer
Dans le grand groupe des assistants de programmation, il y a aussi de la place pour Copilote GitHuboptimisé pour la programmation en Python, C++, C#, Go, JavaScript, Ruby et TypeScript mais capable de fournir des suggestions pour d’autres langages, ainsi que de travailler avec différents frameworks.
GitHub utilise l’intelligence artificielle pour comprendre le code qu’il examine et proposer des solutions. Il va sans dire que lorsque nous utilisons le verbe comprendre, nous faisons référence à à une simple contextualisation superficiellepuisqu’aucun assistant de programmation ne comprend vraiment les objectifs du code ni n’est capable de l’encadrer dans un contexte spécifique comme le peut un opérateur humain.
Grâce au langage naturel, les développeurs et les programmeurs peuvent tirer parti de GitHub Copilot pour agir en leur nom et les laisser écrire du code.
Cependant, face à chaque innovation, Des problèmes surviennent qui doivent être abordés et résolus et, comme cela arrive de plus en plus souvent, les solutions évoluent du point de vue éthique au point de vue juridique.
Index des sujets :
Introduction à GitHub Copilot et aide à la programmation
GitHub Copilot est ce qu’on appelle un Programmeur de paires IA, qui est une technologie de programmation en binôme. Cela dit déjà tout : elle ne fonctionne pas seule et il n’est pas raisonnable d’espérer qu’elle puisse remplacer l’homme. Cela soulève la première question éthique : si une erreur de programmation causait un préjudice, qui en serait responsable ? Mais il y a des enjeux qui sont décidément plus terre-à-terre et nous les examinerons plus tard.
Il peut fournir une assistance dans divers langages de programmation et est peut être utilisé gratuitement par les étudiants et les enseignants et les personnes qui développent ou maintiennent des projets Open source.
GitHub Copilot est alimenté par OpenAI Codex, une version de production modifiée de GPT-3c’est-à-dire un modèle de langage étendu qui exploite le Deep Learning pour générer du texte.
Histoire et développement de GitHub Copilot
Développé par GitHub et OpenAI, il a été annoncé fin juin 2021, limité à l’éditeur de code Visual Studio Code. Quelques mois plus tard, nous sommes fin octobre de la même année et restons toujours dans le cadre des avancées techniques. preview , le plugin Copilot GitHub pour l’éditeur Neovim a été rendu accessible au public.
Suite à cela, fin mars 2022, la version Visual Studio a été annoncée et, en juin, GitHub a marqué la fin de la phase de prévisualisation technique, en lançant Copilot en tant que service pour les développeurs.
Principales caractéristiques et fonctionnalités
GitHub Copilot propose plusieurs atouts qui, à terme, exploitent le langage naturel, c’est-à-dire sur la capacité à « comprendre » le contexte dans lequel il évolue.
Parmi les principales caractéristiques et fonctions, nous pouvons inclure :
- Le complétion automatique: Fournit des suggestions pour continuer le codage
- Support : GitHub Copilot peut être utilisé avec différents langages de programmation
- amélioration : l’IA apprend d’elle-même et plus on l’utilise, plus il devient parfait
- intégration : peut être utilisé dans divers environnements de développement intégrés (IDE), notamment JetBrains, Visual Studio, Visual Studio Code et Neovim
- commentaires : commentaires, c’est-à-dire ces notes (introduites par les symboles # ou »’) que les développeurs insèrent pour expliquer ce que fait une partie du code, peut être automatiquement converti en code exécutable.
Paradoxalement, les fonctionnalités et les points forts de GitHub Copilot cachent également une partie de ses faiblesses, le fait qu’il puisse apprendre par lui-même. montre clairement qu’il est perfectible et donc pas aveuglément fiable.
Intégrer l’IA dans la productivité des développeurs de logiciels
Les avantages que l’IA apporte à la productivité sont assez courants quels que soient les domaines dans lesquels elle est utilisée.
Peser sur la balance augmente la productivité et améliore l’efficacité (et donc aussi la qualité du code). Puisque l’IA se prête à l’automatisation des flux et des processus, il va sans dire que l’automatisation peut également s’appliquer à des portions entières de code.
Cependant, l’atout le plus précieux de l’IA est mesurable à long terme : promouvoir l’innovation et permettre de résoudre des problèmes complexes en les rendant plus abordables. Et cela cela ne crée pas seulement des avantages compétitifs entre les entreprises d’un même secteurmais elle peut être décisive pour l’avancement de tout un système économique, politique et social.
Comment GitHub Copilot améliore l’efficacité et la concentration
Sachant que vous avez « quelqu’un » à vos côtés pendant que vous travaillez, « quelqu’un » sur qui s’appuyer également pour répartir les charges de travailfacilite la concentration sur ce que vous faites, parvenant à augmenter la concentration et donc aussi la vitesse d’exécution.
Les dernières données indiquent que Copilot peut évoluer concentration du développeur jusqu’à 74 %, leur efficacité jusqu’à 88%, et l’automatisation des tâches récursives approche les 100%. Données que nous rapportons par souci d’exactitude, en soulignant cependant qu’il s’agit de résultats résultant de recherches effectuées par GitHub et que, comme on dit, l’aubergiste est la personne la moins apte à juger son propre vin.
Copyright et propriété intellectuelle : le défi GitHub Copilot
Le droit d’auteur est un vaste sujet qui mélange des aspects pratiques avec des aspects plus philosophiques, voire éthiques.
L’UE s’intéresse au problème de la violation du droit d’auteur, car il s’agit d’un aspect fondamental non seulement de la protection intellectuelle au sens strict, mais aussi parce que cela peut représenter un frein au développement de l’IA elle-même.
Fin 2022, GitHub Copilot a été frappé par une tempête juridique. Selon le développeur Tim Davis, Copilot a utilisé de grandes parties de son propre code protégé par le droit d’auteur.
Plus généralement, Microsoft, OpenAI et GitHub se retrouvent au centre d’un recours collectif des dommages d’au moins 9 milliards de dollars.
GitHub a été pris au dépourvu en prétendant avoir des mesures pour empêcher la propagation du code protégé du droit d’auteur mais il faut encore beaucoup travailler pour les perfectionner.
Trouver une solution est certes possible, mais cela prendra du temps (et beaucoup de débats).
Implications juridiques du code généré par l’IA
Aucun pays n’a déjà formulé de lois pour la protection de la propriété intellectuelle dans le domaine de l’IA. Un sujet qui nécessite deux éléments inaliénables, à savoir :
- établir clairement qui détient les droits sur le résultat d’une IA
- déterminer comment ces droits peuvent être protégés.
Les implications juridiques se répercutent sur l’éthique etmême si l’Europe et le Japon s’efforcent de démêler ce gâchisla solution ne semble pas proche.
Les systèmes juridiques des différents pays prennent le relais et compliquent le tout.
Préservation du code et confidentialité de l’entreprise
GitHub Copilot n’invente pas, il s’appuie sur du code accessible en ligne et cela pose une question non négligeable. Ceux qui produisent du code avec Copilot pourraient en faire un usage propriétaire, sachant pertinemment qu’une partie de ce code est en réalité Open, monétisant ainsi un logiciel également conçu sur du code libre.
Néanmoins, nous devons encore comprendre comment GitHub Copilot se conforme au Digital Millennium Copyright Act (DMCA) qui l’oblige à ne pas supprimer les informations de droit d’auteur.
En ce qui concerne vie privée, la question peut être considérée comme encore plus complexe. GitHub Copilot rassemble des informations à partir de vos données, invites et suggestions. En fait:
- le données ce sont ceux générés par ceux qui utilisent l’IA lors du codage
- Le rapide se compose du code et des informations que Copilot envoie à GitHub pour générer des suggestions
- le suggestions c’est ce que Copilot renvoie après avoir reçu une invite.
GitHub certifie qu’il ne conserve pas les suggestions et supprime les invites après leur traitement. Cependant, les données ils sont conservés 24 mois et, si nécessaire, partagé avec Microsoft (qui a acheté GitHub en 2018).
Même si certains doutes surgissent quant à la vie privée, il faut aussi dire que Microsoft est très attentif aux réglementations nationales et supranationales qui le protège.
Vulnérabilités et sécurité dans le code suggéré
GitHub Copilot utilise l’infrastructure Azure crypté et, encore une fois grâce à l’Intelligence Artificielle, empêche le cryptage non sécurisé.
Cela ne veut pas dire – et nous revenons à l’éthique – que nous ne pouvons pas partir de l’hypothèse que le code généré est sûr. Il est au-delà de toute logique de s’y attendretout comme il dépasse toute logique de se réfugier derrière les faiblesses du code généré par GitHub Copilot pour répondre à tout dommage causé par la vulnérabilité du code lui-même.
Qui utilise GitHub Copilot doit analyser le code en profondeur mettre en œuvre les mesures qui réduisent leur vulnérabilité.
Meilleures pratiques pour tester le code généré par l’IA
En essayant de restituer une image visible, on peut dire de nous nous retrouvons devant une maison à deux étages. Le premier des deux comprend des contrôles qui recoupent ceux des logiciels entièrement développés par des humains. Un réseau dense de contrôles contenus dans plus de 140 pages de recommandations répertoriées par l’Agence pour l’Italie Numérique.
Le deuxième plan concerne purement le code produit même partiellement avec l’IA et rappelle la nécessité de :
- révision du code via un processus d’examen par les pairs
- là La signature de code devient indispensable pour garantir son intégrité, ce qui, à son tour, indique une bonne pratique expresse pour gérer la manière dont les signatures sont suivies
- la validation des données d’entrée doit prévoir d’éventuelles vulnérabilités et donc être conçue à l’aide de mécanismes de validation appropriés.
L’opérateur humain doit dans tous les cas revoir l’intégralité du code, également pour se protéger d’éventuelles conséquences juridiques et de réputation.
L’impact de Copilot sur le métier de programmeur
Selon Antonio Cisternino, professeur à l’Université de Pise, l’impact de Copilot (et du codage supportant l’IA) se fera sentir, réduisant la demande de programmeurs, notamment par rapport à ceux qui possèdent des compétences de base.
Au-delà du fait qu’il est aujourd’hui prématuré d’estimer de quelle manière ou dans quel pourcentage la demande de programmeurs pourrait diminuer, il convient de se concentrer sur le besoin de nouveaux programmes de formation, pour diffuser la culture informatique – liée à l’utilisation de l’IA en général. – et assurer une préparation adéquate aux travailleurs et aux citoyens de demain.
Collaboration Homme-Machine : remplacement ou assistance ?
Les prédictions ont en commun le sort d’être potentiellement fausses. En revanche, en ce qui concerne la collaboration homme-machine, nous parlerons à la fois de remplacement et d’assistance. La machine remplacera l’homme dans l’exécution des tâches les plus élémentaires, fatigantes ou risquées et l’épaulera dans les plus élevées.
Ainsi, même dans le domaine de la programmation, ceux qui ont des connaissances de base seront remplacés et ceux qui ont des compétences plus élevées pourront compter sur une aide infatigable, précise et (en principe du moins) peu encline à se tromper.


Développer de nouvelles compétences à l’ère de l’automatisation
C’est un vaste sujet, qui inclut les écoles (y compris les écoles primaires), mais qui devrait viser à repenser les relations entre les mondes de l’éducation et le monde du travail. Ce dernier change plus vite que ce dernier n’est enclin à le faire et même en formant les jeunes au monde du travail tel qu’il est aujourd’hui, une fois les cycles scolaires terminés, les industries et les marchés peuvent avoir des besoins différents de ceux d’aujourd’hui.
Le concept de notionnalisme tel que nous le connaissons doit tomber, les compétences doivent être moins didactiques et plus conceptuelles. Une mission ardue, car la métamorphose du développement des compétences restera toujours en retard sur les technologies, mais combler les écarts est possible.
