Skip to main content

Utilisation responsable de GitHub Copilot Chat dans GitHub

Découvrez comment utiliser conversation GitHub Copilot dans GitHub de manière responsable en comprenant ses objectifs, ses capacités et ses limites.

À propos de conversation GitHub Copilot dans GitHub

conversation GitHub Copilot dans GitHub est une interface de chat qui vous permet d’interagir avec GitHub Copilot afin de poser des questions liées au code et d’obtenir des réponses au sein de GitHub.

L’interface de conversation fournit un accès aux informations de codage et au support sans avoir à naviguer dans la documentation ou à rechercher de forums en ligne.

Remarque

Tchat Copilot 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 des fonctionnalités disponibles sur GitHub.

GitHub Copilot Chat peut répondre à un large éventail de questions liées au code, couvrant notamment la syntaxe, les concepts de programmation, les cas de test, le débogage, et plus encore. GitHub Copilot Chat n’est pas conçu pour répondre à des questions qui ne sont pas liées au code ni pour fournir des informations générales sur des sujets extérieurs au code.

La langue principale prise en charge pour Chat de Copilot sur GitHub est l’anglais.

GitHub Copilot Chat fonctionne à l’aide d’une combinaison de traitement du langage naturel et de machine learning 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 saisi par l’utilisateur est prétraité par le système Tchat Copilot, combiné à des informations contextuelles (par exemple, la date et l’heure actuelles et le nom du référentiel que l’utilisateur consulte), puis envoyée à 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 modèle de langage volumineux prend l’invite, rassemble 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 fournissent 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 linguistique Tchat Copilot, un réseau neuronal entraîné sur un vaste corpus de texte. 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 fournir 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 Tchat Copilot est formatée et présentée à l’utilisateur. Tchat Copilot peut utiliser la mise en surbrillance de la syntaxe, la mise en retrait et d’autres fonctionnalités de mise en forme pour ajouter de la clarté à la réponse générée. Selon le type de question de l’utilisateur, des liens vers le contexte utilisé par le modèle lors de la génération d’une réponse, comme les fichiers de code source, les problèmes, les Bing résultats de recherche ou la documentation, peuvent également être fournis.

Tchat Copilot vise à vous fournir la réponse la plus pertinente à votre question. Toutefois, il peut ne fournit pas toujours la réponse que vous recherchez. Les utilisateurs de Tchat Copilot sont responsables de l’examen et de la validation des réponses générées par le système afin d’en garantir l’exactitude et la pertinence. De plus, dans le cadre de notre processus de développement produit, nous effectuons des opérations de red teaming pour comprendre et améliorer la sécurité de Tchat Copilot. 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 en savoir plus sur l’amélioration des performances de Tchat Copilot, veuillez consulter la section Amélioration des performances pour Tchat Copilot.

Cas pratiques pour Tchat Copilot

Tchat Copilot peut fournir une assistance en matière de code dans divers scénarios.

Répondre à des questions sur le codage

Vous pouvez demander à Tchat Copilot de vous aider ou de clarifier des problèmes de code spécifiques et recevoir des réponses en langage naturel ou sous forme d’extraits de code.

La réponse générée par Tchat Copilot peut utiliser le jeu de données d'entraînement du modèle, les résultats de recherche de Bing et le code dans vos référentiels 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élioration

Tchat Copilot peut vous 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, Tchat Copilot peut générer une description en langage naturel de ce que fait le code et de la façon dont il s'intègre au 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.

Tchat Copilot peut également suggérer des améliorations potentielles au code sélectionné, comme une meilleure gestion des erreurs et des cas limites, ou des modifications du flux logique pour rendre le code plus lisible.

En générant des explications et en suggérant une documentation associée, Tchat Copilot peut vous aider à comprendre le code sélectionné, ce qui favorise une meilleure collaboration et un développement logiciel plus efficace. Cependant, il est important de noter que les explications et la documentation générées ne sont pas toujours exactes ou complètes. Vous devrez donc examiner et, à l'occasion, corriger la sortie de Tchat Copilot.

Proposition de correctifs de code

Tchat Copilot peut proposer un correctif pour les bug dans votre code en suggérant des extraits de code et des solutions en fonction du 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 produit un message d'erreur ou un avertissement, Tchat Copilot peut suggérer des correctifs possibles en fonction du message d'erreur, de la syntaxe du code et du code environnant.

Tchat Copilot peut suggérer des modifications de variables, de structures de contrôle ou d'appels de fonctions susceptibles de résoudre le problème et générer des extraits de code pouvant être incorporés à la base de code. 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

Tchat Copilot peut lire un problème GitHub et le résumer, répondre à son sujet ou proposer les étapes suivantes. Cela peut être utile si vous avez un problème long et complexe avec de nombreux commentaires, et que vous souhaitez le comprendre rapidement ou déterminer ce que vous devez faire ensuite.

