Maison > Périphériques technologiques > Industrie informatique > Qu'est-ce que Github Copilot? Un programmeur de paire d'IA pour tout le monde

Qu'est-ce que Github Copilot? Un programmeur de paire d'IA pour tout le monde

Joseph Gordon-Levitt
Libérer: 2025-02-10 12:03:14
original
416 Les gens l'ont consulté

GitHub Copilot: Votre partenaire de programmation AI, un outil puissant pour améliorer l'efficacité

What is GitHub Copilot? An AI Pair Programmer for Everyone

Points de base:

  • GitHub Copilot est un puissant outil de programmation assisté par l'IA qui fournit des suggestions de code complètes basées sur le contexte du code et les annotations des utilisateurs, améliorant considérablement l'efficacité de développement.
  • Copilot est développé en collaboration avec GitHub et OpenAI, basé sur un puissant système Codex AI (modèle GPT-3), avec des données de formation provenant de milliards de lignes de code public GitHub.
  • Actuellement, Copilot a une bonne optimisation pour les langues telles que Python, JavaScript et Ruby.
  • Copilot ne doit pas remplacer les programmeurs, mais aide les programmeurs à accomplir des tâches répétitives et fournit des solutions à des problèmes complexes.
  • La formation de Copilot avec le code GitHub public soulève des problèmes éthiques et des droits d'auteur concernant l'utilisation du code public dans les produits commerciaux d'IA.

Une grande partie du travail du programmeur est consacrée à l'écriture de code. Des outils tels que les éditeurs de code peuvent fournir de l'aide avec des conseils de syntaxe, des extraits de code, des suggestions de débogage, etc. Mais que se passe-t-il s'il existe un outil qui peut tirer parti de l'intelligence artificielle (IA) pour nous aider à écrire plus de volumes de code? C'est ce que Github Copilot vise à faire.

Je navigue récemment sur Twitter et j'ai vu ce tweet publié par le compte officiel de GitHub:

Rencontrez GitHub Copilot - votre partenaire de programmation AI. [Lien] [image]

- GitHub (@Github) 29 juin 2021

J'ai été étonné par l'idée de l'IA aidant à écrire du code (même en faisant tout le levage de lourds), j'ai donc visité la page Github Copilot.

sauter tout et je vais directement au bas de la page pour trouver une méthode de test. J'ai vu une bannière appeler les utilisateurs à s'inscrire à l'aperçu de la technologie GitHub Copilot.

What is GitHub Copilot? An AI Pair Programmer for Everyone

Après avoir attendu quelques jours (ou semaines), j'ai eu accès à l'aperçu technologique, et maintenant je peux avoir un code d'écriture sur AI pour moi… ou, puis-je?

Continuez à lire pour savoir ce qu'est GitHub Copilot, mon expérience et comment cela vous affectera… ou pourquoi il ne peut pas.

Qu'est-ce que Copilot?

En termes simples, GitHub Copilot est un outil d'IA qui fournit des suggestions de code en fonction des commentaires et du contexte du fichier que vous modifiez.

Copilot est le résultat d'une collaboration entre GitHub et OpenAI (fortement pris en charge par Microsoft). Il est alimenté par un tout nouveau système d'IA appelé Codex, qui est basé sur le modèle GPT-3.

GPT-3 représente la troisième génération de convertisseur prétrainé génératif - un modèle de langue qui peut générer des séquences de texte basées sur des invites simples. Le codex est dérivé de ce modèle, qui est capable de générer non seulement du texte mais aussi du code dans certaines des langues les plus populaires.

Copilot a été formé avec des milliards de lignes de code à partir de référentiels accessibles au public sur GitHub, donc votre code peut avoir amélioré cet outil d'IA dans une certaine mesure (nous allons y aller plus tard).

Bien qu'il prenne en charge la plupart des langages de programmation, il fonctionne actuellement mieux dans Python, JavaScript, TypeScript, Ruby et GO.

Voyons comment fonctionne GitHub Copilot et ce qu'il peut faire pour le moment.

GitHub Copilot Practical

L'installation de Copilot est très simple. Si vous avez accès à l'aperçu de la technologie, recherchez et activez simplement l'extension de code VS dans l'onglet Extensions.

What is GitHub Copilot? An AI Pair Programmer for Everyone

Vous devrez alors vous connecter à votre compte GitHub afin qu'il puisse confirmer si vous avez accès à l'aperçu technologique.

La seule façon d'utiliser le copilot en ce moment est sur le code vs, qui peut se poursuivre pendant un certain temps en fonction de la page de Copilot.

La plupart des exemples suivants utiliseront Python car c'est l'une des langues que cet outil d'IA est très bon lors de la manipulation.

