Une requête est une requête que vous adressez à GitHub Copilot. Par exemple, une question que vous posez à Tchat Copilot, ou un extrait de code que vous demandez à Copilot de compléter. En plus de votre invite, Copilot utilise un contexte supplémentaire, comme le code dans votre fichier actuel et l’historique de conversation, pour générer une réponse.
Suivez les instructions de cet article pour écrire des prompts qui engendrent de meilleures réponses de Copilot.
Commencer de manière générale, puis préciser
Lors de l’écriture d’une invite 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.
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 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, vous pouvez utiliser Copilot pour écrire des tests unitaires pour la fonction. Ensuite, vous pouvez demander à Copilot d’écrire une fonction décrite par ces tests unitaires.
Diviser les tâches complexes en tâches plus simples
Si vous souhaitez que Copilot effectue une tâche complexe ou volumineuse, divisez la tâche en plusieurs petites tâches simples.
Par exemple, au lieu de demander à Copilot de générer un puzzle de recherche de mots, décomposez le processus en plus petites tâches 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 « que fait ceci » si « ceci » peut désigner le fichier actuel, la dernière réponse de Copilot 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.
Préciser le code approprié
Si vous utilisez Copilot dans votre IDE pour obtenir des suggestions à mesure que vous codez, ouvrez les fichiers pertinents et fermez les fichiers non pertinents. Copilot utilise les fichiers ouverts pour comprendre votre requête.
Si vous utilisez Tchat Copilot dans votre IDE, ouvrez le fichier ou mettez en surbrillance le code auquel vous souhaitez que Copilot fasse référence. Vous pouvez également utiliser des mots-clés pour fournir manuellement du contexte à Tchat Copilot. Par exemple, vous pouvez ajouter le participant à la conversation @workspace dans VS Code, ou @project dans les IDE JetBrains. Consultez Aide-mémoire pour GitHub Copilot Chat.
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 Tchat Copilot, vous pouvez faire référence à la réponse précédente dans votre prochaine requête. Vous pouvez également supprimer la réponse précédente et recommencer.
Conserver un historique pertinent
Tchat Copilot utilise l'historique des discussions pour obtenir le contexte de votre demande. Pour ne donner à Copilot que l’historique pertinent :
- utilisez des threads pour démarrer une nouvelle conversation pour une nouvelle tâche ;
- supprimez les requêtes qui ne sont plus pertinentes ou qui ne vous ont pas donné le résultat souhaité ;
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 qu’il est facile à lire. Par exemple :
- utilisez un style et des modèles de code cohérents ;
- utilisez des noms descriptifs pour les variables et les fonctions ;
- commentez votre code ;
- structurez votre code en composants modulaires et délimités ;
- incluez des tests unitaires.
Utilisez Copilot pour aider votre code à suivre les meilleures pratiques. Par exemple, demandez à Copilot d’ajouter des commentaires ou de diviser une fonction volumineuse en fonctions plus petites.
Pour approfondir
-
[Comment utiliser GitHub Copilot : prompts, conseils et cas d’utilisation](https://github.blog/2023-06-20-how-to-write-better-prompts-for-github-copilot/?ref_product=copilot&ref_type=engagement&ref_style=text) dans le blog de GitHub -
[Using GitHub Copilot dans votre IDE : conseils, astuces et bonnes pratiques](https://github.blog/2024-03-25-how-to-use-github-copilot-in-your-ide-tips-tricks-and-best-practices/?ref_product=copilot&ref_type=engagement&ref_style=text) dans le blog GitHub -
[Guide d’un développeur sur l’ingénierie des requêtes et les LLM](https://github.blog/2023-07-17-prompt-engineering-guide-generative-ai-llms/) dans le blog GitHub -
[Utiliser des requêtes avec GitHub Copilot Chat pour en faire votre assistant IA personnel pour l’accessibilité](https://github.blog/2023-10-09-prompting-github-copilot-chat-to-become-your-personal-ai-assistant-for-accessibility/?ref_product=copilot&ref_type=engagement&ref_style=text) dans le blog GitHub