Cependant, il est important de noter que les réponses et résumés de Tchat Copilot ne sont pas toujours exacts ou complets. Vous devrez donc examiner la sortie de Tchat Copilot pour en vérifier l'exactitude.

En savoir plus sur les versions, les discussions et les commits

Tchat Copilot peut vous aider à découvrir ce qui a changé dans une version spécifique, résumer les informations d'une discussion et expliquer les changements d'un commit spécifique. Cela peut être utile si, par exemple, vous débutez avec un project, que vous souhaitez rapidement obtenir le gist d’une discussion, ou que vous devez travailler sur le code que quelqu’un d’autre a écrit. Cependant, il est important de noter que les résumés des versions, discussions et commits par Tchat Copilot ne sont pas toujours exacts ou complets.

Améliorer les performances de Tchat Copilot

Tchat Copilot peut prendre en charge un large éventail d'applications pratiques telles que Q&R, génération de code, analyse de code et correctifs de code, chacun avec différentes métriques de performances et stratégies d’atténuation. Pour améliorer les performances et traiter certaines des limites de Tchat Copilot, vous pouvez adopter diverses mesures. Pour plus d’informations sur les limitations de Tchat Copilot, consultez Limitations de GitHub Copilot Chat.

Limitez vos demandes au sujet concerné

Tchat Copilot est conçu pour traiter exclusivement les requêtes 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 Tchat Copilot comme un outil, pas comme un remplaçant

Bien que Tchat Copilot 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 remplaçant de la programmation humaine. Vous devez toujours examiner et tester le code généré par Tchat Copilot afin de vous assurer qu'il répond à vos exigences et qu'il est exempt d'erreurs ou de problèmes de sécurité.

Utiliser des pratiques de codage sécurisé et de révision du code

Bien que Tchat Copilot puisse générer du code syntaxiquement correct, il n'est pas toujours sécurisé. Vous devez toujours suivre les bonnes pratiques de codage sécurisé, comme éviter les mots de passe codés en dur ou les vulnérabilités d'injection SQL, ainsi que suivre les bonnes pratiques de révision de code, afin de pallier les limites de Tchat Copilot.

Fournir des commentaires

Remarque

La possibilité de fournir des commentaires à GitHub concernant résumés des pull requests Copilot dépend des paramètres de l'entreprise. Pour plus d’informations, consultez « Gestion des stratégies et fonctionnalités pour GitHub Copilot dans votre entreprise ».

Si vous rencontrez des problèmes ou des limites avec Chat de Copilot sur GitHub, nous vous recommandons de fournir un feedback en cliquant sur l'icône pouce vers le bas sous chaque réponse de la conversation. Cela peut aider les développeurs à améliorer l’outil, et à résoudre les problèmes ou les limitations.

Rester informé

Tchat Copilot est une nouvelle technologie et est susceptible d'évoluer au fil du temps. Pour conversation GitHub Copilot dans GitHub, vous aurez toujours accès à la dernière expérience produit. Vous devez vous tenir informé de tout nouveau risque de sécurité ou de bonnes pratiques susceptibles d'émerger.

Limites de GitHub Copilot Chat

Selon des facteurs tels que votre base de code et les données d'entrée, vous pouvez constater différents niveaux de performance lors de l'utilisation de Tchat Copilot. Les informations suivantes sont conçues pour vous aider à comprendre les limites du système et les concepts clés de performance tels qu'ils s'appliquent à Tchat Copilot.

Étendue limitée

Tchat Copilot a été entraîné sur un vaste corpus de code, mais a tout de même une étendue limitée et peut ne pas être en mesure de gérer 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 langages moins représentés dans les référentiels publics peuvent être plus difficiles à prendre en charge pour Tchat Copilot. De plus, Tchat Copilot ne peut suggérer du code qu'en fonction du contexte du code en cours d'écriture. Il peut donc ne pas être en mesure d'identifier des problèmes de conception ou d'architecture plus larges.

Biais potentiels

Les données d'apprentissage de Copilot, tirées de référentiels de code existants, et le contexte collecté par le modèle de langage de grande taille (par exemple, les résultats des recherches Bing) peuvent contenir des biais et des erreurs susceptibles d'être perpétués par l'outil. De plus, Tchat Copilot peut être biaisé en faveur de certains langages de programmation ou styles de codage, ce qui peut conduire à des suggestions de code sous-optimales ou incomplètes.

Risques liés à la sécurité

Tchat Copilot 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 si l'outil n'est pas utilisé avec prudence. Vous devez faire preuve de prudence lorsque vous utilisez Tchat Copilot pour générer du code pour des applications sensibles sur le plan de la sécurité et toujours examiner et tester le code généré de manière approfondie.

Correspondances avec du code public

Tchat Copilot est capable de générer du nouveau code, ce qu'il fait de façon probabiliste. Bien que la probabilité qu'il produise du code correspondant au code présent dans l'ensemble d'entraînement soit faible, une suggestion de Tchat Copilot peut contenir des extraits de code correspondant au code de l'ensemble d'entraînement.

Si vous avez désactivé les suggestions correspondant au code public, Tchat Copilot utilise des filtres qui l'empêchent d'afficher du code correspondant à du code trouvé dans les référentiels publics sur GitHub. Cependant, vous devez toujours prendre les mêmes précautions que pour tout code que vous écrivez et qui utilise du contenu que vous n'avez pas créé de manière indépendante, y compris des précautions visant à vous assurer de 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 correspondant au code public, Tchat Copilot affiche un message si du 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 correspondant aux suggestions de GitHub Copilot.

Code erroné

L'une des limites de Tchat Copilot est qu'il peut générer du code qui semble valide, mais qui peut ne pas être réellement correct sur le plan sémantique ou syntaxique ou 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

Tchat Copilot n'est pas conçu pour répondre à des questions ne relevant pas du codage. Ses réponses peuvent donc ne pas être exactes ou utiles dans ces contextes. Si un utilisateur pose à Tchat Copilot une question qui ne relève pas du codage, il peut générer une réponse non pertinente ou dénuée de sens, ou simplement indiquer qu'il ne peut pas fournir de réponse utile.

Exploiter une recherche web pour répondre à une question

Selon la question que vous posez, GitHub Copilot Chat peut éventuellement utiliser une recherche Bing pour vous aider à 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 fonctionnalités pour GitHub Copilot dans votre entreprise ».

Lorsque vous utilisez Bing, Copilot utilise le contenu de votre invite, ainsi que tout contexte supplémentaire disponible, pour générer une requête de recherche Bing en votre nom, qui est ensuite 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 Déclaration de confidentialité deMicrosoft.

Utilisation de Bring Your Own Key (BYOK) avec GitHub Copilot

Lorsque vous utilisez Bring Your Own Key avec GitHub Copilot Chat, vous pouvez connecter l’expérience de conversation à des modèles de langage volumineux provenant de fournisseurs pris en charge au-delà du modèle par défaut Copilot. Parmi les fournisseurs pris en charge, citons Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, openAI-compatible providers et xAI. Vous ajoutez votre clé API pour le fournisseur choisi directement dans vos paramètres Copilot.

Lorsque BYOK est actif :

  •         **Étendue des fonctionnalités** : votre modèle choisi est utilisé dans GitHub Copilot Chat. En mode Agent, BYOK alimente la conversation principale, mais certaines actions, telles que l'application de code ou d'autres appels d'outils, peuvent toujours utiliser des modèles hébergés par GitHub, optimisés pour ces tâches. Ces modèles intégrés ne s’exécutent pas via votre fournisseur BYOK.
    
  •         **Processus de sécurité** : quel que soit le fournisseur actif, les réponses passent toujours par GitHubles systèmes de sécurité de }, y compris le filtrage de contenu, avant que les résultats ne soient affichés à vous.
    
  •         **Considérations relatives** à la qualité : les suggestions peuvent varier en fonction des forces et de la couverture de formation de votre fournisseur choisi.
    
  •         **Gestion des données** : lorsque vous utilisez BYOK, vos invites et réponses sont transmises à votre fournisseur sélectionné et peuvent être soumises aux stratégies de rétention et de confidentialité des données de ce fournisseur. GitHub traite temporairement ces données pour le filtrage de sécurité, mais ne conserve pas le contenu de conversation BYOK au-delà de la durée de session.
    
  •         **Vos responsabilités** : vous êtes responsable des éléments suivants :
    
    • Sécurité de la clé API du fournisseur
    • Coûts ou quotas d’utilisation
    • Validation de sortie
    • Évaluer si votre modèle choisi répond à vos exigences de sécurité et de qualité
    • Conformité avec les conditions de votre fournisseur sélectionné
    • Déterminer si votre modèle choisi est conforme aux lois applicables
    • S'assurer qu'une personne examine tout résultat avant de prendre des décisions qui affectent les gens
  •         **Restrictions d’exportation** : certains modèles IA peuvent être soumis à des contrôles d’exportation. Vérifiez que votre fournisseur et votre modèle sélectionnés sont autorisés à être utilisés dans votre juridiction.
    

BYOK permet à votre organisation de choisir le modèle linguistique qui correspond le mieux à vos besoins tout en bénéficiant de l'infrastructure de sécurité de GitHub. Notez que les caractéristiques de performances et de sécurité du modèle dépendent du fournisseur.

Étapes suivantes

Pour plus de détails sur l'utilisation de conversation GitHub Copilot dans GitHub, voir :

  •           [AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-chat/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)
    

Pour aller plus loin

  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-copilot-pre-release-terms)
    
  •         [GitHub Copilot Centre de Confiance](https://copilot.github.trust.page/)