Présentation
Copilot CLI dispose d'une commande en barre oblique qui est un outil puissant pour la recherche approfondie et l’investigation. Lorsque vous entrez suivi des détails de ce que vous voulez savoir, Copilot active un agent de recherche spécialisé qui collecte et traite des informations à partir de votre base de code, à partir des référentiels GitHub pertinents et du web. Cet agent personnalisé intégré produit un rapport Markdown complet avec des citations, ainsi qu’un bref résumé dans l’interface CLI. Vous pouvez afficher le rapport complet et l’enregistrer en tant que gist sur GitHub, ce qui facilite le partage.
La commande est conçue pour fournir des réponses exhaustives et bien citées à des questions complexes sur les bases de code, les API, les bibliothèques, l’architecture logicielle et d’autres sujets techniques.
Utilisation de la commande barre oblique
Dans une session CLI interactive, entrez :
/research TOPIC
/research TOPIC
Où est une description du langage naturel de ce que vous souhaitez savoir.
Selon les autorisations que vous avez accordées à l’interface CLI, Copilot peut vous demander d’accorder l’autorisation de créer un répertoire dans lequel stocker des données lors de la compilation de la recherche.
Une fois la recherche terminée, Copilot affiche un résumé des résultats clés et vous donne un lien vers un fichier Markdown contenant le rapport complet.
Affichage et partage d’un rapport de recherche
Vous pouvez utiliser le lien affiché lorsque la recherche est terminée pour afficher le rapport complet dans votre éditeur par défaut pour les fichiers Markdown.
Vous pouvez également appuyer sur CtrlY pour ouvrir le rapport de recherche le plus récent de la session actuelle dans le terminal.
Remarque
L'application utilisée pour afficher un rapport lorsque vous appuyez sur Ctrl Y est déterminée par la valeur des variables d'environnement , , ou (dans cet ordre de préférence). Si aucun de ces éléments n’est défini, l’interface CLI utilise vi sur Linux ou vim sur macOS.
Pour partager le rapport, vous pouvez l’enregistrer dans un fichier ou créer un gist GitHub.
-
Pour créer un gist, entrez :
Copilot prompt /share gist research
/share gist researchPour enregistrer dans un fichier, entrez :
Copilot prompt /share file research [PATH]
/share file research [PATH]Si vous omettez le paramètre, le fichier est enregistré dans le répertoire de travail actif avec un nom de fichier basé sur la rubrique de recherche.
-
Utilisez les clés haut/bas et entrez les clés pour sélectionner le rapport que vous souhaitez partager dans la liste des rapports de recherche que vous avez créés pendant la session active.
L’URL du gist, ou le chemin d’accès au fichier, s’affiche dans l’interface CLI.
Avantages de
-
Priorité à la profondeur plutôt qu'à la vitesse : le chat normal est optimisé pour des réponses rapides. est optimisé pour la complétude. Il produit des rapports qui peuvent être des centaines de lignes longues, avec des diagrammes d’architecture, des extraits de code et des citations.
-
Sortie enregistrée et partageable : les rapports sont enregistrés sur disque sous forme de fichiers Markdown. Vous pouvez les afficher et les partager à tout moment. Cela rend la sortie de recherche un artefact permanent, plutôt qu’un message de conversation temporaire.
-
Fonctionne dans les référentiels : lorsqu’il est connecté à GitHub, l’agent peut effectuer une recherche dans les référentiels de votre organisation, extraire des fichiers à partir de n’importe quel dépôt privé public ou accessible et effectuer une recherche sur le web, ce n’est pas limité à votre base de code locale.
-
Adaptation du type de requête : Plutôt que de générer un rapport uniforme, le format de réponse s'adapte automatiquement selon que vous posiez une question pratique, une question conceptuelle, ou que vous demandiez une analyse technique approfondie.
-
Opération autonome : l’agent ne vous interrompt jamais avec des questions de clarification. Il fait des hypothèses raisonnables et les documente explicitement dans une section « Évaluation de la confiance ».
Exemples d’invites pour
Architecture de la base de code
/research What is the architecture of this codebase?
/research What is the architecture of this codebase?
Pourquoi ça fonctionne bien : l’agent de recherche a accès à des outils spécifiques à votre répertoire de travail actuel. Il peut explorer l’arborescence complète du projet, lire les fichiers clés et synthétiser une vue d’ensemble architecturale , quelque chose qu’une réponse de conversation normale peut faire uniquement superficiellement. L’agent produit généralement des diagrammes d’architecture, des répartitions de composants et des descriptions de flux de données.
Fonctionnement d’une technologie spécifique
/research How does React implement concurrent rendering?
/research How does React implement concurrent rendering?
Pourquoi cela fonctionne bien : l’agent utilise des outils spécialisés pour extraire des informations à partir d’Internet et examiner le code source React réel sur GitHub. Il est demandé de hiérarchiser le code par rapport à la documentation et de fournir des chemins d’accès aux fichiers avec des numéros de ligne.
Présentation des modèles d’implémentation internes
/research How are feature flags implemented at our organization?
/research How are feature flags implemented at our organization?
Pourquoi cela fonctionne bien : l’agent est explicitement invité à « hiérarchiser toujours les implémentations internes/privées sur les alternatives publiques/open source » et à rechercher d’abord les référentiels de l’organisation à l’aide de requêtes. Il sait rechercher des modèles d’affectation de noms internes comme , .
Comparaison des technologies ou approches
/research What's the difference between JWT and session-based authentication?
/research What's the difference between JWT and session-based authentication?
Pourquoi cela fonctionne bien : l’agent adapte sa réponse à « Questions conceptuelles/explicatifs » avec des explications narratives, des compromis et des décisions de conception. Il utilise généralement des tables pour les comparaisons de trois éléments ou plus.
Questions de processus/procédures
/research How do I add an endpoint to the API?
/research How do I add an endpoint to the API?
Pourquoi cela fonctionne bien : l’agent est formé pour détecter le type de requête et fournir des instructions pas à pas avec des liens vers des documents, des contacts et des systèmes pertinents pour les questions de type processus/procédure.
Plongée approfondie dans un composant de base de code spécifique
/research How is the session management system implemented in this repo?
/research How is the session management system implemented in this repo?
Pourquoi cela fonctionne bien : la combinaison d’outils locaux (, , ) avec les instructions de l’agent pour « tracer les importations, les appels et les références de type » et « suivre les dépendances » signifie qu’il va parcourir l’implémentation réelle, pas seulement donner une réponse de haut niveau.
Quand vous ne souhaiterez peut-être pas utiliser
-
Questions simples : Si vous voulez simplement savoir « Que fait cette fonction ? » ou « Corriger ce bogue », un message de conversation normal est plus rapide et plus approprié. est conçu pour des questions nécessitant une enquête approfondie.
-
Lorsque vous avez besoin de modifications de code : produit un rapport, et non des modifications de code. Il utilise l’outil pour enregistrer le fichier de rapport, mais n’utilise pas , ou d’autres outils de modification de code. Si vous avez besoin que l'agent modifie effectivement votre code, utilisez une invite normale (généralement en mode planification).
-
Interactions temporelles : la recherche prend plus de temps qu’une réponse normale, car l’agent effectue de nombreux appels d’outils (recherche de code, extraction de fichiers, recherche sur le web). Si vous avez besoin d’une réponse rapide dans le flux de codage, la conversation normale est meilleure.
Considérations et éléments à prendre en compte
-
Les rapports sont liés à votre session : les rapports de recherche sont stockés dans un répertoire de recherche spécifique à la session. Si vous démarrez une nouvelle session, la recherche précédente ne sera pas disponible dans l’interface CLI lorsque vous utilisez le raccourci CtrlY ou la commande de barre oblique. Toutefois, vous pouvez accéder aux rapports précédents à partir du répertoire approprié .
Dans Linux ou macOS, vous pouvez utiliser la commande suivante à l’invite de commandes du terminal pour répertorier les 10 répertoires de session CLI les plus récents :
Bash ls -dtl ~/.copilot/session-state/*/ | head -10
ls -dtl ~/.copilot/session-state/*/ | head -10 -
L’agent de recherche utilise un modèle spécifique : l’agent de recherche est codé en dur pour utiliser un modèle IA particulier (voir AUTOTITLE). La sélection du modèle n’est pas configurable via la commande. L’agent de recherche utilise toujours le modèle défini, quel que soit le modèle que vous avez sélectionné pour votre session principale.
-
La qualité des rapports varie selon le type de requête : l’agent classifie votre requête en trois types et adapte sa réponse en conséquence :
- Questions de processus → instructions pas à pas (code minimal).
- Questions conceptuelles → explication narrative avec contexte.
- Présentations techniques approfondies → diagrammes d’architecture complets, sections de composants et exemples de code.
La façon dont vous formulez vos instructions peut affecter la classification de recherche choisie par l’agent. Par exemple, si vous souhaitez une présentation technique approfondie, mais que vous formulez votre question comme « Qu’est-ce que X ? », vous pouvez obtenir une réponse conceptuelle. Dans ce cas, vous pouvez reformuler votre invite pour être plus explicite sur le type de rapport que vous souhaitez Copilot à produire. Par exemple : « Donnez-moi une présentation technique approfondie de X, avec des diagrammes d’architecture et des exemples de code ».
Lectures complémentaires
- AUTOTITLE
- AUTOTITLE