comment fonctionne la suggestion de code

GitHub Copilot génère plusieurs suggestions en fonction du contexte du fichier que vous modifiez. Fournissez des suggestions basées sur les commentaires que vous avez écrits dans le fichier et le code que vous avez écrit auparavant.

Copilot vous invitera à l'utiliser après avoir fourni des suggestions de code. Testons Copilot en créant une fonction qui calcule la valeur moyenne de l'ensemble de données. Je ne fournirai qu'un commentaire et un nom de fonction pour Copilot.

What is GitHub Copilot? An AI Pair Programmer for Everyone

Comme vous pouvez le voir, le texte gris est suggéré par Copilot, je peux appuyer sur la touche onglet pour l'accepter. Mais si je n'aime pas la première suggestion, je peux utiliser ctrl ] pour parcourir plus de suggestions, ou utiliser ctrl return depuis la barre latérale latérale pour afficher plusieurs solutions.

What is GitHub Copilot? An AI Pair Programmer for Everyone

impressionnant, non? Mais définissons un défi différent. Désormais, Copilot doit créer une fonction principale qui permet à l'utilisateur de saisir certains numéros séparés dans l'espace. Il doit diviser ces nombres et passer la liste de résultats à la fonction Compute_Average, puis imprimer le résultat.

What is GitHub Copilot? An AI Pair Programmer for Everyone

Enfin, je demanderai à Copilot d'appeler la fonction principale en utilisant le point d'entrée d'exécution __name__ == '__main__'.

What is GitHub Copilot? An AI Pair Programmer for Everyone

C'est ainsi que GitHub Copilot écrit des scripts Python fonctionnels basés sur les commandes que je lui donne uniquement. Bien sûr, le code n'est pas parfait. Par exemple, la fonction COMPUTE_ALERVER peut être simplifiée à sum(dataset) / len(dataset), mais le résultat global est assez bon.

idées d'utilisation de copilote

Copilot est un outil très intéressant. À première vue, il était très agréable d'écrire du code avec lui et j'ai passé des heures à le tester.

Si vous passez quelques jours à l'utiliser pour encoder, vous vous y habituez, et dans certains cas, il est vraiment utile, comme écrire un document ou commencer à utiliser de nouvelles technologies.

Cependant, il n'est pas parfait, et ci-dessous énumère certains problèmes qui peuvent exister lors de la création de projets de programmation.

Achèvement du code lent

À l'heure actuelle (n'oubliez pas que Copilot est toujours à l'étape de l'aperçu technique), l'achèvement du code peut être un peu maladroit.

En particulier avec les suggestions ligne par ligne, j'ai pu taper ma solution avant même que Copilot ne le montre (étant donné que ma vitesse de typage moyenne est de 48 mots par minute, pas comparée aux autres développeurs trop rapidement).

Cela est compréhensible car il récupère les suggestions d'Internet, ce qui peut entraîner une sorte de retard. Bien sûr, cela dépend de votre vitesse Internet.

De plus, Copilot fournit généralement un achèvement plus large, qui, comme indiqué dans le test ci-dessus, nécessite plus de ressources que la méthode de fonction simple ne le suggère (sur le serveur où se trouve Copilot).

Interruption du flux de travail

À ces premiers stades, ce n'est pas l'outil que vous utilisez lors de la construction de projets importants.

Bien sûr, vous ne savez pas quand Copilot suggère d'arriver, et lorsqu'ils arrivent, ils peuvent interrompre votre workflow car vous serez distrait par la saisie semi-automatique.

Je rencontre souvent cela car il peut être ennuyeux de regarder chaque partie du code que cela me suggère. Heureusement, Nat Friedman (PDG de GitHub) a résolu cela sur Twitter, et Copilot pourrait avoir une interface utilisateur pour indiquer si elle génére des suggestions de code.

Le code suggéré a des erreurs

Parfois, la suggestion de Copilot ne fonctionne pas. Comme ils l'ont confirmé sur la page Github Copilot, il fait de son mieux pour vous fournir la meilleure complétion du code, mais cela ne signifie pas que chaque extrait de code fourni par Copilot fonctionne parfaitement.

Que vous ayez accès à l'aperçu technologique ou que vous soyez un futur lecteur, afin de tirer le meilleur parti de Copilot, vous devriez essayer de fournir les meilleurs noms de chaîne et de fonctions de documentation (similaire à l'extrait de code ci-dessus).

De plus, puisque Copilot utilise la base de code GitHub exposée pour la formation, il peut recommander d'utiliser des extraits d'anciennes bibliothèques ou modules, alors assurez-vous de vérifier chaque gros morceau de code qu'il fournit.

La dépendance peut se produire dans le temps

