Thanks to visit codestin.com
Credit goes to docs.github.com

Skip to main content

Carte d’application : GitHub Copilot Chat

Découvrez comment utiliser GitHub Copilot Chat de manière responsable en comprenant ses objectifs, ses fonctionnalités et ses limitations.

Qu’est-ce qu’une carte de demande ?

GitHub’s application and platform cards are intended to help you understand how our AI technology works, the choices application owners can make that influence application performance and behavior, and the importance of considering the whole application, including the technology, the people, and the environment. Application cards are created for AI applications and platform cards are created for AI platform services. These resources can support the development or deployment of your own applications and can be shared with users or stakeholders impacted by them.

As part of its commitment to responsible AI, GitHub adheres to Microsoft's six core principles: fairness, reliability and safety, privacy and security, inclusiveness, transparency, and accountability. These principles are embedded in the Responsible AI Standard, which guides teams in designing, building, and testing AI applications. Application and Platform Cards play a key role in operationalizing these principles by offering transparency around capabilities, intended uses, and limitations. For further insight, readers are encouraged to explore Microsoft’s Responsible AI Transparency Report and Termes GitHub.

1. Vue d’ensemble

GitHub Copilot Chat est une interface de conversation qui vous permet d’interagir avec GitHub Copilot pour poser et recevoir des réponses aux questions liées au codage. GitHub Copilot Chat est disponible sur GitHub.com, dans les IDE pris en charge (VS Code, Visual Studio, JetBrains et Eclipse), sur GitHub Mobile et dans Terminal Windows. Sur GitHub.com et dans GitHub Desktop, Copilot peut également générer des résumés de pull request et des messages de commit — des aperçus générés par l’IA des modifications apportées à une pull request ou à un commit.

GitHub Copilot Chat peut répondre à un large éventail de questions liées au codage sur des sujets tels que 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 de non-codage ou fournir des informations générales sur les sujets en dehors du codage.

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

2. Termes clés

La liste suivante fournit un glossaire des termes clés liés à GitHub Copilot Chat :

  • Filtrage du contenu : système de sécurité qui analyse les invites et les réponses pour détecter et bloquer le contenu dangereux avant qu’il ne soit affiché à l’utilisateur.
  • Hallucination : phénomène où un modèle de langage génère une sortie qui sonne plausible, mais qui est factuelment incorrect, non pris en charge par le contexte fourni, ou entièrement fabriqué. Les hallucinations sont un risque connu de modèles de langage volumineux et sont des raisons pour lesquelles l’examen humain de la sortie générée par l’IA est important.
  • Modèle de langage volumineux (LLM) : type de réseau neuronal formé sur un grand corps de données de texte pouvant générer, analyser et transformer le langage naturel et le code. GitHub Copilot Chat utilise un ou plusieurs LLM pour traiter les prompts et produire des réponses.
  • Prompt : entrée fournie à GitHub Copilot Chat. Le système combine l’invite avec un contexte supplémentaire (par exemple, ouvrir des fichiers ou des données de référentiel) avant de l’envoyer au modèle de langage.
  • ** Correspondance du code public** : fonctionnalité qui vérifie si les suggestions de Copilot correspondent au code disponible publiquement. Selon vos paramètres, les suggestions correspondantes peuvent être désactivées ou activées ; s’il est activé, il peut bloquer ou annoter avec une référence au référentiel source et à toutes les informations de licence.
  • Résumé de la demande de tirage : vue d’ensemble générée par l’IA des modifications apportées à une demande de tirage, composée d’un paragraphe prose et d’une liste à puces des modifications clés liées aux fichiers affectés. Les résumés sont générés à la demande sur GitHub.com.
  • Red teaming : une pratique de test structurée dans laquelle des testeurs tentent délibérément de provoquer, de la part d’un système d’IA, un comportement dangereux, nuisible ou non intentionné. Le red teaming aide à identifier les vulnérabilités et à améliorer les mesures d’atténuation en matière de sécurité avant et après la mise en production.
  • Training data : le grand corps de texte et de code publiquement disponibles qui a été utilisé pour entraîner les modèles de base derrière GitHub Copilot Chat. La composition des données d’apprentissage influence la qualité et la couverture des suggestions du modèle dans différents langages de programmation, frameworks et rubriques.

3. Fonctionnalités clés

