À propos de GitHub Copilot Chat in GitHub
GitHub Copilot Chat in GitHub est une interface de conversation qui vous permet d’interagir avec GitHub Copilot pour poser des questions relatives au codage et recevoir leurs réponses dans GitHub.
L’interface de conversation permet d’accéder aux informations sur le codage et au support sans avoir à parcourir la documentation ni à rechercher dans des forums en ligne.
Remarque
Copilot Chat est également disponible dans Visual Studio Code, Visual Studio et la suite d’IDE JetBrains. Toutefois, les fonctionnalités disponibles dans ces IDE diffèrent de celles disponibles sur GitHub.
GitHub Copilot Chat peut répondre à un large éventail de questions liées au codage, notamment sur la syntaxe, les concepts de programmation, les cas de test, le débogage, etc. GitHub Copilot Chat n’est pas conçu pour répondre à des questions qui ne concernent pas le codage ni pour fournir des informations générales sur des sujets qui ne relèvent pas du codage.
La langue principale prise en charge pour Copilot Chat in GitHub est l’anglais.
GitHub Copilot Chat fonctionne en combinant le traitement du langage naturel et l’apprentissage automatique pour comprendre votre question et vous fournir une réponse. Ce processus peut être divisé en plusieurs étapes.
Traitement de l’entrée
Le prompt d’entrée de l’utilisateur est pré-traité par le système Copilot Chat, combiné avec des informations contextuelles (par exemple, la date et l’heure actuelles et le nom du référentiel que l’utilisateur est en train de consulter), puis envoyé à un grand modèle de langage. L’entrée utilisateur peut prendre la forme d’extraits de code ou être exprimée en langage normal.
Le grand modèle de langage prend l’invite, collecte un contexte supplémentaire (par exemple, les données de référentiel stockées sur GitHub ou les résultats de recherche de Bing) et fournit une réponse basée sur l’invite. Le système est destiné seulement à répondre à questions relatives au codage.
Analyse du modèle de langage
Le prompt pré-traité est ensuite transmis au modèle de langage Copilot Chat, qui est un réseau neuronal qui a été entraîné sur un grand corpus de données textuelles. Le modèle de langage analyse la demande entrée.
Génération de la réponse
Le modèle de langage génère une réponse en fonction de son analyse de la demande entrée et du contexte fourni. Le modèle de langage peut collecter un contexte supplémentaire (par exemple, les données de référentiel stockées sur GitHub ou les résultats de recherche de Bing) et fournit une réponse basée sur l’invite. Cette réponse peut se présenter sous forme de code généré, de code suggéré ou d’explications du code existant.
Mise en forme de la sortie
La réponse générée par Copilot Chat est formatée et présentée à l’utilisateur. Copilot Chat peut utiliser la coloration syntaxique, l’indentation et d’autres fonctionnalités de mise en forme pour clarifier la réponse générée. Selon le type de question posée par l’utilisateur, des liens vers le contexte utilisé par le modèle pour générer une réponse, notamment des fichiers de code source, des problèmes, des résultats de recherche Bing ou de la documentation, peuvent également être fournis.
Copilot Chat a pour objectif de vous fournir la réponse la plus pertinente à votre question. Cependant, il peut ne pas toujours fournir la réponse que vous recherchez. Les utilisateurs de Copilot Chat sont tenus de vérifier et de valider les réponses générées par le système afin de s’assurer qu’elles sont exactes et appropriées. De plus, dans le cadre de notre processus de développement de produits, nous réalisons des exercices de red teaming (simulations d’attaques) afin de comprendre et d’améliorer la sécurité de Copilot Chat. Les invites d’entrée et les complétions de sortie sont exécutées via des filtres de contenu. Le système de filtrage de contenu détecte et empêche la sortie sur des catégories spécifiques de contenu, notamment du contenu dangereux, offensant ou hors sujet. Pour plus d’informations sur l’amélioration des performances de Copilot Chat, consultez Améliorer les performances de Copilot Chat.
Cas d’utilisation pour Copilot Chat
Copilot Chat peut fournir une aide au codage dans divers scénarios.
Répondre à des questions sur le codage
Vous pouvez demander de l’aide ou des éclaircissements à Copilot Chat concernant des problèmes de codage spécifiques et recevoir des réponses sous forme de langage naturel ou d’extraits de code.
La réponse générée par Copilot Chat peut utiliser le jeu de données d’apprentissage du modèle, les résultats de recherche de Bing, le code dans vos référentiels et la documentation Markdown dans vos bases de connaissances pour répondre à vos questions.
Ce peut être un outil pratique pour les programmeurs, car il peut fournir des conseils et du support pour des tâches et des problématiques de codage courantes.
Explication du code et suggestions d’améliorations
Copilot Chat peut aider à expliquer le code sélectionné en générant des descriptions en langage naturel de la fonctionnalité et de l’objectif du code. Ceci peut être utile si vous souhaitez comprendre le comportement du code ou pour des parties prenantes non techniques qui doivent comprendre le fonctionnement du code. Par exemple, si vous sélectionnez une fonction ou un bloc de code dans l’éditeur de code, Copilot Chat peut générer une description en langage naturel de ce que fait le code et de la manière dont il s’intègre dans le système global. Ceci peut inclure des informations comme les paramètres d’entrée et de sortie de la fonction, ses dépendances et son objectif dans l’application au sens plus large.
Copilot Chat peut également suggérer des améliorations potentielles au code sélectionné, telles que l’amélioration de la gestion des erreurs et des cas limites, ou des modifications du flux logique afin de rendre le code plus lisible.
En générant des explications et en suggérant des documents connexes, Copilot Chat peut vous aider à comprendre le code sélectionné, ce qui améliore la collaboration et rend le développement logiciel plus efficace. Cependant, il est important de noter que les explications et la documentation générées peuvent ne pas toujours être exactes ou complètes. Vous devrez donc vérifier et, parfois, corriger les résultats fournis par Copilot Chat.
Proposition de correctifs de code
Copilot Chat peut proposer un correctif pour les bogues dans votre code en suggérant des extraits de code et des solutions basées sur le contexte de l’erreur ou du problème. Ceci peut être utile si vous avez du mal à identifier la cause racine d’un bogue ou si vous avez besoin d’aide sur la meilleure façon de le corriger. Par exemple, si votre code génère un message d’erreur ou un avertissement, Copilot Chat peut suggérer des correctifs possibles en fonction du message d’erreur, de la syntaxe du code et du code environnant.
Copilot Chat peut suggérer des modifications à apporter aux variables, aux structures de contrôle ou aux appels de fonction susceptibles de résoudre le problème, et générer des extraits de code pouvant être intégrés au codebase. Cependant, il est important de noter que les correctifs suggérés peuvent ne pas toujours être optimaux ou complets : vous devez donc passer en revue et tester les suggestions.
Planification des tâches de codage
Copilot Chat peut lire un problème GitHub et le résumer, répondre à des questions à ce sujet ou proposer les étapes suivantes. Cette possibilité peut s’avérer utile si vous avez un problème long et complexe comportant de nombreux commentaires et que vous souhaitez le comprendre rapidement ou savoir ce qu’il convient de faire.
Cependant, il est important de noter que les réponses et les résumés de Copilot Chat ne sont pas toujours exacts ou complets, vous devrez donc vérifier l’exactitude des résultats de Copilot Chat.
En savoir plus sur les versions, les discussions, et les validations
Copilot Chat peut vous aider à découvrir ce qui a changé dans une version spécifique, résumer les informations dans une discussion et expliquer les changements dans un commit spécifique. Cette fonctionnalité peut s’avérer utile si, par exemple, vous êtes nouveau dans un projet et voulez comprendre rapidement l'essentiel d'une discussion, ou si vous devez travailler sur du code écrit par quelqu’un d’autre. Cependant, il est important de noter que les résumés des versions, des discussions et des commits fournis par Copilot Chat ne sont pas toujours exacts ou complets.
Amélioration des performances pour Copilot Chat
Copilot Chat peut prendre en charge un large éventail d’applications pratiques telles que les questions-réponses, la génération de code, l’analyse de code et les correctifs de code, chacune avec des indicateurs de performance et des stratégies d’atténuation différents. Pour améliorer les performances et pallier certaines des limitations de Copilot Chat, vous pouvez adopter différentes mesures. Pour plus d’informations sur les limitations de Copilot Chat, consultez Limitations de GitHub Copilot Chat.
Limitez vos demandes au sujet concerné
Copilot Chat est destiné à répondre exclusivement aux questions liées au codage. Par conséquent, limiter la demande à des questions ou des tâches de codage peut améliorer la qualité de la sortie du modèle.
Utilisez Copilot Chat comme un outil, et non comme un substitut
Bien que Copilot Chat puisse être un outil puissant pour générer du code, il est important de l’utiliser comme un outil plutôt que comme un substitut à la programmation humaine. Vous devez toujours vérifier et tester le code généré par Copilot Chat afin de vous assurer qu’il répond à vos exigences et qu’il ne contient aucune erreur ni aucun problème de sécurité.
Utiliser des pratiques de codage sécurisé et de révision du code
Bien que Copilot Chat puisse générer un code syntaxiquement correct, il n’est pas toujours sécurisé. Vous devez toujours respecter les meilleures pratiques en matière de codage sécurisé, telles que l’évitement des mots de passe codés en dur ou des vulnérabilités d’injection SQL, ainsi que suivre les meilleures pratiques en matière de revue, afin de pallier les limitations de Copilot Chat.
Fournir des commentaires
Remarque
La possibilité de fournir des commentaires à GitHub concernant Copilot pull request summaries dépend des paramètres de l'entreprise. Pour plus d’informations, consultez « Gestion des stratégies et des caractéristiques de Copilot dans votre entreprise ».
Si vous rencontrez des problèmes ou des limitations avec Copilot Chat in GitHub, nous vous recommandons de fournir des commentaires en cliquant sur l’icône de pouce vers le bas sous chaque réponse de conversation. Cela peut aider les développeurs à améliorer l’outil, et à résoudre les problèmes ou les limitations.
Rester informé
Copilot Chat est une nouvelle technologie qui est susceptible d’évoluer au fil du temps. Pour GitHub Copilot Chat in GitHub, vous aurez toujours accès à la dernière expérience produit. Il est recommandé de se tenir informé des nouveaux risques ou des bonnes pratiques en matière de sécurité qui peuvent apparaître.
Limitations de GitHub Copilot Chat
En fonction de facteurs tels que votre codebase et vos données d’entrée, vous pouvez constater différents niveaux de performances lors de l’utilisation de Copilot Chat. Les informations suivantes ont pour but de vous aider à comprendre les limitations du système et les concepts clés liés aux performances qui s’appliquent à Copilot Chat.
Étendue limitée
Copilot Chat a été entraîné sur un vaste corpus de code, mais son champ d’application reste limité et il peut ne pas être en mesure de traiter des structures de code plus complexes ou des langages de programmation obscurs. Pour chaque langage, la qualité des suggestions que vous recevez peut dépendre du volume et de la diversité des données d’entraînement pour ce langage. Par exemple, JavaScript est bien représenté dans les dépôts publics et est l’un des langages les mieux pris en charge par GitHub Copilot. Les langues moins représentées dans les référentiels publics peuvent être plus difficiles à prendre en charge par Copilot Chat. De plus, Copilot Chat ne peut suggérer du code qu’en fonction du contexte du code en cours d’écriture. Il se peut donc qu’il ne soit pas en mesure d’identifier des problèmes de conception ou d’architecture plus importants.
Biais potentiels
Les données d’entraînement de Copilot (extraites de référentiels de code existants) et le contexte rassemblés par le grand modèle de langage (par exemple les résultats de recherche Bing) peuvent contenir des biais et des erreurs qui peuvent être perpétués par l’outil. De plus, Copilot Chat peut être biaisé en faveur de certains langages de programmation ou styles de codage, ce qui peut entraîner des suggestions de code sous-optimales ou incomplètes.
Risques liés à la sécurité
Copilot Chat génère du code en fonction du contexte du code en cours d’écriture, ce qui peut potentiellement exposer des informations sensibles ou des vulnérabilités s’il n’est pas utilisé avec précaution. Vous devez être prudent lorsque vous utilisez Copilot Chat pour générer du code destiné à des applications sensibles en matière de sécurité, et toujours vérifier et tester minutieusement le code généré.
Correspondances avec du code public
Copilot Chat est capable de générer du nouveau code, ce qu’il fait de manière probabiliste. Bien que la probabilité qu’il produise un code correspondant à celui du jeu d’apprentissage soit faible, une suggestion Copilot Chat peut contenir des extraits de code correspondant au code du jeu d’apprentissage.
Si vous avez désactivé les suggestions correspondant au code public, Copilot Chat utilise des filtres qui l’empêchent d’afficher le code correspondant au code trouvé dans les référentiels publics sur GitHub. Toutefois, vous devez toujours prendre les mêmes précautions que vous le feriez avec n’importe quel code que vous écrivez qui utilise du matériel que vous n’avez pas écrit à l’origine, y compris les précautions pour garantir sa pertinence. Ceci inclut des tests rigoureux, l’analyse des adresses IP et la recherche des vulnérabilités de sécurité.
Si vous avez activé les suggestions qui correspondent au code public, Copilot Chat affiche un message lorsqu’un code correspondant est trouvé. Le message inclut des liens vers des référentiels sur GitHub qui contiennent du code correspondant et tous les détails de licence trouvés. Pour plus d’informations, consultez « Recherche de code public qui correspond aux suggestions de GitHub Copilot ».
Code erroné
L’une des limitations de Copilot Chat réside dans le fait qu’il peut générer du code qui semble valide, mais qui peut ne pas être correct d’un point de vue sémantique ou syntaxique, ou qui peut ne pas refléter fidèlement l’intention du développeur. Pour atténuer le risque d’avoir du code erroné, vous devez réviser et tester soigneusement le code généré, en particulier quand vous travaillez sur des applications critiques ou sensibles. Vous devez aussi vérifier que le code généré respecte les bonnes pratiques et les modèles de conception, et qu’il s’intègre dans l’architecture globale et le style du codebase.
Réponses erronées sur des sujets autres que le codage
Copilot Chat n’est pas conçu pour répondre à des questions qui ne concernent pas le codage, et ses réponses peuvent donc ne pas toujours être précises ou utiles dans ces contextes. Si un utilisateur pose à Copilot Chat une question non liée au codage, il peut générer une réponse hors sujet ou absurde, ou bien indiquer simplement qu’il est incapable de fournir une réponse utile.
Tirer parti d’une recherche web pour répondre à une question
Selon la question que vous posez, GitHub Copilot Chat peut éventuellement utiliser une recherche Bing pour répondre à votre question. Copilot utilise Bing pour les requêtes sur les événements récents, les nouvelles tendances ou technologies, les sujets très spécifiques ou lorsqu’une recherche web est explicitement demandée par l’utilisateur. Votre administrateur GitHub Enterprise peut activer Bing pour toute votre entreprise ou déléguer cette décision à l’administrateur de l’organisation. Pour plus d’informations, consultez « Gestion des stratégies et des caractéristiques de Copilot dans votre entreprise ».
Lorsque vous utilisez Bing, Copilot utilise le contenu de votre invite, ainsi que le contexte disponible supplémentaire, pour générer une requête de recherche Bing en votre nom envoyée à l’API de recherche Bing. Copilot fournit un lien vers les résultats de la recherche avec sa réponse. La requête de recherche envoyée à Bing est régie par la Déclaration de confidentialité Microsoft.
Étapes suivantes
Pour plus d’informations sur l’utilisation de GitHub Copilot Chat in GitHub, consultez :
- Poser des questions à GitHub Copilot dans GitHub dans la documentation de GitHub Enterprise Cloud.