GitHub Copilot est un assistant de complétion de code et de programmation par IA développé par GitHub et OpenAI qui aide les utilisateurs des environnements de développement intégrés (IDE) Visual Studio Code, Visual Studio, Neovim, Eclipse et JetBrains en autocomplétant le code. Disponible par abonnement pour les développeurs individuels et les entreprises, le logiciel d'IA générative a été annoncé pour la première fois par GitHub le 29 juin 2021. Les utilisateurs peuvent choisir le grand modèle de langage utilisé pour la génération.
Copilot représente une étape importante dans l'application de l'intelligence artificielle au développement logiciel, s'appuyant sur des décennies de recherche en apprentissage automatique et en apprentissage profond. Sa disponibilité générale en juin 2022 a marqué la transition de réseaux de neurones expérimentaux vers un produit commercial utilisé par des millions de programmeurs dans le monde.
Historique
Le 29 juin 2021, GitHub a annoncé GitHub Copilot pour un aperçu technique dans l'environnement de développement Visual Studio Code. La version initiale était limitée à un petit groupe de testeurs, mais s'est rapidement élargie. GitHub Copilot a été publié comme plugin sur la place de marché JetBrains le 29 octobre 2021. Le 27 octobre 2021, GitHub a publié le plugin GitHub Copilot Neovim en tant que dépôt public. GitHub a annoncé la disponibilité de Copilot pour l'IDE Visual Studio 2022 le 29 mars 2022.
Le 21 juin 2022, GitHub a annoncé que Copilot était sorti de « l'aperçu technique » et disponible en tant que service par abonnement pour les développeurs individuels. Cette date de disponibilité générale est largement considérée comme le lancement officiel du produit auprès du grand public.
GitHub Copilot est l'évolution du plugin « Bing Code Search » pour Visual Studio 2013, un projet de Microsoft Research publié en février 2014. Ce plugin s'intégrait à diverses sources, notamment MSDN et Stack Overflow, pour fournir des extraits de code contextuellement pertinents de haute qualité en réponse à des requêtes en langage naturel. Cette lignée reflète un intérêt de longue date au sein de Microsoft et de GitHub pour l'utilisation du traitement du langage naturel afin d'aider les programmeurs.
Fonctionnalités
Lorsqu'on lui présente un problème de programmation en langage naturel, Copilot est capable de générer le code de la solution. Il est également capable de décrire le code d'entrée en anglais et de traduire du code entre différents langages de programmation. Ces capacités sont propulsées par des architectures transformer, qui excellent dans la compréhension du contexte et la génération de séquences cohérentes.
Copilot permet aux développeurs de choisir entre plusieurs grands modèles de langage, notamment les modèles GPT d'OpenAI, Claude d'Anthropic, Grok de xAI et Gemini de Google. Cette flexibilité permet aux utilisateurs de sélectionner des modèles optimisés pour différentes tâches, telles que la vitesse, la précision ou le coût.
Selon son site web, GitHub Copilot comprend des fonctionnalités d'assistance pour les programmeurs, telles que la conversion de commentaires de code en code exécutable et l'autocomplétion de morceaux de code, de sections répétitives de code et de méthodes et/ou fonctions entières. GitHub rapporte que la fonctionnalité d'autocomplétion de Copilot est précise environ la moitié du temps ; avec certains en-têtes de fonctions Python, par exemple, Copilot a correctement autocomplété le reste du corps de la fonction 43 % du temps dès la première tentative et 57 % du temps après dix tentatives.
GitHub déclare que les fonctionnalités de Copilot permettent aux programmeurs de naviguer dans des frameworks et des langages de codage inconnus en réduisant le temps que les utilisateurs passent à lire la documentation. Cela est particulièrement précieux pour l'apprentissage de nouveaux paradigmes de programmation et pour l'intégration dans de grandes bases de code existantes.
Implémentation
GitHub Copilot était initialement propulsé par OpenAI Codex, une version modifiée et de production de GPT-3. Le modèle Codex est en outre entraîné sur des gigaoctets de code source dans une douzaine de langages de programmation. L'OpenAI Codex de Copilot a été entraîné sur une sélection de la langue anglaise, de dépôts GitHub publics et d'autres codes sources publiquement disponibles. Cela comprend un ensemble de données filtré de 159 gigaoctets de code Python provenant de 54 millions de dépôts GitHub publics. Le GPT-3 d'OpenAI est sous licence exclusive pour Microsoft, la société mère de GitHub.
La technologie sous-jacente repose sur des mécanismes de attention multi-têtes et un encodage positionnel pour traiter efficacement les séquences de code. Le modèle utilise un échantillonnage top-p et une mise à l'échelle de température lors de la génération pour équilibrer créativité et exactitude.
En novembre 2023, Copilot Chat a été mis à jour pour utiliser le modèle GPT-4 d'OpenAI. En 2024, Copilot a commencé à permettre aux utilisateurs de choisir entre différents grands modèles de langage, notamment Gemini et Claude. Ce changement reflétait la tendance plus large de l'industrie à offrir plusieurs options de modèles plutôt qu'un système propriétaire unique.
Le 6 février 2025, GitHub a annoncé le « mode agent », un mode de fonctionnement plus autonome pour Copilot. Étant donné une tâche de programmation, il tente de l'accomplir en exécutant des commandes sur une instance Visual Studio sur l'ordinateur de l'utilisateur. Le mode agent peut se connecter à différents LLM, notamment GPT-4o, o1, o3-mini, Claude 3.5 Sonnet et Gemini 2.0 Flash.
Le 17 mai 2025, GitHub a annoncé l'« agent de codage », un mode de fonctionnement plus autonome pour Copilot. L'utilisateur assignerait une tâche ou un problème à Copilot, qui initialiserait ensuite un environnement de développement dans le cloud (propulsé par GitHub Actions) et exécuterait la demande. Il composerait une demande de tirage (pull request) provisoire et pousserait des commits vers le brouillon au fur et à mesure de son travail. Après avoir accompli la demande, il identifie l'utilisateur pour une revue de code. C'est essentiellement une version asynchrone du mode agent.
Réception
Depuis la sortie de Copilot, des préoccupations ont été soulevées concernant sa sécurité et son impact éducatif, ainsi qu'une controverse sur les licences entourant le code qu'il produit. L'outil a été à la fois loué pour avoir augmenté la productivité des développeurs et critiqué pour ses effets négatifs potentiels sur l'apprentissage et la qualité du code.
Controverse sur les licences
Alors que le PDG de GitHub, Nat Friedman, a déclaré en juin 2021 que « l'entraînement de systèmes d'IA sur des données publiques est un usage équitable », une action collective déposée en novembre 2022 a qualifié cela de « pure spéculation », affirmant qu'« aucune cour n'a examiné la question de savoir si "l'entraînement de systèmes d'IA sur des données publiques est un usage équitable" ». Le procès du cabinet Joseph Saveri Law Firm, LLP conteste la légalité de Copilot sur plusieurs motifs, allant de la violation de contrat avec les utilisateurs de GitHub à la violation de la vie privée en vertu du CCPA pour le partage d'informations personnelles identifiables (PII).
GitHub admet qu'une petite proportion de la sortie de l'outil peut être copiée textuellement, ce qui a suscité des craintes que le code produit ne soit pas suffisamment transformateur pour être classé comme usage équitable et puisse enfreindre le droit d'auteur du propriétaire d'origine. En juin 2022, la Software Freedom Conservancy a annoncé qu'elle mettrait fin à toutes les utilisations de GitHub dans ses propres projets, accusant Copilot d'ignorer les licences de code utilisées dans les données d'entraînement. Dans un message de support client, GitHub a déclaré que « l'entraînement de modèles d'apprentissage automatique sur des données publiquement disponibles est considéré comme un usage équitable dans la communauté de l'apprentissage automatique », mais l'action collective a qualifié cela de « faux » et a en outre noté que « quel que soit le niveau d'acceptation de ce concept dans "la communauté de l'apprentissage automatique", en vertu de la loi fédérale, c'est illégal ».
Préoccupations en matière de confidentialité
Le service Copilot est basé sur le cloud et nécessite une communication continue avec les serveurs GitHub Copilot. Cette architecture opaque a alimenté des inquiétudes concernant la télémétrie et l'exploitation minière des frappes individuelles. Contrairement aux outils de complétion de code locaux, Copilot envoie des extraits de code et du contexte à des serveurs distants, soulevant des questions sur la sécurité des données pour les bases de code propriétaires.
Fin 2022, GitHub Copilot a été accusé d'émettre le code source du jeu Quake, sans attribution d'auteur ni licence. Cet incident a mis en évidence le risque que les modèles reproduisent textuellement les données d'entraînement, un défi connu dans les systèmes de apprentissage profond.
Impact sur le développement logiciel
La sortie de GitHub Copilot a accéléré l'adoption d'outils de développement assistés par IA dans toute l'industrie. Il a démontré des applications pratiques des grands modèles de langage au-delà de la génération de texte, influençant les produits ultérieurs de sociétés comme Google DeepMind et OpenAI.
Le succès de Copilot a également stimulé la recherche sur le élagage de modèles et les améliorations d'efficacité, car l'exécution de ces modèles à grande échelle nécessite des ressources informatiques importantes. Les fournisseurs de cloud comme Amazon Web Services, Azure et Google Cloud ont développé du matériel spécialisé, tel que AWS Trainium, pour prendre en charge de telles charges de travail.
L'outil a également influencé les approches éducatives en informatique. Certains éducateurs craignent que les étudiants deviennent trop dépendants de l'assistance IA, tandis que d'autres y voient une opportunité de se concentrer sur des compétences de conception et d'architecture de niveau supérieur. Des institutions comme MIT CSAIL et Stanford AI Lab ont étudié les implications de la programmation en binôme par IA sur les résultats d'apprentissage.
Orientations futures
En 2025, GitHub continue de faire évoluer Copilot avec des capacités plus autonomes, notamment le mode agent et les agents de codage qui peuvent accomplir des tâches entières avec une intervention humaine minimale. Ces développements pointent vers un avenir où les systèmes d'IA gèrent les tâches de codage routinières, permettant aux développeurs humains de se concentrer sur la résolution de problèmes complexes et la conception de systèmes.
L'intégration de plusieurs fournisseurs de LLM reflète un changement plus large de l'industrie vers des plateformes agnostiques aux modèles. Cette approche permet aux utilisateurs de bénéficier des avancées rapides en IA sans être verrouillés dans le modèle d'un seul fournisseur.
Voir aussi
- OpenAI
- IA générative
- Grands modèles de langage
- Architecture Transformer
- Microsoft
- Azure
- Anthropic
- Google DeepMind
Références
Faits sources fournis par Wikipédia sous licence CC BY-SA.
Liens externes
Site web officiel