Les principales fonctionnalités et fonctionnalités décrites ici décrivent ce que GitHub Copilot Chat est conçu pour effectuer et comment il effectue des tâches prises en charge.

  • Assistance conversationnelle au codage : GitHub Copilot Chat fournit une interface en langage naturel pour poser des questions sur le codage et recevoir des réponses sous forme de code, d’explications ou d’un guide étape par étape. Les utilisateurs peuvent poser des questions de suivi pour affiner les réponses, et l’historique des conversations est conservé dans une session.
  • Réponses contextuelles : GitHub Copilot Chat utilise des informations contextuelles — telles que les fichiers ouverts, le référentiel actif, l’historique de conversation et, lorsqu’elle est activée, la recherche sur le web — pour générer des réponses pertinentes pour le travail en cours de l’utilisateur. Le contexte spécifique disponible dépend de la plateforme (GitHub.com, IDE, Mobile, Terminal Windows ou GitHub Desktop).
  • Disponibilité multiplateforme : GitHub Copilot Chat est disponible sur plusieurs plateformes, notamment GitHub.com, les IDE pris en charge (VS Code, Visual Studio, JetBrains et Eclipse), GitHub Mobile, Terminal Windows et GitHub Desktop. Chaque plateforme offre une expérience personnalisée optimisée pour son environnement.
  • ** ModeAgent** : Dans les IDE pris en charge, GitHub Copilot Chat peut fonctionner en mode agent, où le modèle planifie de manière autonome des tâches en plusieurs étapes, appelle des outils (par exemple, l’exécution de commandes de terminal ou de modification de fichiers) et itère sur les résultats. Cela étend l’expérience de conversation au-delà des interactions question-réponse à tour unique.
  • Copilot Spaces : les espaces permettent aux utilisateurs d’organiser des dépôts, des fichiers, des tickets et d’autres éléments dans un ensemble contextualisé. Lorsqu’une question est posée à l’intérieur d’un espace, Copilot utilise le contexte inclus pour produire des réponses plus ciblées et pertinentes. Les espaces sont également accessibles à partir de l’IDE via le serveur MCP à distance GitHub.
  • Résumés des pull requests : Sur GitHub.com, Copilot peut générer un résumé des modifications d’une pull request, généré par l’IA. Le résultat se compose d’une présentation rédigée, suivie d’une liste à puces des principales modifications associées aux fichiers concernés. Les résumés sont générés à la demande et sont destinés à aider les réviseurs à comprendre rapidement ce qui a changé.
  • ** Génération de messages de validation** : sur GitHub.com et dans GitHub Desktop, Copilot pouvez générer un résumé de validation suggéré (titre) et une description en fonction des modifications de code que vous avez sélectionnées. Dans GitHub Desktop, les utilisateurs peuvent sélectionner des lignes de code ou de fichiers spécifiques pour améliorer le contexte et la précision. Les messages générés peuvent être examinés et modifiés avant la validation.
  • Bring Your Own Key (BYOK) : les organisations peuvent se connecter GitHub Copilot Chat à des modèles de langage volumineux provenant de fournisseurs tiers pris en charge en fournissant leur propre clé API, au lieu d’utiliser le modèle hébergé par défaut GitHub.
  • Filtrage du contenu : Parfois, GitHub Copilot Chat peut inclure un système de filtrage du contenu qui analyse les requêtes et les réponses afin de détecter et de bloquer les contenus préjudiciables. Une fonctionnalité de correspondance de code public vérifie si les suggestions correspondent au code disponible publiquement et, selon les paramètres, bloque ou annote ces correspondances avec les informations de source et de licence.

4. Utilisations prévues

GitHub Copilot Chat peut être utilisé dans plusieurs scénarios dans divers secteurs d’activité. Voici quelques exemples de cas d’usage :

  • Answering coding questions : Demandez à GitHub Copilot Chat pour obtenir de l’aide ou des clarifications sur des problèmes de codage spécifiques et recevoir des réponses au format d’extrait de code ou en langage naturel. La réponse peut tirer parti des données d’entraînement, du contexte du référentiel et des résultats de recherche web du modèle (lorsqu’elle est activée).
  • Explication du code et suggestions d’améliorations : générez des descriptions en langage naturel de l’objectif, des entrées, des sorties et des dépendances d’une fonction. GitHub Copilot Chat peut également suggérer des améliorations telles que une meilleure gestion des erreurs ou un flux de contrôle plus lisible. Notez que les explications générées peuvent ne pas toujours être précises ou complètes et doivent être examinées.
  • Generating unit test cases : GitHub Copilot Chat peut aider à écrire des cas de test unitaire en générant des extraits de code basés sur le code ouvert dans l’éditeur ou un extrait de code mis en surbrillance. Il peut suggérer des paramètres d’entrée, des valeurs de sortie attendues et des assertions basées sur la signature et le corps de la fonction. GitHub Copilot Chat peut également suggérer des cas de test pour les cas de périphérie et les conditions de limite, tels que la gestion des erreurs, les valeurs Null ou les types d’entrée inattendus, qui peuvent être difficiles à identifier manuellement. Les cas de test générés peuvent ne pas couvrir tous les scénarios possibles ; les tests manuels et la révision du code sont toujours nécessaires.
  • Proposer des correctifs de code : obtenez des correctifs suggérés pour les bogues en fonction du message d’erreur, de la syntaxe du code et du contexte environnant. GitHub Copilot Chat peut suggérer des modifications aux variables, aux structures de contrôle ou aux appels de fonction susceptibles de résoudre le problème. Notez que les correctifs suggérés peuvent ne pas toujours être optimaux ou complets.
  • Planification des tâches de codage : Lire et résumer des tickets GitHub, répondre à des questions à leur sujet ou proposer les étapes suivantes.
  • En savoir plus sur les versions, les discussions et les validations : résumez ce qui a changé dans une version, le gist d’une discussion ou les modifications apportées à une validation spécifique.
  • Résumé des modifications d’une pull request (GitHub.com)  : Générez un résumé des modifications d’une pull request à l’aide de l’IA, comprenant une présentation rédigée et une liste à puces des principales modifications avec des liens vers les fichiers concernés, afin d’aider les réviseurs à comprendre rapidement ce qui a changé et sur quels points concentrer leur revue.
  • Generating commit messages (GitHub.com et GitHub Desktop) : générez un résumé des messages de validation (titre) et une description en fonction des modifications de code que vous avez sélectionnées pour valider, ce qui vous permet de gagner du temps et de conserver des historiques de validation clairs. Dans GitHub Desktop, vous pouvez sélectionner des lignes de code ou de fichiers spécifiques pour une meilleure compréhension du contexte afin d’augmenter la précision. Vous pouvez passer en revue et modifier le titre et la description suggérés avant de valider.
  • Trouver la bonne commande (Terminal Windows)  : Demandez à Copilot de vous suggérer des commandes pour vous aider à effectuer des tâches en ligne de commande. Vous pouvez réviser votre question jusqu’à ce que la commande retournée réponde à vos attentes, puis l’insérer dans votre ligne de commande pour l’exécuter.
  • Explication d’une commande inconnue (Terminal Windows) : Demandez à Copilot de générer une description en langage naturel du fonctionnement d’une commande, y compris ses paramètres d’entrée et de sortie et des exemples d’utilisation. Notez que les explications générées peuvent ne pas toujours être précises ou complètes.
  • Développer une nouvelle fonctionnalité (Spaces)  : Regroupez le code pertinent, les spécifications produit et les notes de conception dans un espace afin que Copilot puisse expliquer l’implémentation actuelle, mettre en évidence les lacunes et rédiger du nouveau code ou les prochaines étapes.
  • Définition d’une logique pour les tâches répétées (Espaces) : documentez un processus une seule fois, avec des organigrammes, des exemples ou des schémas, et réutilisez-le dans votre équipe pour des modèles cohérents et des modèles réutilisables.
  • Sharing knowledge with teammates (Spaces)  : Collectez le code et la documentation les plus récents dans un seul endroit afin que Copilot puisse expliquer les systèmes, répondre aux questions et intégrer des collègues.

5. Modèles et données d’entraînement

GitHub Copilot Chat tire parti d’un large éventail de modèles IA pour alimenter l’expérience que les utilisateurs voient. Pour obtenir une comparaison des modèles disponibles pour Copilot, consultez Comparaison des modèles IA. Pour obtenir la liste complète des modèles pris en charge, consultez Modèles IA pris en charge dans GitHub Copilot. Pour plus d’informations sur l’emplacement d’hébergement des modèles, consultez Hébergement de modèles pour GitHub Copilot. Pour en savoir plus sur les données utilisées pour entraîner les modèles de base derrière GitHub Copilot Chat, reportez-vous à la comparaison de modèles IA liée ci-dessus et Quelles données ont GitHub Copilot été formées sur ? dans la faq GitHub Copilot.

Utilisation de Bring Your Own Key (BYOK)

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 de Copilot.

Lorsque BYOK est actif :

  • Portée de la fonctionnalité : le modèle que vous avez 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 intégrés Copilot optimisés pour ces tâches. Ces modèles intégrés ne s’exécutent pas via votre fournisseur BYOK.
  • Content filtering : quel que soit le fournisseur actif, les réponses passent toujours par l'API de GitHub et peuvent avoir le filtrage de contenu avant que les résultats ne soient affichés.
  • 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.
  • 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 de langage qui répond le mieux à vos besoins. Notez que les caractéristiques de performances et de sécurité du modèle dépendent du fournisseur.

6. Performances

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 implique les tâches suivantes :

  1. Traitement d’entrée : l’invite de l’utilisateur est prétraitée par le système, combinée à des informations contextuelles (par exemple, le référentiel actuel, les fichiers ouverts ou l’historique des conversations) et envoyées à un modèle de langage volumineux. L’entrée utilisateur peut prendre la forme d’extraits de code ou être exprimée en langage normal.
  2. Analyse du modèle de langage : l’invite est transmise via le modèle de langage, qui est un réseau neuronal formé sur un grand corps de données de texte. Le modèle de langage analyse l'invite de saisie.
  3. Génération de réponse : le modèle génère une réponse en fonction de son analyse de l’invite d’entrée et du contexte fourni. Cette réponse peut se présenter sous forme de code généré, de code suggéré ou d’explications du code existant.
  4. Mise en forme de sortie : la réponse est mise en forme avec la mise en surbrillance de la syntaxe, la mise en retrait et d’autres fonctionnalités pour ajouter de la clarté. Selon le type de question, des liens vers le contexte utilisé par le modèle(par exemple, des fichiers de code source, des problèmes ou de la documentation) peuvent également être fournis.

Différences par expérience

  • On GitHub.com : le modèle peut collecter un contexte supplémentaire à partir des données de référentiel stockées sur GitHub et les résultats de recherche web (lorsqu’il est activé par votre administrateur). Les réponses peuvent inclure des liens vers des fichiers de code source, des problèmes ou de la documentation.
  • Résumés des pull requests (GitHub.com) : lorsqu’un utilisateur demande un résumé, un flux de travail utilise les différences de code des fichiers pour construire un prompt et demande à Copilot de générer un résumé global. La sortie se compose d’un paragraphe prose donnant une vue d’ensemble des modifications, suivie d’une liste à puces des modifications clés liées aux lignes de code respectives. Vous pouvez générer un résumé dans la description d’une nouvelle demande de tirage ou d’une demande de tirage existante ou dans un commentaire sur la chronologie de la demande de tirage. Les demandes de tirage plus volumineuses peuvent prendre jusqu’à quelques minutes pour traiter. La seule langue prise en charge pour les résumés de pull request est l’anglais.
  • Commit message generation (GitHub.com)  : Lorsque vous cliquez sur le bouton Commit changes sur GitHub.com, Copilot génère un résumé suggéré (titre) et une description en fonction des modifications du code dans les fichiers sélectionnés. Le texte est inséré dans les champs de résumé et de description que vous pouvez examiner et modifier avant de valider. La seule langue prise en charge pour la génération de messages de validation est l’anglais.
  • Commit message generation (GitHub Desktop) : lorsque vous cliquez sur le bouton Copilot dans GitHub Desktop, Copilot génère un résumé suggéré (titre) et une description en fonction des modifications de code que vous avez sélectionnées. Vous pouvez sélectionner des lignes de code ou de fichiers spécifiques pour améliorer le contexte et la précision, et vous pouvez régénérer des suggestions avant de finaliser. L’anglais est la seule langue prise en charge.
  • Dans votre IDE : le système combine l’entrée utilisateur avec des informations contextuelles telles que le nom du référentiel et les fichiers ouverts par l’utilisateur. Dans VS Code et Visual Studio, un contexte supplémentaire peut être fourni automatiquement à partir d’un fichier .github/copilot-instructions.md facultatif (l’utilisateur peut le désactiver dans les paramètres). Lorsque vous utilisez le participant de conversation @github dans VS Code ou Visual Studio, GitHub Copilot Chat pouvez également collecter le contexte à partir du code stocké sur GitHub et à partir des résultats de recherche Bing (si activé par votre administrateur).
  • On GitHub Mobile : l’invite d’entrée est prétraitée et envoyée au modèle de langue. Le système est destiné seulement à répondre à questions relatives au codage. Les options disponibles varient selon Copilot plan : les utilisateurs disposant d’un abonnement Copilot Entreprise peuvent avoir des conversations à l’aide de données provenant de référentiels indexés privés et, si l’intégration de la recherche web est activée, recevez des réponses informées par les résultats de la recherche web. Les utilisateurs disposant d’un abonnement Copilot Pro peuvent discuter des principaux référentiels publics populaires.
  • In Terminal Windows : l'invite de l'utilisateur est combinée avec des informations contextuelles (le nom de l'interpréteur de commandes actif et l'historique de conversation) et envoyée au modèle de langue. Les réponses prennent la forme d’une commande suggérée ou d’une explication d’une commande. Les commandes suggérées ne sont pas exécutées automatiquement : vous devez cliquer sur une commande pour l’insérer dans votre ligne de commande, puis l’exécuter manuellement.
  • In Copilot Spaces : les espaces vous permettent d’organiser le contexte que GitHub Copilot Chat utilise pour répondre à vos questions. Un espace peut inclure des référentiels, du code, des demandes de tirage, des problèmes, du contenu de texte libre, comme des transcriptions ou des notes, des images et des chargements de fichiers. Lorsque vous envoyez une question dans un espace, Copilot augmente votre demande avec un contexte pertinent à partir de cet espace. Les espaces sont également accessibles à partir de l’IDE via le serveur MCP à distance GitHub. Tout le contenu d’un espace n’est pas utilisé dans chaque réponse : Copilot traite une partie du contenu inclus, de sorte qu’il soit sélectif sur ce que vous ajoutez permet de garantir la pertinence.

GitHub 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 GitHub Copilot Chat sont responsables de l’examen et de la validation des réponses générées par le système pour s’assurer qu’elles sont exactes et appropriées.

7. Limitations

Comprendre les limitations de GitHub Copilot Chat est essentielle pour déterminer s'il est utilisé dans des limites sécurisées et efficaces. Bien que nous encourageons les clients à tirer parti des Copilot Chat GitHub dans leurs solutions ou applications innovantes, il est important de noter que GitHub Copilot Chat n'a pas été conçu pour chaque scénario possible. Nous encourageons les utilisateurs à faire référence à Termes GitHub ainsi que les considérations suivantes lors du choix d’un cas d’usage :

  • Limited scope : GitHub Copilot Chat a été formé sur un grand corps de code, mais peut ne pas être en mesure de gérer des structures de code plus complexes ou des langages de programmation obscurs. Pour chaque langue, la qualité des suggestions dépend du volume et de la diversité des données d’apprentissage. Par exemple, JavaScript est bien représenté et bien pris en charge, tandis que les langages moins courants peuvent produire des résultats de qualité inférieure.
  • Biais potentiels : Les données d’apprentissage tirées de référentiels de code existants peuvent contenir des biais et des erreurs qui peuvent être perpétués par l’outil. GitHub Copilot Chat peut également être biaisé vers certains langages de programmation ou styles de codage, ce qui peut entraîner des suggestions de code non optimales ou incomplètes.
  • Risques de sécurité : le code généré peut potentiellement exposer des informations sensibles ou des vulnérabilités s’il n’est pas examiné attentivement. Passez toujours en revue et testez soigneusement le code généré, en particulier pour les applications sensibles à la sécurité.
  • Correspondances avec du code public : Bien que la probabilité soit faible, GitHub Copilot Chat peut produire du code qui correspond à du code figurant dans les données d’entraînement. Vous devez prendre les mêmes précautions que vous le feriez avec n’importe quel code qui utilise du matériel que vous n’avez pas indépendamment d’origine, y compris des tests rigoureux, l’analyse IP et la vérification des vulnérabilités de sécurité. Pour plus d’informations, consultez « Recherche de code public qui correspond à GitHub Suggestions de Copilot ».
  • ** CodeInaccurate** : GitHub Copilot Chat peut générer du code qui s’affiche valide, mais qui n’est pas sémantiquement ou syntactiquement correct, ou ne reflète pas précisément l’intention du développeur. Examinez et testez soigneusement le code généré, en particulier pour les applications critiques ou sensibles.
  • Réponses inexactes sur des sujets non liés au code : GitHub Copilot Chat n’est pas conçu pour répondre à des questions qui ne portent pas sur le code, et ses réponses dans ces contextes peuvent être non pertinentes ou dénuées de sens.
  • Risque de commandes potentiellement destructrices (Terminal Windows) : Copilot peut suggérer des commandes potentiellement destructrices, telles que la suppression de contenu ou le formatage d’un disque dur, qui peuvent être nécessaires dans certains scénarios, mais entraîner des problèmes si elles sont utilisées incorrectement. Vous êtes finalement responsable des commandes que vous choisissez d’exécuter. Malgré la présence de dispositifs de secours et de mécanismes de sécurité, l’exécution de commandes comporte des risques inhérents.
  • Limites de lignes modifiées pour les résumés de PR (GitHub.com): Les fichiers comportant plus de 400 ajouts et suppressions combinés sont exclus de la génération du résumé.
  • Les résumés de pull request ne sont pas mis à jour automatiquement (GitHub.com) : les résumés de pull request ne sont générés que lorsque les utilisateurs les demandent manuellement. Lorsque des mises à jour ou des modifications sont apportées à la pull request, le résumé n’est pas mis à jour automatiquement. Les utilisateurs peuvent demander un nouveau résumé, mais doivent examiner attentivement la sortie mise à jour, ce qui présente les mêmes risques d’inexactitude que l’original.
  • Reprise du contenu des pull requests (GitHub.com) : Comme un résumé présente les modifications d’une pull request, si des termes nuisibles ou offensants apparaissent dans le contenu de la pull request, il est possible que le résumé reprenne ces termes. Les utilisateurs doivent s’attendre à ce que les termes utilisés dans leur pull request apparaissent dans le résumé généré par l’IA.
  • ** Étendue délimitée pour les messages de validation (GitHub.com et GitHub Desktop)** : la génération de messages de validation peut rencontrer des difficultés avec des modifications de code complexes, des fenêtres de différences courtes ou des langages de programmation récemment développés. La qualité des suggestions dépend de la disponibilité et de la diversité des données d’apprentissage pour les langues impliquées.
  • Replication du contenu de validation (GitHub.com et GitHub Desktop) : étant donné qu’un message de validation récapitule les modifications apportées à une validation, si des termes dangereux ou offensants apparaissent dans les modifications du code, il est possible que le message généré inclue ces termes.
  • ** Les messages de validation ne sont pas mis à jour automatiquement (GitHub.com et GitHub Desktop)** : les messages de validation ne sont générés que lorsque vous les demandez. Lorsque vous apportez des modifications supplémentaires, le message de validation n’est pas automatiquement actualisé. Vous pouvez régénérer une nouvelle suggestion, mais vous devez examiner attentivement la sortie mise à jour : elle présente les mêmes risques d’inexactitude que l’original.
  • Interpretation de l'intention de l'utilisateur (Spaces) : Les espaces aident à définir les réponses de GitHub Copilot Chat dans le contexte organisé, mais le système peut toujours mal comprendre votre intention. Vérifiez toujours le résultat pour confirmer qu’il reflète vos objectifs.
  • Context limits (Spaces)  : Spaces ont défini des limites de taille et GitHub Copilot Chat traite uniquement une partie du contenu que vous incluez. Tous les fichiers, documents ou notes dans un espace ne seront pas utilisés dans une réponse. Le fait d’être sélectif sur ce que vous ajoutez permet de s’assurer que le contexte le plus pertinent est utilisé.
  • Performances variables selon la langue naturelle : GitHub Copilot Chat a été optimisé principalement pour l’anglais. Vous remarquerez peut-être des différences de performance avec les requêtes dans d’autres langues.
  • Leveraging web search : Sur GitHub.com et lors de l’utilisation du participant de conversation GitHub dans les IDE pris en charge, GitHub Copilot Chat pouvez éventuellement utiliser une recherche Bing pour répondre à votre question, par exemple des requêtes sur les événements récents, les nouvelles technologies ou des sujets très spécifiques. Votre administrateur d’entreprise peut activer ou désactiver Bing pour votre organisation. Lorsque la recherche web est utilisée, le contenu de votre invite, ainsi que le contexte supplémentaire, est utilisé pour générer une requête de recherche Bing en votre nom. La requête de recherche envoyée à Bing est régie par Déclaration de confidentialité deMicrosoft. Pour plus d’informations, consultez « Gestion des stratégies et fonctionnalités pour GitHub Copilot dans votre entreprise ».

8. Évaluations

Les évaluations des performances et de la sécurité évaluent si les applications IA fonctionnent de manière fiable et sécurisée en examinant des facteurs tels que la base, la pertinence et la cohérence, tout en identifiant les risques liés à la génération de contenu nuisible. Les évaluations suivantes ont été effectuées avec des composants de sécurité déjà en place, qui sont également décrits dans 9. Composants de sécurité et atténuations.

Évaluations des performances et de la qualité

Les fonctionnalités d’IA Copilot Chat GitHub sont évaluées à l’aide d’une combinaison de benchmarks standard (par exemple, SWE-Bench) et de suites d’évaluation développées en interne. Les tâches de benchmark sont sources à partir de référentiels open source publics et de scénarios synthétiques ; Aucune requête utilisateur réelle ni code client n’est utilisée. Chaque évaluation inclut plusieurs exécutions indépendantes pour prendre en compte le nondéterminisme dans les sorties du modèle. Les métriques clés incluent le taux de résolution (pourcentage de tâches correctement terminées), l’efficacité des jetons, la latence et la fiabilité des appels d’outil. Les modèles sont réévalués lorsque des mises à jour sont effectuées et surveillées en continu en production via des taux d’erreur, une latence de réponse et des modèles d’utilisation agrégés.

Méthodes d’évaluation des performances et de la qualité

Les nouveaux modèles pour GitHub Copilot Chat suivent un processus d’évaluation par étapes avant leur déploiement. Les équipes d’intégrateur exécutent des suites de benchmark spécifiques à leur surface, testant le modèle sur des tâches de codage représentatives telles que les correctifs de bogues, la génération de code et la refactorisation multi-fichiers. Les résultats sont examinés par rapport aux bases de référence établies et aux modèles de production existants. Les modèles doivent respecter ou dépasser les performances de référence sur les métriques clés, telles que le taux de résolution, l’efficacité des jetons et la latence, avant de passer à l’étape suivante. Un comité d’examen interfonctionnel prend une décision formelle de validation ou de non-validation avant qu’un modèle soit approuvé pour un déploiement destiné aux utilisateurs.

Évaluations des risques et de la sécurité

L’évaluation des risques potentiels associés au contenu généré par l’IA est essentielle pour la protection contre les risques de contenu avec différents degrés de gravité. Cela inclut l’évaluation de la prédisposition d’une application IA à générer du contenu dangereux ou le test des vulnérabilités pour les attaques jailbreak. Pour GitHub, nous effectuons des évaluations de performances, y compris celles qui sont adaptées à des fins de codage provenant de Microsoft Foundry :

  • Haine et iniquité
  • Sexuelle
  • Violence
  • Auto-préjudice
  • Matériel protégé
  • Déverrouillage
  • Vulnérabilité du code

Données d’évaluation pour la qualité et la sécurité

