Skip to main content

À propos du chat GitHub Copilot sur GitHub.com

GitHub Copilot Chat in GitHub.com peut vous aider en fournissant des réponses à des questions relatives au codage directement dans GitHub.com.

Qui peut utiliser cette fonctionnalité ?

Owners of organizations with a GitHub Copilot Enterprise subscription can decide whether to grant access to the Copilot Enterprise functionality for an organization. For more information, see "Activation des caractéristiques GitHub Copilot Enterprise."

Remarque : vous consultez actuellement la documentation pour les plans Gratuit, Pro et d’équipe. GitHub Copilot Enterprise est disponible uniquement pour les clients sur le plan GitHub Enterprise Cloud. Pour obtenir la documentation complète de Copilot Enterprise, consultez « GitHub Copilot Enterprise ». dans la documentation GitHub Enterprise Cloud.

À propos de GitHub Copilot Chat in GitHub.com

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.com ou des IDE pris en charge.

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 caractéristiques disponibles dans ces IDE diffèrent des caractéristiques disponibles sur GitHub.com.

GitHub Copilot Chat peut répondre à un large éventail de questions relatives au codage sur des sujets comme 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 portant sur autre chose que le codage ni pour fournir des informations générales sur des sujets autres que le codage.

La principale langue prise en charge pour GitHub Copilot Chat sur GitHub.com est l'anglais.

GitHub Copilot Chat fonctionne en utilisant une combinaison de traitement en 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

L’invite d’entrée de l’utilisateur est prétraitée par le système Copilot Chat, combinée à des informations contextuelles (par exemple, la date et l’heure actuelles et le nom du référentiel que l’utilisateur consulte actuellement) et envoyées à 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

La demande prétraitée est ensuite transmise via le modèle de langage Copilot Chat, un réseau neuronal qui a été entraîné sur un corps de données texte de grande taille. 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 mise en forme et présentée à l’utilisateur. Copilot Chat peut utiliser la mise en surbrillance de la syntaxe, l’indentation 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 résultats de recherche Bing ou la documentation, peuvent également être fournis.

Copilot Chat est destiné à 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 responsables de l’examen et de la validation des réponses générées par le système pour vérifier qu’elles sont exactes et appropriées. En outre, dans le cadre de notre processus de développement de produits, nous effectuons un Red Teaming pour comprendre et 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élioration des performances pour Copilot Chat .»

Cas d’usage pour Copilot Chat

Copilot Chat peut fournir une assistance au codage dans une variété de scénarios.

Répondre à des questions sur le codage

Vous pouvez demander à Copilot Chat de l’aide ou des clarifications sur des problèmes de codage spécifiques et recevoir des réponses à un format en langage naturel ou d’extrait 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 du 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 façon 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 apportées au code sélectionné, telles que l’amélioration de la gestion des erreurs et des cas de périphérie, ou des modifications apportées au flux logique pour rendre le code plus lisible.

En générant des explications et en suggérant de la documentation associée, Copilot Chat peut vous aider à comprendre le code sélectionné, ce qui permet 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 peuvent ne pas toujours être exactes ou complètes : vous devrez donc passer en revue et parfois corriger la sortie de Copilot Chat.

Proposition de correctifs de code

Copilot Chat peut proposer un correctif pour des bogues 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, 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 apportées à des variables, des structures de contrôle ou des appels de fonction qui peuvent résoudre le problème, et générer des extraits de code qui peuvent être incorporés dans le 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.

Amélioration des performances pour Copilot Chat

Copilot Chat peut prendre en charge un large éventail d’applications pratiques, comme les questions/réponses, la génération de code, l’analyse de code et les correctifs de code, chacune avec des métriques de performance et des stratégies d’atténuation différentes. Pour améliorer les performances et s’affranchir de 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 à des demandes relatives 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.

Utiliser Copilot Chat comme un outil et non pas 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 et non pas comme un substitut à la programmation humaine. Vous devez toujours passer en revue et tester le code généré par Copilot Chat pour vérifier qu’il répond à vos besoins, 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 Copilot Chat puisse générer du code correct sur le plan syntaxique, il peut ne pas toujours être sécurisé. Vous devez toujours suivre les bonnes pratiques pour obtenir un codage sécurisé, comme éviter les mots de passe codés en dur ou les vulnérabilités liées à l’injection de SQL ainsi que les bonnes pratiques de révision du code pour vous affranchir des limitations de Copilot Chat.

Fournir des commentaires

Remarque : la possibilité de fournir des commentaires sur GitHub à propos de Copilot pull request summaries dépend des paramètres de l’entreprise. Pour plus d’informations, consultez « Activation des caractéristiques GitHub Copilot Enterprise ».

Si vous rencontrez des problèmes ou des limitations avec Copilot Chat in GitHub.com, 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.com, vous aurez toujours accès à la dernière expérience de 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 comme votre codebase et vos données en entrée, vous pouvez rencontrer différents niveaux de performances lors de l’utilisation de Copilot Chat. Les informations suivantes sont conçues pour vous aider à comprendre les limitations du système et les concepts clés des performances tels qu’ils s’appliquent à Copilot Chat.

Étendue limitée

Copilot Chat a été entraîné sur un corpus de code de grande taille, mais il a néanmoins toujours 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 avec moins de présence dans les dépôts publics peuvent être plus problématiques pour Copilot Chat quant à l’assistance qu’il vous fournit. En outre, Copilot Chat ne peut suggérer du code qu’en fonction du contexte du code en cours d’écriture, de sorte qu’il peut ne pas être en mesure d’identifier des problèmes de conception ou d’architecture plus vastes.

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. En outre, Copilot Chat peut être biaisé en faveur de certains langages de programmation ou styles de codage, ce qui peut conduire à des suggestions de code non 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 si ce code n’est pas utilisé avec attention. Vous devez être prudent quand vous utilisez Copilot Chat pour générer du code pour des applications sensibles à la sécurité, et toujours passer en revue et tester le code généré de façon approfondie.

Correspondances avec du code public

Copilot Chat est capable de générer du nouveau code, ce qu’il fait de façon probabiliste. Bien que la probabilité qu’il puisse produire du code qui correspond à du code faisant partie du jeu d’entraînement soit faible, une suggestion de Copilot Chat peut contenir des extraits de code qui correspondent à du code présent dans le jeu d’entraînement. Copilot Chat utilise des filtres qui bloquent les correspondances avec le code public présent sur des dépôts GitHub, mais vous devez toujours prendre les mêmes précautions que vous prendriez avec du code que vous écrivez et qui utilise des éléments que vous n’avez pas produit de façon indépendante, y compris les précautions nécessaires pour garantir son adéquation. Ceci inclut des tests rigoureux, l’analyse des adresses IP et la recherche des vulnérabilités de sécurité.

Code erroné

Une des limitations de Copilot Chat est qu’il peut générer du code qui semble valide, mais qui peut ne pas être sémantiquement ou syntaxiquement correct, ou qui ne reflète pas correctement 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 autres que celles portant sur le codage et par conséquent, ses réponses peuvent ne pas toujours être exactes ou utiles dans ces contextes. Si un utilisateur demande à Copilot Chat une question sans rapport avec le codage, il peut générer une réponse non pertinente ou absurde, ou simplement indiquer qu’il n’est pas en mesure 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 dans GitHub.com 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 « Application de stratégies pour GitHub 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.com, consultez :

Pour aller plus loin