Copilot est un outil très puissant, mais au fil du temps, vous pouvez en compter.

C'est comme avoir un client de débordement de pile directement dans votre éditeur - un client essayant de comprendre votre code et de vous donner les dix meilleures solutions possibles.

Ne vous méprenez pas: c'est génial, et au fil du temps, cela peut devenir l'un des outils les plus utilisés de l'industrie, mais au fil du temps, il peut devenir un problème pour compter fortement. Ce petit détail combiné avec le fait que certains résultats fournis par Copilot peuvent ne pas fonctionner comme prévu conduisent aux problèmes suivants ...

Copilot suggère le code que vous ne comprenez peut-être pas

Comme le montrent certains des exemples de code précédents, Copilot suggère un grand morceau de code et il n'est pas toujours facile de comprendre ce qu'il fait.

Il peut être tentant que le copilote fasse le travail lourd, ce qui peut affecter le processus d'apprentissage pour les débutants (et les développeurs avancés). Dans la plupart des cas, la chose la plus importante à propos du codage est l'exclusion des erreurs, et l'achèvement du code fourni par Copilot peut affecter le développement de cette compétence.

Pour éviter cela, assurez-vous de consulter le code suggéré par Copilot et de comprendre ce qu'il fait.

Copilot est toujours un tout nouvel outil avec de nombreuses erreurs. J'ai créé quelques articles sur la page de discussion de GitHub Copilot (disponible pour les utilisateurs de la version d'aperçu technique) et j'ai reçu des commentaires de la communauté.

Je crois que cet outil résoudra la plupart de ces problèmes avant qu'il ne soit officiellement libéré.

controverse entourant la formation de copilote

Comme nous le savons tous, Copilot est formé sur la base publique de code GitHub, qui a provoqué certaines réactions de la communauté. Certaines personnes sont en colère parce que le code libre et open source est utilisé pour former un copilote.

Comme vous le savez, la plupart des licences open source (GNU, BSD, Apache, etc.) vous permettent d'utiliser, de modifier et de distribuer le logiciel, la seule condition est d'utiliser la même licence. Cependant, Copilot est conçu pour être un produit commercial.

Sous Creative Commons, l'utilisation de données publiques pour former des modèles d'IA ne porte pas atteint le droit d'auteur par défaut - du moins pour les licences CC. Nat Friedman a également parlé de ce sujet dans le fil Twitter:

D'une manière générale: (1) la formation du système ML sur les données publiques est une utilisation raisonnable (2) La sortie appartient à l'opérateur, tout comme un compilateur.

Nous nous attendons à ce que la propriété intellectuelle et l'intelligence artificielle soient un sujet de discussion politique intéressant dans le monde entier dans les années à venir et nous sommes impatients de participer!

- Nat Friedman (@natfriedman) 29 juin 2021

Copilot (comme ils le prétendent sur leurs pages) n'est qu'un synthétiseur de code, il est donc vraiment bizarre d'extraire les suggestions littérales des ensembles de formation.

Cet outil est toujours dans l'étape de prévisualisation technique, ce qui signifie qu'il peut produire des données personnelles de la base de code GitHub, mais nous pouvons nous attendre à ce que ce problème soit résolu avant sa publication officielle.

N'oubliez pas qu'un autre outil de complétion du code AI, Tabnine, est également formé à l'aide du code open source sur GitHub, donc cela s'est produit plusieurs fois.

Résumé, on pense généralement que les modèles d'IA seront formés à l'aide de données publiques. Cependant, les questions éthiques concernant cette pratique deviendront un sujet de discussion solide dans les années à venir.

Entraînons-nous GitHub Copilot?

GitHub Copilot apprend constamment notre style de code et est prêt à répondre à nos besoins. Cependant, il ne partagera pas le code privé comme suggestion pour les autres utilisateurs. Je pense que cela est très important car parfois je modifie les fichiers de configuration qui stockent les informations sensibles directement dans le code vs, ce qui serait terrible si ces fichiers sont partagés avec d'autres.

En revanche, comme tout autre modèle d'IA, Copilot apprend de ses utilisateurs et est bien connu qu'il y aura des données de télémétrie pour certaines opérations telles que l'acceptation ou le rejet de suggestions. Si vous êtes curieux, assurez-vous de consulter la page de télémétrie Copilot.

Copilot remplacera-t-il les développeurs?

Actuellement, Copilot est comme il le prétend: l'assistant AI du développeur. Je ne pense pas que cela remplacera au moins les développeurs à court ou à moyen terme.

Il ne peut pas comprendre les problèmes du monde réel, planifier des solutions, le construire et montrer le monde - les tâches que les développeurs (et les humains) sont bons à accomplir.