Nos données d’évaluation sont personnalisées pour évaluer les performances des applications IA dans des domaines clés de sécurité et de qualité, en simulant des scénarios et des risques réels. Nous commençons par identifier les aspects pertinents de l’évaluation des préoccupations en fonction de la recherche multidisciplinaire et des commentaires d’experts. Ces préoccupations sont traduites en objectifs d’évaluation ciblés et guident la formulation des mesures d’évaluation. Pour safety, nous créons des prompts antagonistes pour susciter des réponses indésirables ou des réponses dans des cas limites, qui sont ensuite évalués par des annotateurs assistés par l’IA, entraînés à évaluer la conformité aux normes de GitHub. Pour la qualité, nous élaborons des prompts fondés sur des grilles d’évaluation, adaptés à des scénarios tels que l’évaluation d’applications et d’agents de génération augmentée par récupération (RAG). Les jeux de données sont organisés à partir de diverses sources, notamment des jeux de données synthétiques et publics pour simuler des scénarios utilisateur réels. À l’aide des jeux de données organisés, les deux évaluations subissent un affinement itératif et l’alignement humain pour améliorer l’efficacité et la fiabilité des métriques. Cette méthodologie constitue la base d’évaluations reproductibles et rigoureuses qui reflètent la façon dont les clients utilisent des évaluations pour améliorer l’IA.

Évaluations personnalisées

Dans le cadre de notre processus de développement produit, nous menons des exercices de red teaming afin de comprendre et d’améliorer la sécurité de GitHub Copilot Chat. Lorsque cette option est activée, les invites saisies et les complétions générées passent par des filtres de contenu.

9. Composants de sécurité et atténuations

  • Filtrage de contenu : lorsqu’il est activé, le système de filtrage de contenu détecte et empêche la sortie du contenu dangereux. Si vous rencontrez du contenu offensant, signalez-le à [email protected].
  • Correspondance avec du code public : selon vos paramètres, le filtre de détection des doublons de GitHub Copilot Chat peut être activé ou désactivé. Si c’est le cas, GitHub Copilot Chat bloque les suggestions qui correspondent au code public ou les annote avec des liens vers les référentiels sources et les détails de licence. Dans VS Code, si vous avez activé des suggestions qui correspondent au code public, GitHub Copilot Chat affiche un message avec un lien pour afficher le code correspondant et les détails de licence dans l’éditeur. Dans Visual Studio, JetBrains, Eclipse et GitHub Mobile, GitHub Copilot Chat utilise des filtres qui bloquent les correspondances avec le code public. Quels que soient les paramètres, vous devez prendre les mêmes précautions que pour tout code qui utilise du matériel que vous n’avez pas créé indépendamment, notamment les tests rigoureux, l’analyse IP et la vérification des vulnérabilités de sécurité. Pour plus d’informations, consultez « Recherche de code public qui correspond à GitHub Suggestions de Copilot ».

10. Meilleures pratiques pour le déploiement et l’adoption de GitHub Copilot Chat

