Une requête est une demande que vous adressez à GitHub Copilot. Par exemple, vous pouvez poser une question, décrire une tâche ou écrire un extrait de code pour que Copilot le complète. En plus de votre invite, Copilot utilise un contexte tel que le code dans votre fichier actuel et votre historique de conversation pour générer une réponse.
Vous interagissez avec Copilot sur de nombreuses surfaces, notamment le GitHub Copilot app, GitHub Copilot CLIdans votre IDE (Visual Studio Code, Visual Studio, JetBrains IDEs, Eclipse et Xcode) et sur le site web GitHub.
À partir du site web GitHub Copilot app ou du site web GitHub, vous pouvez également démarrer un Copilot cloud agent — un agent qui travaille sur une tâche pour vous — au lieu de travailler avec Copilot de manière interactive.
Les conseils de cet article s’appliquent sur l’ensemble des surfaces Copilot pour vous aider à écrire des prompts qui génèrent de meilleures réponses.
Commencer de manière générale, puis préciser
Lorsque vous rédigez un prompt pour Copilot, commencez par donner à Copilot une description générale de l’objectif ou du scénario. Ensuite, répertoriez les exigences spécifiques. Mettez d’abord vos exigences les plus importantes. Copilot donne un poids supplémentaire aux instructions au début et à la fin d’un prompt.
Par exemple:
Write a JavaScript function that tells me if a number is prime The function should take an integer and return true if the integer is prime The function should error if the input is not a positive integer
Write a JavaScript function that tells me if a number is prime The function should take an integer and return true if the integer is prime The function should error if the input is not a positive integer
Write a JavaScript function that tells me if a number is prime
The function should take an integer and return true if the integer is prime
The function should error if the input is not a positive integer
Donner des exemples
Utilisez des exemples pour vous aider Copilot à comprendre ce que vous souhaitez. Vous pouvez fournir des exemples de données d’entrée, des exemples de sorties et des exemples d’implémentations.
Par exemple:
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
Les tests unitaires peuvent également servir d’exemples. Avant d’écrire votre fonction, utilisez Copilot pour écrire des tests unitaires pour la fonction. Ensuite, demandez à Copilot d’écrire une fonction décrite par ces tests unitaires.
Diviser les tâches complexes en tâches plus simples
Si vous souhaitez Copilot effectuer une tâche complexe ou volumineuse, divisez la tâche en plusieurs tâches simples et petites.
Par exemple, au lieu de demander à Copilot de générer une grille de mots mêlés, décomposez le processus en tâches plus petites et demandez à Copilot de les accomplir une par une :
- Écrire une fonction pour générer une grille de lettres de 10 par 10.
- Écrire une fonction pour rechercher tous les mots dans une grille de lettres, en fonction d’une liste de mots valides.
- Écrire une fonction qui utilise les fonctions précédentes pour générer une grille de 10 par 10 lettres contenant au moins 10 mots.
- Mettre à jour la fonction précédente pour imprimer la grille des lettres et 10 mots aléatoires à partir de la grille.
Évitez les ambiguïtés
Évitez les termes ambigus. Par exemple, ne demandez pas ce que cela fait si « cela » peut être le fichier actuel, la dernière Copilot réponse ou un bloc de code spécifique. Dans ce cas, soyez spécifique :
- Que fait la fonction
createUser? - Que fait le code dans votre dernière réponse ?
L’ambiguïté peut également s’appliquer aux bibliothèques :
- Si vous utilisez une bibliothèque peu courante, décrivez ce qu’elle fait.
- Si vous souhaitez utiliser une bibliothèque spécifique, définissez les instructions d’importation en haut du fichier ou spécifiez la bibliothèque que vous souhaitez utiliser.
Énoncez les règles et exigences directement plutôt que sous forme de méta-instructions. Par exemple, écrivez « Renvoyer le résultat au format JSON » au lieu de « Renvoyez toujours du JSON ».
Fournir un contexte pertinent
Copilot utilise le contexte disponible pour comprendre votre prompt. La façon dont vous fournissez ce contexte dépend de la surface que vous utilisez.
- Saisie semi-automatique du code dans votre IDE : ouvrez tous les fichiers pertinents et fermez les fichiers non pertinents. Copilot utilise vos fichiers ouverts pour comprendre votre demande.
- Copilot dans votre IDE ou sur le site web GitHub : mettez en surbrillance le code que vous voulez que Copilot référence et utilisez des mots clés pour associer du contexte. Par exemple, tapez
@dans votre invite de commande pour joindre des éléments tels que des fichiers, des problèmes, des pull requests ou des référentiels. Certains IDE prennent également en charge les commandes slash (telles que/fixet/tests), les variables et d’autres options pour améliorer votre expérience avec Copilot. - GitHub Copilot CLI: attachez un fichier du dépôt avec
@path, ou référencez un GitHub problème ou pull request avec#number. Pour le contexte de référentiel que vous souhaitez réutiliser, ajoutez des instructions personnalisées telles qu’un fichier.github/copilot-instructions.md, des fichiers d’instructions spécifiques au chemin d’accès ou un fichierAGENTS.md. - Copilot cloud agent: définissez le périmètre de la tâche en sélectionnant le référentiel et la branche de base, puis décrivez l’objectif, les critères d’acceptation et les fichiers pertinents. Joignez des captures d’écran ou des maquettes lorsque le contexte visuel importe. Démarrez la tâche à partir d’une session de conversation lorsque la discussion existante doit être reprise dans la tâche ; sinon, incluez cet arrière-plan dans l’invite de tâches. Conservez des conseils durables dans les fichiers d’instructions propres au référentiel, au chemin d’accès ou à l’agent.
Expérimentez et itérez
Si vous n’obtenez pas le résultat souhaité, modifiez votre demande et réessayez.
Si vous utilisez Copilot pour obtenir des suggestions à mesure que vous codez, vous pouvez supprimer entièrement la suggestion et recommencer. Vous pouvez également conserver la suggestion et demander des modifications.
Si vous utilisez Copilot Chat, vous pouvez référencer la réponse précédente dans votre requête suivante. Vous pouvez également supprimer la réponse précédente et recommencer.
Conserver un historique pertinent
Les surfaces conversationnelles (le GitHub Copilot app, GitHub Copilot CLIdans Copilot votre IDE ou sur GitHub, et le Copilot cloud agent) utilisent votre historique des conversations comme contexte. Pour ne donner Copilot que l’historique pertinent :
- Démarrez une nouvelle conversation ou une nouvelle session lorsque vous commencez une nouvelle tâche.
- Si votre plateforme le permet, supprimez ou annulez les tours de conversation qui ne sont plus pertinents. Par exemple, GitHub Copilot CLI vous permet de démarrer une nouvelle session, de supprimer des sessions et de rembobiner vers un prompt antérieur avec
/undoou/rewind. Le Copilot cloud agent permet de démarrer une nouvelle tâche et d’arrêter ou d’archiver une session, mais ne permet pas de supprimer une session ou de rembobiner des tours individuels.
Passer en revue le résultat de Copilot
Validez le code et les réponses générés par l’IA de la même façon que vous examinez le travail d’un collègue : évaluez, testez et confirmez l’exactitude avant de vous appuyer dessus. Cela s’applique à toutes les Copilot surfaces. Pour plus d’informations, consultez « Passer en revue le code généré par l’IA ».
et suivez les bonnes pratiques de codage.
Si vous n’obtenez pas les réponses souhaitées lorsque vous demandez Copilot des suggestions ou des explications dans votre codebase, assurez-vous que votre code existant suit les meilleures pratiques et est facile à lire. Par exemple:
- Utilisez des modèles et un style de code cohérents.
- Utilisez des noms descriptifs pour les variables et les fonctions.
- Commentez votre code.
- Structurez votre code sous forme de composants modulaires et étendus.
- Incluez des tests unitaires.
Conseil
Utilisez cette méthode Copilot pour aider votre code à suivre les meilleures pratiques. Par exemple, demandez Copilot à ajouter des commentaires ou à interrompre une fonction volumineuse en fonctions plus petites.
Pour en savoir plus
- Aide-mémoire pour GitHub Copilot Chat
- Comment utiliser GitHub Copilot : invites, conseils et cas d’usage dans le GitHub blog
- Utilisation de GitHub Copilot dans votre IDE : conseils, astuces et bonnes pratiques dans le GitHub blog
- Guide du développeur sur le prompt engineering et les LLM sur le blog GitHub
- Inviter GitHub Copilot Chat à devenir votre assistant IA personnel pour l’accessibilité dans le GitHub blog