Skip to main content

Utilisation responsable de GitHub Copilot CLI

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

Qui peut utiliser cette fonctionnalité ?

GitHub Copilot CLI est disponible avec les plans GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business et GitHub Copilot Enterprise.

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

À propos de GitHub Copilot CLI

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

GitHub Copilot CLI peut générer des modifications sur mesure en fonction de votre description et de vos configurations, y compris des tâches telles que la correction de bogues, la mise en œuvre de nouvelles fonctionnalités incrémentielles, le prototypage, la documentation et la maintenance de codebase.

Pendant son travail, l’assistant Copilot a accès à votre environnement de terminal local, où il peut modifier votre code, exécuter des tests automatisés, lancer des linters et exécuter les commandes disponibles dans votre environnement.

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

L’assistant fonctionne en utilisant une combinaison de traitement du langage naturel et d’apprentissage automatique pour comprendre votre tâche et apporter des modifications dans le codebase afin de la compléter. Ce processus peut être divisé en plusieurs étapes.

Traitement de l’entrée

Le prompt d’entrée de l’utilisateur est combiné à d’autres informations contextuelles pertinentes pour former un prompt. Cette invite est envoyée à un modèle de langage volumineux pour le traitement. Les entrées peuvent prendre la forme de langage naturel simple, 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 la raison de l’agent sur la tâche et tirer parti des outils nécessaires.

Génération de la réponse

Le modèle de langage génère une réponse en fonction de son analyse de la demande entrée. Cette réponse peut prendre la forme de suggestions en langage naturel, de suggestions de code, de modifications de fichiers et d’exécutions de commandes.

Mise en forme de la sortie

La réponse générée par l’assistant est formatée et vous est présentée. GitHub Copilot CLI utilise la coloration syntaxique, l’indentation et d’autres fonctionnalités de formatage pour clarifier la réponse générée.

L’assistant peut également vouloir 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’assistant après qu’il ait renvoyé une réponse dans la fenêtre de conversation interactive. L'agent soumettra ensuite ce retour d'information au modèle linguistique pour une analyse plus approfondie. Une fois que l’assistant a effectué les modifications en fonction des commentaires, il renvoie une réponse supplémentaire.

Copilot est destiné à vous fournir la solution la plus pertinente pour la résolution des tâches. Cependant, il peut ne pas toujours fournir 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éliorer les résultats de GitHub Copilot CLI, plus loin dans cet article.

Cas d’utilisation pour GitHub Copilot CLI

Vous pouvez déléguer une tâche à Copilot dans une variété de scénarios, y compris, mais sans s'y limiter :

  • Maintenance du codebase : correction des problèmes liés à la sécurité, mise à niveau des dépendances et refactorisation ciblée.
  • Documentation : Mise à jour et création de nouvelle documentation.
  • Développement de fonctionnalités : implémentation de requêtes de fonctionnalités incrémentielles.
  • Améliorer la couverture des tests : développement de suites de tests supplémentaires pour la gestion de la qualité.
  • Prototypage de nouveaux projets : création de nouveaux concepts à partir de zéro.
  • Configuration de votre environnement : exécution de commandes dans votre terminal pour configurer votre environnement local afin de travailler sur des projets existants
  • Trouver la bonne commande pour effectuer une tâche : Copilot peut vous suggérer des commandes pour effectuer les tâches que vous essayez de réaliser.
  • Expliquer une commande inconnue : Copilot peut fournir une description en langage naturel de la fonctionnalité et de l’objectif d’une commande.

Améliorer les résultats de GitHub Copilot CLI

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

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

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

GitHub Copilot CLI exploite votre prompt comme contexte clé lors de la génération d’une demande de tirage. Plus l’invite que vous affectez à l’agent est plus claire et bien étendue, mieux vous obtiendrez les résultats que vous obtiendrez. Un problème idéal inclut :

  • Une description claire du problème à résoudre ou du travail à effectuer.
  • Compléter les critères d'acceptation sur ce à quoi ressemble une bonne solution (par exemple, doit-il y avoir des tests unitaires ?).
  • Indicateurs ou pointeurs sur les fichiers à modifier.

Personnaliser votre expérience avec un contexte supplémentaire