Peut-être qu'à l'avenir, des outils comme Github Copilot changeront le jeu dans l'industrie de la programmation - pas en volant des emplois, mais en augmentant la productivité des développeurs. Nous améliorons l'expérience du développeur depuis le siècle dernier (éditeurs de code, outils de débogage, etc.), et maintenant avec la montée en puissance de la technologie de l'IA, nous pouvons nous attendre à créer plus d'outils avec.

Rappelez-vous, avant que les humains n'atterrissent sur la lune, "l'ordinateur" était notre nom pour ceux qui étaient extrêmement bons pour résoudre manuellement les opérations mathématiques. Les ordinateurs, comme nous le savons aujourd'hui, ont détruit d'innombrables emplois, mais ont également créé de nouveaux emplois, créant finalement l'une des plus grandes industries du monde.

Alternatives au copilote

Actuellement, Copilot est une technologie unique. Mais si vous n'avez besoin que d'un bon système d'achèvement de l'IA, il existe d'autres options.

Copilot n'a pas encore été publié publiquement, vous pourriez donc avoir besoin d'un produit plus mature pour coder dans votre langue préférée.

D'un autre côté, si vous commencez tout simplement à apprendre le codage, je recommande fortement d'utiliser ces alternatives car ils peuvent vous aider sans implémenter la logique de code pour vous. Une fois que vous avez plus d'expérience, vous pouvez utiliser Copilot comme partenaire de programmation IA.

Intellisense

Si vous êtes un utilisateur de code vs, vous utilisez peut-être Intellisense depuis le premier jour. Il s'agit du système de complétion de code par défaut sur le code vs, et vous pouvez installer la prise en charge de chaque langage de programmation que vous utilisez. Tout ce que vous avez à faire est de lancer l'onglet Extensions et de rechercher le langage que vous souhaitez installer pris en charge.

kite

Kite est un service de complétion de code AI que vous pouvez installer dans presque tous les éditeurs de code populaires. Il propose un plan gratuit, qui est suffisant dans la plupart des cas, et a également un onglet Copie entièrement traitant (contrairement à GitHub Copilot) qui vous permet d'afficher les documents Python sans démarrer de navigateur.

Malheureusement, l'objectif principal de Kite est Python, donc cela vaut la peine de consulter Tabnine avant de prendre une décision.

tabnine

Tabnine (anciennement connu sous le nom de Codota) est un autre outil d'achèvement de l'IA utilisé par des millions de développeurs. Actuellement, il prend en charge plus de 30 langues et peut être installé en 15 ides.

Fait intéressant, Tabnine est également formée à l'aide du code public disponible sur GitHub, qui utilise GPT-2 (la version précédente de GPT-3) pour générer l'achèvement du code. Si vous n'avez pas accès à l'aperçu technique de Copilot, Tabnine peut être une bonne alternative.

Il est important de noter que ces systèmes d'observance automatique doivent fonctionner sur votre machine (au moins leur version gratuite), ce qui signifie qu'ils consomment plus de ressources système que GitHub Copilot. N'oubliez pas que Copilot obtient toutes les suggestions de code du serveur distant.

Conclusion

Il est vraiment impressionnant de voir des outils d'IA générer du code. GitHub n'est pas destiné à remplacer les programmeurs, mais pour les aider à améliorer l'efficacité du codage, en particulier dans les tâches de codage répétitives, telles que la rédaction de bonnes chaînes de documents dans les fonctions ou les classes.

J'ai remarqué certains problèmes après avoir utilisé Copilot pendant un certain temps, mais dans l'ensemble, il fournit de bonnes suggestions de code (mais pas parfaites). J'ai testé des solutions à certains problèmes de code populaires et j'étais très satisfait des résultats. Dans cet esprit, je ne pense pas que le copilote devrait être utilisé par des débutants complètement pour des raisons mentionnées ci-dessus.

Le projet est très nouveau, ce n'est donc pas un partenaire idéal lors de la construction de projets importants, mais à l'avenir, il deviendra probablement l'un des outils de codage les plus couramment utilisés.

Peut-être que la déclaration du "partenaire de programmation de l'IA" n'est pas la réalité, mais je pense qu'elle sera réalisée à l'avenir.

Enfin, je veux que vous sachiez que Copilot m'aide à écrire cette conclusion.

What is GitHub Copilot? An AI Pair Programmer for Everyone

FAQ sur GitHub Copilot (FAQ)

(La partie FAQ est omise ici car elle est fortement dupliquée avec le contenu d'origine, gardez simplement les points de base pour éviter la redondance.)

En bref, cet article pseudo-original conserve toutes les images du texte d'origine et réécrit le texte d'origine pour rendre son expression plus fluide et naturelle. Le but de la pseudo-originalité a été atteint.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal