Skip to main content

Utilisation responsable de l’interface CLI GitHub Copilot

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

Qui peut utiliser cette fonctionnalité ?

CLI de GitHub Copilot est disponible dans tous les forfaits Copilot. Si vous recevez Copilot d’une organisation, la CLI Copilot stratégie doit être activée dans les paramètres de l’organisation.

À propos de CLI de GitHub Copilot

          CLI de GitHub Copilot fournit une interface de type conversation dans le terminal qui peut créer et modifier des fichiers de manière autonome sur votre ordinateur et exécuter des commandes. Vous pouvez demander Copilot à effectuer n’importe quelle action sur les fichiers dans active directory.

          CLI de GitHub Copilot peut générer des modifications personnalisées en fonction de votre description et de vos configurations, notamment les tâches telles que les correctifs de bogues, l’implémentation de nouvelles fonctionnalités incrémentielles, le prototypage, la documentation et la maintenance codebase.

Tout en travaillant sur votre tâche, l’agent Copilot a accès à votre environnement de terminal local où il peut apporter des modifications à votre code, exécuter des tests automatisés, exécuter des linters et exécuter des commandes disponibles dans votre environnement.

L’agent a été évalué dans divers langages de programmation, avec l’anglais comme langue principale prise en charge.

L’agent fonctionne à l’aide d’une combinaison de traitement en langage naturel et de machine learning pour comprendre votre tâche et apporter des modifications dans une base de code pour terminer la tâche. Ce processus peut être divisé en plusieurs étapes.

Traitement de l’entrée

Votre entrée est combinée avec des informations contextuelles pertinentes pour former une invite. Cette invite est envoyée à un modèle de langage volumineux pour le traitement. Les entrées peuvent prendre la forme d’un langage naturel brut, d’extraits de code ou de références à des fichiers dans votre terminal.

Analyse du modèle de langage

L’invite d’entrée est ensuite transmise via le modèle de langage, qui équivaut à un réseau neural qui a été entraîné sur un corps de données texte de grande taille. Le modèle de langage analyse l’invite d’entrée pour aider l’agent à raisonner sur la tâche et à utiliser les outils nécessaires.

Génération de la réponse

Le modèle de langage génère une réponse basée sur son analyse de l’invite. Cette réponse peut prendre la forme de suggestions de langage naturel, de suggestions de code, de modifications de fichier et d’exécutions de commandes.

Mise en forme de la sortie

La réponse générée par l’agent est mise en forme et présentée à vous. CLI de GitHub Copilot utilise la mise en surbrillance de la syntaxe, la mise en retrait et d’autres fonctionnalités de mise en forme pour ajouter de la clarté à la réponse générée.

L’agent peut également exécuter des commandes dans votre environnement local et créer, modifier ou supprimer des fichiers dans votre système de fichiers afin d’effectuer votre tâche.

Vous pouvez fournir des commentaires à l’agent une fois qu’il a retourné une réponse dans la fenêtre de conversation interactive. L’agent soumettra ensuite à nouveau ces commentaires au modèle de langage pour une analyse plus approfondie. Une fois que l’agent a terminé les modifications en fonction des commentaires, l’agent retourne une réponse supplémentaire.

Copilot est destiné à vous fournir la solution la plus pertinente pour la résolution des tâches. Toutefois, il peut ne fournit pas toujours la réponse que vous recherchez. Vous êtes responsable de l’examen et de la validation des réponses générées par Copilot afin de vous assurer qu’elles sont exactes et appropriées. Pour plus d’informations, consultez la section Amélioration des résultats de CLI de GitHub Copilot, plus loin dans cet article.

Cas d’usage pour CLI de GitHub Copilot

Vous pouvez déléguer une tâche à Copilot dans divers scénarios, y compris, mais pas limité à :

  •         **Maintenance codebase :** Résoudre les correctifs liés à la sécurité, les mises à niveau des dépendances et la refactorisation ciblée.
    
  •         **Documentation:** Mise à jour et création d’une documentation.
    
  •         **Développement de fonctionnalités :** Implémentation de demandes de fonctionnalités incrémentielles.
    
  •         **Amélioration de la couverture des tests :** Développement de suites de tests supplémentaires pour la gestion de la qualité.
    
  •         **Prototypage de nouveaux projets :** Greenfielding de nouveaux concepts.
    
  •         **Configuration de votre environnement :** Exécution de commandes dans votre terminal pour configurer votre environnement local pour travailler sur des projets existants
    
  •         **Recherchez la commande appropriée pour effectuer une tâche :**Copilot peut fournir des suggestions pour les commandes permettant d’effectuer des tâches que vous essayez de terminer.
    
  •         **Expliquer une commande inconnue :**Copilot peut fournir une description du langage naturel de la fonctionnalité et de l’objectif d’une commande.
    

Amélioration des résultats de CLI de GitHub Copilot

          CLI de GitHub Copilot peut prendre en charge un large éventail de tâches. Pour améliorer les réponses que vous recevez et résoudre certaines des limitations de l’agent, il existe différentes mesures que vous pouvez adopter.

Pour plus d’informations sur les limitations, consultez la section Limitations de CLI de GitHub Copilot, plus loin dans cet article.

Vérifiez que vos tâches sont bien étendues

          CLI de GitHub Copilot tire parti de votre invite en tant que contexte clé lors de l’exécution d’une tâche. Plus l’invite que vous fournissez est plus claire et plus étendue, mieux vous obtiendrez les résultats que vous obtiendrez. Une invite idéale inclut :
  • Description claire du problème à résoudre ou du travail requis.
  • Critères d’acceptation complets concernant les caractéristiques d’une bonne solution (par exemple, faut-il prévoir des tests unitaires ?).
  • Indicateurs ou pointeurs sur les fichiers à modifier.

Personnaliser votre expérience avec un contexte supplémentaire

          CLI de GitHub Copilot tire parti de votre invite et du code du référentiel en tant que contexte lors de la génération de modifications suggérées. Pour améliorer Copilotles performances, envisagez d’implémenter des instructions personnalisées Copilot pour aider l’agent à mieux comprendre votre projet et comment générer, tester et valider ses modifications. Pour plus d’informations, consultez « [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions) ».

Utiliser CLI de GitHub Copilot en tant qu’outil, et non en remplacement

Bien qu’il CLI de GitHub Copilot puisse s’agir d’un outil puissant pour générer du code et de la documentation, il est important de l’utiliser comme outil, plutôt que de remplacer la programmation humaine. Vous devez toujours passer en revue et vérifier les commandes générées pour CLI de GitHub Copilot vous assurer qu’elles répondent à vos besoins et sont exemptes d’erreurs ou de problèmes de sécurité.

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

Bien qu’il CLI de GitHub Copilot puisse générer du code syntactiquement correct, il peut ne pas toujours être sécurisé. Vous devez toujours suivre les meilleures pratiques en matière de codage sécurisé, par exemple en évitant les mots de passe codés en dur ou les vulnérabilités liées aux injections SQL, ainsi que les meilleures pratiques en matière d'examen du code, afin de tenir compte des limites de l'agent. Vous devez toujours prendre les mêmes précautions que pour tout code que vous écrivez et qui utilise du matériel dont vous n'êtes pas à l'origine de manière indépendante, y compris des précautions 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é.

Fournir des commentaires

Si vous rencontrez des problèmes ou des limitations avec CLI de GitHub Copilot, nous vous recommandons de fournir des commentaires à l’aide de la /feedback commande.

Mesures de sécurité pour CLI de GitHub Copilot

Limitation des Copilotautorisations

Par défaut, CLI Copilot:

  • Seul l’accès aux fichiers et dossiers est disponible dans et en dessous, le répertoire à partir duquel CLI de GitHub Copilot a été appelé. Vérifiez que vous approuvez les fichiers dans ce répertoire. Si Copilot vous souhaitez accéder aux fichiers en dehors du répertoire actif, il demande l’autorisation. Accordez-lui uniquement l’autorisation si vous approuvez le contenu de ce répertoire.
  • Demande l’autorisation avant de modifier les fichiers. Vérifiez qu’il modifie les fichiers appropriés avant d’accorder l’autorisation.
  • Demander l’autorisation avant d’exécuter des commandes susceptibles d’être dangereuses. Passez en revue attentivement ces commandes avant de lui accorder l’autorisation d’exécuter.

Vous pouvez accorder CLI Copilot des autorisations spécifiques, ou toutes les autorisations, à l’aide des différentes options de ligne de commande : par exemple, --allow-tool=[TOOLS...], --allow-all-tools( --allow-all ou sa commande oblique équivalente /allow-all pour une utilisation dans une session interactive). Pour plus d’informations, consultez « Référence des commandes CLI de GitHub Copilot ». En règle générale, lorsque vous utilisez CLI Copilot en mode Autopilot, vous lui accorderez des autorisations complètes pour lui permettre d’effectuer une tâche de manière autonome, sans vous obliger à approuver l’activité au fur et à mesure qu’elle fonctionne sur la tâche. Pour plus d’informations, consultez « Autoriser GitHub Copilot CLI à fonctionner de manière autonome ».

Pour plus d’informations sur les pratiques de sécurité lors de l’utilisation CLI de GitHub Copilot, consultez « Considérations relatives à la sécurité » dans À propos de GitHub Copilot CLI.

Gestion des données lors de l’utilisation de votre propre fournisseur de modèles

Lorsque vous configurez CLI Copilot pour utiliser votre propre fournisseur de modèles, vos invites, contexte de code et réponses générées sont envoyées directement au fournisseur que vous configurez. Ils ne sont pas routés à travers GitHub. Vous êtes responsable de l’examen et de la conformité aux conditions d’utilisation et aux stratégies de gestion des données de votre fournisseur choisi.

Télémétrie

Lorsque vous utilisez votre propre fournisseur de modèles sans mode hors connexion, CLI Copilot continue d’envoyer des données de télémétrie comme GitHub d’habitude. Cette télémétrie n’inclut pas vos invites ou votre code, mais elle inclut des métadonnées d’utilisation.

Si vous activez le mode hors connexion en définissant la COPILOT_OFFLINE variable trued’environnement sur , toutes les données de télémétrie sont désactivées. En mode hors connexion, CLI Copilot effectue uniquement des requêtes réseau à votre fournisseur de modèle configuré.

Disponibilité des fonctionnalités et de l’authentification

          GitHub l’authentification n’est pas nécessaire lors de l’utilisation de votre propre fournisseur de modèles (BYOK). Sans GitHub authentification, les fonctionnalités suivantes ne sont pas disponibles :

* /delegate, qui remet la session côté GitHubserveur Copilot

  • Serveur GitHub MCP
  •         GitHub Recherche de code
    

En mode hors connexion, les outils web tels que web_fetch la recherche de code sont GitHub également désactivés.

Pas de secours aux GitHubmodèles hébergés

Si la configuration de votre fournisseur de modèles n’est pas valide, CLI Copilot se termine par une erreur. Elle ne revient pas aux GitHubmodèles hébergés. Échecs courants, tels que la connexion refusée, les erreurs d’authentification, le modèle introuvable et les délais d’expiration, produisent des messages conviviaux avec des conseils actionnables.

Limitations de CLI de GitHub Copilot

Selon des facteurs tels que votre codebase et vos données d’entrée, vous pouvez rencontrer différents niveaux de performances lors de l’utilisation CLI de GitHub Copilot. Les informations suivantes sont conçues pour vous aider à comprendre les limitations système et les concepts clés relatifs aux performances à mesure qu’elles s’appliquent.CLI de GitHub Copilot

Étendue limitée

Le modèle de langage utilisé par CLI de GitHub Copilot a été formé sur un grand corps de code, mais a toujours une étendue limitée et peut ne pas être en mesure de gérer certaines structures de code ou 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.

Biais potentiels

Le modèle de langage utilisé par CLI de GitHub Copilotles données d’apprentissage et le contexte collectés par le modèle de langage volumineux peuvent contenir des biais et des erreurs qui peuvent être perpétués par l’outil. En outre, CLI de GitHub Copilot il peut être biaisé vers certains langages de programmation ou styles de codage, ce qui peut entraîner des suggestions non optimales ou incomplètes.

Risques liés à la sécurité

          CLI de GitHub Copilot génère du code et du langage naturel en fonction du contexte d’un problème ou d’un commentaire au sein d’un référentiel, ce qui peut potentiellement exposer des informations sensibles ou des vulnérabilités si elles ne sont pas utilisées avec soin. Veillez à examiner attentivement toutes les sorties générées avant CLI de GitHub Copilot la fusion.

Code erroné

          CLI de GitHub Copilot peut générer du code qui semble être valide, mais peut ne pas réellement être sémantiquement ou syntactiquement correct ou peut ne pas refléter avec précision 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.

Code public

          CLI de GitHub Copilot peut générer du code qui correspond ou est très similaire au code disponible publiquement, même si la politique « Suggestions correspondant au code public » est définie sur « Bloquer ». Consultez [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-plan/managing-copilot-policies-as-an-individual-subscriber#enabling-or-disabling-suggestions-matching-public-code).

Les utilisateurs doivent évaluer des obligations légales et réglementaires spécifiques potentielles lors de l’utilisation de services et de solutions IA, ce qui peut ne pas convenir à une utilisation dans chaque secteur ou scénario. En outre, les services ou solutions d’IA ne sont pas conçus pour être utilisés de manière interdite en termes de service applicables et codes de conduite pertinents.

Gestion des risques et responsabilité des utilisateurs dans l’exécution des commandes

Une attention supplémentaire est requise lors de la demande ou de l’autorisation CLI de GitHub Copilot d’exécuter une commande, en particulier en ce qui concerne la destruction potentielle de certaines commandes suggérées. Vous pouvez rencontrer des commandes pour la suppression de fichiers ou le formatage du disque dur, ce qui peut entraîner des problèmes si elles ne sont pas utilisées correctement. Bien que ces commandes soient nécessaires dans certains cas, vous devez être prudent lorsque vous les acceptez et les exécutez.

En outre, vous êtes en fin de compte responsable des commandes exécutées par CLI de GitHub Copilot. Il est entièrement votre décision d’utiliser les commandes générées par CLI de GitHub Copilot. Malgré la présence de dispositifs de sécurité, vous devez comprendre que l’exécution de commandes comporte des risques inhérents. CLI de GitHub Copilot fournit un ensemble d’outils puissant, mais vous devez aborder ses recommandations avec prudence et vous assurer que les commandes s’alignent sur vos intentions et exigences.

Lectures complémentaires

  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)
    
  •         [
            GitHub Copilot Centre de gestion de la confidentialité](https://copilot.github.trust.page/)