GitHub Copilot CLI exploite votre prompt, les commentaires et le code du référentiel comme contexte pour générer des modifications suggérées. Pour améliorer les performances de Copilot, envisagez de mettre en œuvre des instructions Copilot personnalisées afin d’aider l’assistant à mieux comprendre votre projet et la manière de générer, tester et valider ses modifications. Pour plus d'informations, consultez la section « Ajouter des instructions personnalisées à votre référentiel » dans Meilleures pratiques pour l’utilisation de GitHub Copilot pour travailler sur des tâches.

Utilisez GitHub Copilot CLI comme un outil et non comme un substitut

Bien que GitHub Copilot CLI puisse être un outil puissant pour générer du code et de la documentation, il est important de l’utiliser comme un outil et non comme un substitut à la programmation humaine. Vous devez toujours passer en revue et vérifier les commandes générées par GitHub Copilot CLI afin de vous assurer qu’elles répondent à vos exigences et qu’elles ne contiennent aucune erreur ou problème de sécurité.

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

Bien que GitHub Copilot CLI puisse générer du code syntaxiquement correct, il n’est pas toujours 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 GitHub Copilot CLI, nous vous recommandons de nous faire part de vos commentaires à l’aide de la commande /feedback.

Mesures de sécurité pour GitHub Copilot CLI

Restriction des autorisations de Copilot

Par défaut, Copilot a uniquement accès aux fichiers et dossiers situés dans et sous le répertoire à partir duquel GitHub Copilot CLI a été invoqué. Assurez-vous que vous faites confiance aux fichiers de ce répertoire. Si Copilot souhaite accéder à des fichiers en dehors du répertoire actuel, il vous demandera l’autorisation. Ne lui accordez l’autorisation que si vous faites confiance au contenu de ce répertoire.

Copilot vous demandera l’autorisation avant de modifier des fichiers. Assurez-vous qu’il modifie les bons fichiers avant de lui accorder l’autorisation.

Copilot demandera également l’autorisation avant d’exécuter des commandes qui pourraient être dangereuses. Passez en revue ces commandes avec attention avant de lui accorder l’autorisation de les exécuter.

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

Limitations de GitHub Copilot CLI

En fonction de facteurs tels que votre codebase et vos données d’entrée, vous pouvez constater différents niveaux de performances lors de l’utilisation de GitHub Copilot CLI. Les informations suivantes ont pour but de vous aider à comprendre les limitations du système et les concepts clés liés aux performances qui s’appliquent à GitHub Copilot CLI.

Étendue limitée

Le modèle de langage utilisé par GitHub Copilot CLI a été entraîné sur un grand nombre de codes, mais son étendue reste limitée et il peut ne pas être en mesure de traiter certaines structures de code ou certains 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 GitHub Copilot CLI et les données d’entraînement et le contexte recueillis par le grand modèle de langage peuvent contenir des biais et des erreurs qui peuvent être perpétués par l’outil. De plus, GitHub Copilot CLI peut favoriser certains langages de programmation ou styles de codage, ce qui peut entraîner des suggestions partielles ou sous-optimales.

Risques liés à la sécurité

GitHub Copilot CLI génère du code et du langage naturel en fonction du contexte d’un problème ou d’un commentaire dans un référentiel, ce qui peut potentiellement exposer des informations sensibles ou des vulnérabilités s’il n’est pas utilisé avec précaution. Vous devez passer attentivement en revue toutes les sorties générées par GitHub Copilot CLI avant de les fusionner.

Code erroné

GitHub Copilot CLI peut générer un code qui semble valide, mais qui n’est pas forcément correct sur le plan sémantique ou syntaxique, ou qui ne reflète pas exactement 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

GitHub Copilot CLI peut générer du code identique ou quasi identique à du code public, même si la stratégie « Suggestions correspondant au code public » est définie sur « Bloquer ». Consultez Gérer les stratégies de GitHub Copilot en tant qu’abonné individuel.

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 IA ne sont pas conçus pour et peuvent ne pas ê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 prudence supplémentaire est requise lorsque vous demandez à GitHub Copilot CLI d’exécuter une commande ou que vous l’autorisez à le faire, en particulier en raison du caractère potentiellement destructeur 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.

De plus, vous êtes responsable des commandes exécutées par GitHub Copilot CLI. La décision d’utiliser les commandes générées par GitHub Copilot CLI vous appartient entièrement. Malgré la présence de dispositifs de sécurité, vous devez comprendre que l’exécution de commandes comporte des risques inhérents. GitHub Copilot CLI fournit un ensemble d’outils puissant, mais vous devez aborder ses recommandations avec prudence et vous assurer que les commandes correspondent à vos intentions et exigences.

Pour aller plus loin