L’IA responsable est un engagement partagé entre GitHub et ses clients. Bien que GitHub crée des applications IA avec sécurité, équité et transparence au cœur, les clients jouent un rôle essentiel dans le déploiement et l’utilisation de ces technologies de manière responsable dans leurs propres contextes. Pour prendre en charge ce partenariat, nous proposons les meilleures pratiques suivantes pour les déploiements et les utilisateurs finaux afin d’aider les clients à implémenter efficacement une IA responsable.

  • Exercise la prudence et évaluez les résultats lors de l’utilisation de GitHub Copilot Chat pour des décisions ou dans des domaines sensibles : Les décisions consécutives sont celles qui peuvent avoir un impact juridique ou significatif sur l’accès à l’éducation, à l’emploi, aux plateformes financières, aux prestations gouvernementales, aux soins de santé, au logement, à l’assurance, aux plateformes juridiques ou qui pourraient entraîner des dommages physiques, psychologiques ou financiers. Les domaines sensibles, tels que les plateformes financières, les soins de santé et le logement, nécessitent des soins particuliers en raison du risque d’impact disproportionné sur différents groupes de personnes. Lorsque vous utilisez l’IA pour prendre des décisions dans ces domaines, assurez-vous que les parties prenantes concernées peuvent comprendre comment les décisions sont prises, faire appel des décisions et mettre à jour les données d’entrée pertinentes.

  • Évaluez les considérations légales et réglementaires : Les clients doivent évaluer des obligations légales et réglementaires spécifiques potentielles lors de l’utilisation de toutes les plateformes et solutions IA, ce qui peut ne pas convenir à une utilisation dans chaque secteur ou scénario. En outre, les plateformes ou solutions IA ne sont pas conçues pour et peuvent ne pas être utilisées de manière interdite en termes de service applicables et les codes de conduite pertinents.

  • Exercer une surveillance humaine le cas échéant : la surveillance humaine est une protection importante lors de l’interaction avec les applications IA. Bien que nous améliorions continuellement nos applications IA, l’IA peut encore faire des erreurs. Les sorties générées peuvent être inexactes, incomplètes, biaisées, mal alignées ou non pertinentes par rapport à vos objectifs prévus. Cela peut se produire pour diverses raisons, telles que l’ambiguïté dans les entrées ou les limitations des modèles sous-jacents. Par conséquent, les utilisateurs doivent passer en revue les réponses générées par GitHub Copilot Chat et vérifier qu’elles correspondent à leurs attentes et exigences.

  • Tenez compte du risque de sur-dépendance : La dépendance sur l’IA se produit lorsque les utilisateurs acceptent des sorties IA incorrectes ou incomplètes, principalement parce que les erreurs dans les sorties IA peuvent être difficiles à détecter. Pour l’utilisateur final, une dépendance excessive peut entraîner une baisse de productivité, une perte de confiance, un abandon de l’application, une perte financière, des dommages psychologiques, des dommages physiques, entre autres. (par exemple, un médecin accepte un résultat erroné généré par l’IA).

  • Soyez prudent lors de la conception de l’IA agentique dans des domaines sensibles : Les utilisateurs doivent faire preuve de prudence lors de la conception et/ou du déploiement d’applications IA agentiques dans des domaines sensibles où les actions de l’agent sont irréversibles ou hautement indirectes. Des précautions supplémentaires doivent également être prises lors de la création de l’IA agentique autonome, comme décrit plus loin dans Termes GitHub.

  • Use GitHub Copilot Chat en tant qu’outil, et non en tant qu’outil de remplacement : Bien que GitHub Copilot Chat puisse être un outil puissant pour générer du code, il est important de l’utiliser comme outil plutôt qu’un remplacement pour la programmation humaine. Passez toujours en revue et testez le code généré par GitHub Copilot Chat pour vous assurer qu’il répond à vos besoins et est exempt d’erreurs ou de problèmes de sécurité.

  • Restez dans le sujet : GitHub Copilot Chat est conçu pour répondre aux questions liées au code. La limitation des invites aux questions de codage ou aux tâches améliore la qualité de sortie du modèle.

  • Utilisez des pratiques de codage et de révision de code sécurisées : suivez les meilleures pratiques pour le codage sécurisé, telles que l’évitement des mots de passe codés en dur ou des vulnérabilités d’injection SQL, et passez en revue tout le code généré.

  • Soyez sélectif quant au contexte (Spaces) : n’ajouter que les fichiers, dépôts et notes les plus pertinents à un espace aide Copilot à rester concentré. La surcharge d’un espace avec du contenu inutile peut diluer la qualité de la réponse.

  • Conservez le contexte mis à jour (Espaces) : à mesure que votre projet évolue, actualisez les fichiers, les problèmes ou la documentation dans votre espace. Le contexte obsolète peut entraîner Copilot générer des réponses inexactes ou incomplètes.

  • Utilisez les instructions en même temps que les sources (Spaces) : la combinaison d’instructions en langage naturel avec des sources organisées permet Copilot mieux comprendre votre intention.

  • Ancrer la conversation dans un espace (espaces) : le démarrage des conversations à partir d’un espace garantit la continuité et la pertinence, en conservant les réponses alignées sur le contexte que vous avez configuré.

  • Vérifiez les résumés des pull requests avant publication (GitHub.com) : les résumés des pull requests sont destinés à compléter — et non à remplacer — votre propre compréhension du contexte des modifications. Passez toujours en revue et évaluez la précision d’un résumé généré avant d’enregistrer ou de publier votre demande de tirage.

  • Vérifier les messages de commit avant de valider (GitHub.com et GitHub Desktop) : la génération de messages de commit est destinée à compléter, et non à remplacer, vos propres descriptions des modifications. Passez toujours en revue et modifiez le titre et la description suggérés avant de valider. Dans GitHub Desktop, la sélection de lignes de code ou de fichiers spécifiques peut améliorer la précision. Vous pouvez désactiver la génération de messages de validation via la page Copilot settings sur GitHub.com.

  • Fournissez des commentaires : si vous rencontrez des problèmes ou des limitations, fournissez des commentaires via les boutons haut/bas sous chaque réponse de conversation. La possibilité de fournir des commentaires sur les résumés des demandes de tirage dépend des paramètres de votre entreprise. Pour plus d’informations, consultez « Gestion des stratégies et fonctionnalités pour GitHub Copilot dans votre entreprise ». Pour la génération de messages de validation, vous pouvez partager des commentaires via la discussion community ou en 'ouverture d’un problème dans le référentiel GitHub Desktop. Cela permet d’améliorer l’outil et de résoudre les problèmes.

  • Rester à jour : GitHub Copilot Chat évolue. Restez à jour avec les mises à jour, les nouveaux risques de sécurité et les meilleures pratiques.

11. En savoir plus sur GitHub Copilot Chat

Pour obtenir des conseils supplémentaires sur l’utilisation responsable de GitHub Copilot Chat, nous vous recommandons de consulter la documentation suivante :

En savoir plus sur l’IA responsable