Remarque
Vous consultez actuellement la documentation pour les plans Gratuit, Pro et d’équipe. GitHub Copilot Enterprise n’est disponible que pour les clients sur le GitHub Enterprise Cloud plan. Pour obtenir la documentation complète de Copilot Entreprise, consultez Qu’est-ce que GitHub Copilot ? dans la GitHub Enterprise Cloud documentation.
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
Les suggestions en ligne de GitHub Copilot proposent des suggestions de type saisie semi-automatique pendant que vous travaillez. Ces suggestions s’affichent en ligne dans votre éditeur ou dans des champs de texte sur GitHub.com, ce qui vous aide à écrire des descriptions de code et de demande de tirage plus rapidement.
Les suggestions en ligne de Copilot se présentent sous deux formes :
- IDE suggestions inline : lorsque vous tapez du code dans un éditeur pris en charge, Copilot propose automatiquement des suggestions inline pour terminer la ligne actuelle, générer de nouveaux blocs de code ou suggérer des modifications au code existant. Ces suggestions peuvent inclure la prédiction de l’emplacement de la prochaine modification que vous souhaiterez peut-être effectuer et ce que cette modification doit être, y compris les suppressions, les modifications ou les insertions de code. Vous pouvez accepter toute ou partie d’une suggestion, l’ignorer ou continuer à taper pour l’ignorer. Les suggestions inline fonctionnent dans un large éventail de langages de programmation et de frameworks.
- Complétion de texte pour les pull requests : lorsque vous faites une pause en saisissant une description de pull request sur GitHub.com, Copilot suggère du texte pour compléter votre pensée. La suggestion s’appuie sur le titre de la pull request, le texte de description existant, les titres de commits, les diffs partiels, ainsi que sur les titres de pull requests et d’issues consultés récemment. Vous pouvez accepter la suggestion en appuyant sur Tab ou en la rejetant en continuant à taper.
La langue principalement prise en charge pour la complétion de texte des pull requests est l’anglais. Les suggestions inline prennent en charge de nombreux langages de programmation, avec une qualité variable par le volume et la diversité des données d’apprentissage disponibles pour chaque langage.
2. Termes clés
La liste suivante fournit un glossaire des termes clés liés à GitHub Copilot suggestions inline :
- Filtrage du contenu : système de sécurité qui analyse les invites et les réponses pour détecter et bloquer le contenu dangereux, offensant ou non sécurisé avant de l’afficher à 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 constituent une raison essentielle pour laquelle l’examen humain de la sortie générée par l’IA est important.
- Suggestion inline : suggestion de code générée par l’IA de Copilot qui apparaît dans l’éditeur pendant que vous tapez. Les suggestions inline peuvent terminer la ligne actuelle ou proposer des modifications au code existant en prédisant à la fois où la modification suivante doit se produire et ce que ce changement doit être, y compris l’insertion, la modification ou la suppression du code. Les suggestions peuvent apparaître au niveau du curseur ou guider les utilisateurs vers d’autres emplacements pertinents dans la base de code, où elles peuvent être acceptées, rejetées ou ignorées en poursuivant la saisie.
- 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. Les suggestions intégrées de Copilot utilisent un ou plusieurs grands modèles de langage (LLM) pour traiter le contexte et générer des suggestions.
- ** Correspondance du code public** : fonctionnalité de sécurité qui vérifie si les suggestions de Copilot correspondent au code disponible publiquement. Selon vos paramètres, les suggestions correspondantes sont bloquées ou annotées avec une référence au référentiel source et à toutes les informations de licence.
- Complétion de texte pour les demandes de tirage : une suggestion de saisie semi-automatique pour les descriptions de demandes de tirage sur GitHub.com. Lorsque vous faites une pause pendant la saisie, Copilot suggère du texte pour poursuivre votre idée en fonction du contexte de la demande de tirage.
- Données d’entraînement : le vaste ensemble de textes et de code accessibles au public qui ont été utilisés pour entraîner les modèles de fondation sur lesquels reposent les suggestions intégrées de Copilot. 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 capacités décrites ici indiquent ce que les suggestions intégrées de GitHub Copilot sont conçues pour faire et comment elles se comportent dans l’ensemble des tâches prises en charge.
- ** Suggestions de codeinline** : lorsque vous tapez du code dans un éditeur pris en charge, Copilot propose automatiquement des suggestions inline qui peuvent terminer la ligne actuelle, générer de nouveaux blocs de code ou proposer des modifications au code existant. Ces suggestions peuvent inclure l’insertion, la modification ou la suppression de code, des commentaires de code, des tests et bien plus encore, en prédisant à la fois les modifications à apporter et l’emplacement dans la base de code qu’ils doivent effectuer. Les suggestions peuvent apparaître au curseur ou guider les utilisateurs vers d’autres emplacements d’édition pertinents et peuvent être acceptées en totalité ou en partie, ignorées ou ignorées en continuant à taper.
- Génération de code pilotée par les commentaires : vous pouvez guider les suggestions inline en écrivant des commentaires de code qui décrivent le code attendu. Par exemple, les commentaires tels que « utiliser la récursivité » ou « utiliser un modèle singleton » influencent le type d’algorithme Copilot suggère.
- Prise en charge multilingue : les suggestions en ligne fonctionnent avec un large éventail de langages de programmation et de frameworks. La qualité des suggestions dépend du volume et de la diversité des données d’apprentissage disponibles pour chaque langue. Pour obtenir la liste des langages de programmation activement développés sur GitHub, consultez Langages de programmation.
- Complétion de texte des pull requests : lorsque vous faites une pause en saisissant une description de pull request sur GitHub.com, Copilot suggère du texte pour vous aider à poursuivre votre idée. La suggestion s’appuie sur le titre de la pull request, le texte de description existant, les titres de commit, des extraits de diff, ainsi que les titres de pull requests et d’issues récemment consultés.
4. Utilisations prévues
GitHub Copilot suggestions inline peuvent être utilisées dans plusieurs scénarios dans divers secteurs d’activité. Voici quelques exemples de cas d’usage :
- Accélérer l’écriture du code : les développeurs peuvent utiliser des suggestions en ligne pour travailler plus rapidement en acceptant les modifications suggérées au fur et à mesure qu’ils tapent, notamment pour compléter le code, générer de nouveaux blocs ou modifier le code existant. Les suggestions peuvent insérer, mettre à jour ou supprimer du code sur la ligne actuelle ou à d’autres emplacements pertinents du fichier en précipant les modifications à apporter et leur emplacement. Cela est particulièrement utile pour le code réutilisable, les modèles répétitifs, les idiomes courants et la cohérence à mesure que le code évolue dans les langages et infrastructures pris en charge.
- Générer des tests unitaires : Copilot pouvez suggérer des cas de test basés sur le code environnant, y compris les paramètres d’entrée possibles, les valeurs de sortie attendues et les assertions. Cela permet aux développeurs de créer une couverture de test plus rapidement, y compris les cas de périphérie et les conditions de limite qui peuvent être difficiles à identifier manuellement. Les tests générés doivent toujours être examinés, car ils peuvent ne pas couvrir tous les scénarios.
- ** Génération de code guide via des commentaires** : les développeurs peuvent écrire des commentaires en langage naturel décrivant le code dont ils ont besoin et Copilot génère des implémentations ou des modifications correspondantes. Cela peut être utile pour spécifier des algorithmes, des modèles de conception ou des méthodes et des propriétés à ajouter à une classe.
- Rédiger des descriptions de pull request : lorsque vous rédigez une description de pull request sur GitHub.com, Copilot peut suggérer du texte pour développer votre idée, vous aidant ainsi à rédiger plus rapidement des résumés clairs de vos modifications.
5. Modèles et données d’entraînement
Les suggestions en ligne de GitHub Copilot s’appuient sur divers modèles d’IA pour offrir l’expérience visible par les utilisateurs. 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 fondamentaux qui sous-tendent les suggestions intégrées de GitHub Copilot, reportez-vous au comparatif des modèles d’IA indiqué ci-dessus ainsi qu’à Sur quelles données GitHub Copilot a-t-il été entraîné ? dans la FAQ de GitHub Copilot.
La complétion de texte des pull requests utilise un flux basé sur une invite simple, s’appuyant sur l’API Copilot avec un modèle de langage étendu générique. Aucun modèle entraîné supplémentaire n’est utilisé pour cette fonctionnalité.
6. Performances
Les suggestions en ligne de Copilot fonctionnent à l’aide d’une combinaison de traitement du langage naturel et d’apprentissage automatique pour comprendre le contexte qui vous entoure et fournir des suggestions. Ce processus suit un pipeline cohérent :
- Traitement des entrées : le code autour de la position du curseur est prétraité par le système de suggestions en ligne, combiné à des informations contextuelles (telles que des extraits de code issus d’onglets ouverts dans l’éditeur), puis envoyé à un grand modèle de langage sous forme d’un prompt. Pour plus d’informations sur la rétention des données, consultez le Copilot Centre de gestion de la confidentialité.
- Analyse d’un modèle de langage : un grand modèle de langage traite le prompt en entrée. Pour les suggestions inline, le modèle génère à la fois des suggestions inline et des modifications prédites en fonction du contexte des fichiers actuels et ouverts dans l’éditeur, notamment l’insertion, la modification ou la suppression du code en prévision des modifications à apporter et de leur emplacement. Pour la complétion de texte des pull requests, Copilot utilise un modèle de langage via l’API Copilot.
- Génération de réponse : le modèle de langage génère une réponse en fonction de son analyse de l’invite d’entrée et du contexte fourni. Pour les suggestions en ligne, cela peut prendre la forme de la complétion de code, de la génération de nouveaux blocs ou de la proposition de modifications du code existant (y compris des suppressions), en prédisant à la fois quelles modifications doivent être apportées et où dans la base de code elles doivent être appliquées. Pour la complétion de texte des pull requests, la réponse est la suite, rédigée en prose, de la description.
- Mise en forme de sortie : la réponse est présentée inline dans l’éditeur sous la forme d’une modification suggérée qui est visuellement distincte du contenu environnant. Les suggestions peuvent apparaître à ou près du curseur, ainsi que mettre en surbrillance d’autres emplacements pertinents dans la base de code où les modifications sont proposées et sont appliquées uniquement au fichier ou au champ texte si vous les acceptez explicitement.
Les suggestions en ligne de Copilot visent à proposer les suggestions les plus pertinentes et les plus utiles pour compléter votre travail en cours. Toutefois, ils peuvent ne pas toujours fournir les réponses que vous recherchez. Les utilisateurs sont responsables de l’examen et de la validation des suggestions avant de les accepter pour s’assurer qu’ils sont exacts et appropriés. Dans le cadre du processus de développement de produit, les suggestions générées sont exécutées via des filtres de contenu. Le système de filtrage de contenu détecte et bloque le contenu dangereux ou offensant, ou le code non sécurisé. Selon vos paramètres de GitHub, le filtre bloque également ou annote les suggestions qui contiennent des correspondances avec du code public.
Différences par expérience
Suggestions en ligne (IDE)
Les suggestions intégrées utilisent des modèles de langage ajustés spécialisés dans cette tâche. Ils analysent le code autour de votre travail en cours, ainsi que le contexte issu de la base de code et du système des utilisateurs. En fonction de cette analyse, le système peut terminer le code, générer de nouveaux blocs ou proposer des modifications (y compris des suppressions) dans le code existant en prédisant à la fois les modifications à apporter et l’emplacement dans la base de code qu’ils doivent effectuer. Le système est destiné uniquement à faciliter les tâches de codage.
Complétion de texte des pull requests (GitHub.com)
La complétion de texte des pull requests utilise un flux à invite simple s’appuyant sur l’API Copilot avec un grand modèle de langage générique. Lorsque vous faites une pause pendant que vous saisissez une description de pull request, le système combine le titre de la pull request, le texte de description existant, les titres de commit, les diffs partiels, ainsi que les titres de pull requests et de tickets consultés récemment, afin de suggérer du texte pour poursuivre votre idée. La langue principale prise en charge est l’anglais.
7. Limitations
Comprendre les limites des suggestions en ligne de GitHub Copilot est essentiel afin de garantir qu’elles soient utilisées dans des limites sûres et efficaces. Même si nous encourageons les clients à tirer parti de Copilot suggestions inline dans leurs solutions ou applications innovantes, il est important de noter que Copilot suggestions inline n'ont pas été conçues 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 :
- Étendue limitée : les suggestions inline sont formées sur un grand corps de code, mais ont toujours une étendue limitée et peuvent 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 pour cette langue. Par exemple, JavaScript est bien représenté dans les référentiels publics et est l’un des langages les plus pris en charge. Les langues avec moins de représentation dans les référentiels publics peuvent être plus difficiles à aider. En outre, les suggestions en ligne ne peuvent suggérer du code qu’en fonction du contexte du code en cours d’écriture ; elles peuvent donc ne pas être en mesure d’identifier des problèmes de conception ou d’architecture plus vastes. Les suggestions inline sont destinées à générer du code et une sortie liée au code, et non aux sorties en langage naturel.
- Potential biases : les sources des données d'apprentissage de Copilot peuvent contenir des biais et des erreurs qui peuvent être perpétués par l'outil. En outre, les suggestions inline peuvent être biaisées 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é** : Copilot génère du code en fonction du contexte du code en cours d’écriture, ce qui peut exposer des informations sensibles ou des vulnérabilités si elles ne sont pas utilisées avec soin. Vous devez être prudent lors de l’utilisation de Copilot pour générer du code pour les applications sensibles à la sécurité, et toujours passer en revue et tester le code généré soigneusement.
- Correspondances avec le code public : les suggestions inline sont capables de générer un nouveau code, qu’ils font de manière probabiliste. Bien que la probabilité soit faible, Copilot peut générer des suggestions de code qui correspondent au code dans le jeu d’entraînement.
- ** Codeinaccurate** : Copilot peut générer du code qui semble être valide, mais peut ne pas réellement être sémantiquement ou syntactiquement correct ou ne reflète pas précisément 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.
- Les pull requests volumineuses peuvent réduire la qualité des suggestions : pour les pull requests très volumineuses, une partie du contenu de la pull request sur lequel Copilot s’appuie pour la complétion de texte peut ne pas tenir dans l’appel d’API. Par conséquent, certaines suggestions que vous pouvez vous attendre peuvent ne pas apparaître, ou peuvent être moins précises contextuellement.
- Risque d’hallucination dans la complétion de texte des pull requests : Comme la complétion de texte des pull requests est générée par un grand modèle de langage, il existe un risque d’hallucination, c’est-à-dire que Copilot génère des affirmations qui semblent plausibles, mais qui sont factuellement inexactes. Examiner attentivement le texte généré avant la publication est essentiel.
- Reprise du contenu de la pull request : la complétion du texte de la pull request s’appuie sur le contenu de la pull request elle-même. Si des termes nuisibles ou offensants apparaissent dans le contenu de la pull request (par exemple, les messages de commit ou les diffs), il est possible que la suggestion inclue également ces termes.
- Langue prise en charge : la langue principale prise en charge pour la complétion de texte des pull requests est l’anglais. Les suggestions inline prennent en charge de nombreux langages de programmation, avec une qualité variable par le volume et la diversité des données d’apprentissage disponibles pour chaque langage.
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 suggestions en ligne de GitHub Copilot sont évaluées à l’aide d’un système d’évaluation multicouche hors ligne et en ligne conçu pour évaluer la qualité des suggestions, leur pertinence et la valeur apportée aux développeurs. Le système est également conçu pour permettre une itération de modèle rapide tout en conservant des normes de qualité élevées.
Méthodes d’évaluation des performances et de la qualité
Pour une évaluation hors connexion, nous utilisons un ensemble organisé de suites de tests couvrant des scénarios de suggestion inline clés dans plusieurs langages de programmation. Les modèles sont évalués par rapport aux sorties attendues pour détecter les régressions dans les comportements de base tels que la correction du code et la pertinence contextuelle. Nous comparons également les modèles candidats par rapport aux bases de référence de production à l’aide de l’évaluation de la qualité de sortie, de la cohérence et de l’alignement avec l’intention du développeur.
Pour l’évaluation en ligne, nous déployons des modèles candidats sur des segments utilisateur contrôlés pour mesurer le taux d’acceptation, le taux affiché, la qualité des modifications et la rétention.
Nos évaluations effectuent le suivi de la latence, de l’utilisation des jetons et de l’empreinte de calcul en même temps que les métriques de qualité pour garantir la valeur des modèles dans les contraintes opérationnelles.
Nous nous appuyons également sur l’expérience des développeurs internes de Microsoft et de GitHub pour évaluer les modèles candidats dans des conditions réelles de développement, afin d’obtenir des retours qualitatifs et des indications précoces sur les comportements dans les cas limites avant un déploiement à plus grande échelle.
É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
Méthodes d’évaluation des risques et de la sécurité
Tests contradictoires : lorsque le modèle de base est mis à jour ou que des modifications importantes sont apportées aux sources de données d’apprentissage (telles que l’incorporation d’un nouveau type de jeu de données), le modèle subit des tests de sécurité où il est délibérément contesté avec des entrées conçues pour provoquer des sorties dangereuses, non sécurisées ou en violation de stratégie. Ce test couvre plusieurs catégories de risques, notamment le contenu dangereux, les risques de propriété intellectuelle et la génération de code non sécurisé. Les résultats sont comparés aux bases de référence de production et, s’il existe des régressions, ils font l’objet d’une révision manuelle pour évaluer le risque réel.
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
Les suggestions en ligne de Copilot ont fait l’objet de tests de red team RAI afin d’identifier et d’atténuer les risques potentiels pour la sécurité. Nous continuons à surveiller l’efficacité et la sécurité de la fonctionnalité au fil du temps. Pour plus d’informations, consultez Microsoft AI Red Team construit l’avenir d’une IA plus sûre sur le blog Sécurité Microsoft.
9. Composants de sécurité et atténuations
Les suggestions en ligne de GitHub Copilot s’appuient sur une architecture de sécurité comportant plusieurs couches de protection tout au long du pipeline de suggestion.
- Traitement d’entrée et de sortie : contexte de code ( y compris l’historique des modifications, le code environnant et la position du curseur) est structuré et délimité avant d’atteindre le modèle de langage. Le modèle est contraint à une tâche étroite (prédire la modification de code suivante dans une fenêtre définie) et doit suivre un format de sortie strict, produisant uniquement des modifications de code plutôt que des réponses de forme libre. Le prompt système impose également le respect des politiques de contenu, avec une réponse de refus obligatoire pour les demandes susceptibles d’enfreindre les directives.
- Content et les filtres de sécurité du code : GitHub Copilot inclut des filtres de sécurité conçus pour réduire les sorties dangereuses ou inappropriées et décourager les mauvaises utilisations. Les utilisateurs doivent toujours passer en revue les suggestions avant de les utiliser.
- ** Correspondance du code public** : GitHub Copilot utilise un système de détection de duplication conçu pour identifier quand les suggestions correspondent au code disponible publiquement. Les organisations et les individus peuvent le configurer pour bloquer les suggestions correspondantes ou fournir un référencement de code avec des informations de référentiel et de licence.
- Surveillance humaine : les suggestions inline suivent les principes de la boucle humaine : les suggestions sont visuellement distinctes du contenu environnant et sont appliquées uniquement lorsque l’utilisateur les accepte explicitement. Aucune modification du code ne se produit sans action délibérée de l’utilisateur. Les utilisateurs sont encouragés à passer en revue, tester et valider toutes les suggestions générées.
10. Meilleures pratiques pour le déploiement et l’adoption des suggestions intégrées de GitHub Copilot
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.
- Faites preuve de prudence et évaluez les résultats obtenus lorsque vous utilisez les suggestions de Copilot pour des décisions importantes 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.
- Veillez à ce que les invites restent pertinentes : les suggestions en ligne de Copilot sont exclusivement destinées à générer du code ou des suggestions relatives au code. Limiter le contenu de l’éditeur au code ou aux informations relatives au codage peut améliorer la qualité des suggestions.
- Fournissez un contexte pertinent pour la complétion de texte des pull requests : la qualité des suggestions de complétion de texte pour les pull requests dépend de la qualité du titre de la pull request, des messages de commit et de tout texte déjà présent dans la description. Fournir des titres clairs, descriptifs et des messages de validation améliore la pertinence des suggestions. Cependant, il est de votre responsabilité de passer en revue et d’évaluer l’exactitude des informations dans les demandes de tirage que vous créez.
- Utiliser Copilot suggestions inline en tant qu’outil, et non pas un remplacement : bien que Copilot puisse être un outil puissant pour générer du code, il est important de l’utiliser comme outil plutôt que comme remplacement de la programmation humaine. Vous devez toujours passer en revue les suggestions de Copilot avant de les accepter, puis les valider ultérieurement pour vous assurer qu'elles répondent à vos besoins et sont exemptes d'erreurs ou de problèmes de sécurité.
- 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 Copilot suggestions inline et vérifier qu’ils 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.
- Utilisez des pratiques de codage et de révision de code sécurisées : bien que les suggestions inline puissent générer du code syntactiquement correct, il peut ne pas toujours être sécurisé. Vous devez toujours suivre 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, ainsi que les bonnes pratiques de révision de code suivantes.
- Restez à jour : les suggestions en ligne de Copilot restent une technologie en évolution. Il est recommandé de se tenir informé des mises à jour ou des modifications apportées à l’outil ainsi que des nouveaux risques ou des bonnes pratiques en matière de sécurité qui peuvent apparaître. Les mises à jour d’extension automatisées sont activées par défaut dans Visual Studio Code, Visual Studio et la suite d’IDE JetBrains.
Important
Les utilisateurs assument tous les risques associés au code généré, y compris les failles de sécurité, les bogues et les violations d’adresses IP.
11. En savoir plus sur les suggestions en ligne de GitHub Copilot
Pour obtenir des conseils supplémentaires sur l’utilisation responsable de Copilot suggestions inline, nous vous recommandons de consulter la documentation suivante :
- Obtention de suggestions de code dans votre IDE avec GitHub Copilot
- Conditions GitHub pour les produits et fonctionnalités supplémentaires
- Centre de confiance Copilot