Skip to main content

GitHub Copilot CLI(コマンドラインインターフェース) でリサーチする

スラッシュ コマンドを使用すると、Copilot がリサーチ アシスタントの役割を果たし、トピックに関する詳細な情報と洞察を集めます。

イントロダクション

Copilot CLI の スラッシュコマンドは、徹底的な調査と検討のための強力なツールです。 を入力し、その後に知りたいことの詳細を入力すると、Copilot は、コードベース、関連する GitHub リポジトリ、および Web から情報を収集して処理する特殊なリサーチ エージェントをアクティブ化します。 この組み込みのカスタム エージェントは、引用文献を含む包括的な Markdown レポートと CLI の簡単な概要を生成します。 完全なレポートを表示し、GitHub で gist として保存できるため、簡単に共有できます。

このコマンドは、コードベース、API、ライブラリ、ソフトウェア アーキテクチャ、およびその他の技術的なトピックに関する複雑な質問に対する包括的で適切に引用された回答を提供するように設計されています。

スラッシュ コマンドの使用

対話型 CLI セッションで、次のように入力します。

Copilot prompt
/research TOPIC

ここでは、探したい内容についての自然言語による説明です。

CLI に付与したアクセス許可に応じて、Copilot は、調査のコンパイル時にデータを格納するディレクトリを作成するためのアクセス許可を付与するように求められる場合があります。

調査が完了すると、Copilot に主要な結果の概要が表示され、完全なレポートを含む Markdown ファイルへのリンクが表示されます。

調査レポートの表示と共有

調査が完了したときに表示されるリンクを使用して、Markdown ファイルの既定のエディターで完全なレポートを表示できます。

または、CtrlY キーを押して、現在のセッションの最新の研究レポートをターミナルで開きます。

メモ

CtrlY キーを押したときにレポートを表示するために使用されるアプリケーションは、、、または環境変数の値によって決定されます (優先順位の順)。 これらのいずれかが設定されていない場合、CLI は Linux 上で vi または macOS 上の vim を使用します。

レポートを共有するには、ファイルに保存するか、 GitHub gist を作成します。

  1. gist を作成するには、次のように入力します。

    Copilot prompt
    /share gist research
    

    ファイルに保存するには、次のように入力します。

    Copilot prompt
    /share file research [PATH]
    

    パラメーターを省略した場合、ファイルは現在の作業ディレクトリに保存され、リサーチ トピックに基づいてファイル名が付けられます。

  2. アップ/ダウンキーを使用し、キーを入力して、現在のセッション中に作成したリサーチ レポートの一覧から共有するレポートを選択します。

    GIST の URL、またはファイルへのパスが CLI に表示されます。

の利点

  • 速度を超える深さ:通常のチャットは、迅速な回答のために最適化されています。 徹底的に最適化されたシステムです。 アーキテクチャ図、コード スニペット、引用文献を使用して、数百行の長さのレポートを生成します。

  • 保存された出力と共有可能な出力: レポートは Markdown ファイルとしてディスクに保存されます。 いつでも表示および共有できます。 これにより、研究の出力は、一時的なチャット メッセージではなく、永続的な成果物になります。

  • リポジトリ間で動作します。GitHub にログインすると、エージェントは組織のリポジトリ全体を検索したり、パブリックまたはアクセス可能なプライベート リポジトリからファイルをフェッチしたり、Web を検索したりできます。ローカル コードベースに限定されるわけではありません。

  • クエリ型の適応: 標準のすべてに適したレポートを生成するのではなく、応答形式があなたの質問の種類に応じて自動的に適応します。具体的には、ハウツーに関する質問、概念的な質問、技術的な詳細を深く掘り下げる要求に対して、それぞれ異なる形式で応答します。

  • 自律的な操作:エージェントは明確な質問を中断することはありません。 妥当な仮定を行い、「信頼度評価」セクションに明示的に文書化します。

のプロンプト例

Codebase アーキテクチャ

Copilot prompt
/research What is the architecture of this codebase?

適切に機能する理由: リサーチ エージェントは、現在の作業ディレクトリを対象とする 、 、および ツールにアクセスできます。 完全なプロジェクト ツリーの探索、キー ファイルの読み取り、アーキテクチャの概要の合成を行うことができます。通常のチャット応答では、表面的にしか行わない場合があります。 通常、エージェントはアーキテクチャ図、コンポーネントの内訳、およびデータ フローの説明を生成します。

特定のテクノロジのしくみ

Copilot prompt
/research How does React implement concurrent rendering?

適切に機能する理由: エージェントは、特殊なツールを使用してインターネットから情報をプルし、GitHub で実際の React ソース コードを確認します。 ドキュメントよりもコードに優先順位を付け、ファイル パスに行番号を付けることを指示します。

内部実装パターンについて

Copilot prompt
/research How are feature flags implemented at our organization?

適切に機能する理由: エージェントは明示的に、"常にパブリック/オープンソースの代替よりも内部/プライベート実装に優先順位を付ける" よう指示され、最初に クエリを使用して組織のリポジトリを検索します。 それは、、などの内部命名規則を探すことを知っています。

テクノロジまたはアプローチの比較

Copilot prompt
/research What's the difference between JWT and session-based authentication?

なぜそれがうまく機能するのか: エージェントは、概念的/説明的な質問に対する応答を、物語的な説明、トレードオフ、設計上の決定を考慮し調整します。 通常、テーブルは 3 つ以上の項目の比較に使用されます。

プロセス/ハウツーの質問

Copilot prompt
/research How do I add an endpoint to the API?

適切に機能する理由: エージェントは、クエリの種類を検出し、プロセス/ハウツー型の質問に関連するドキュメント、連絡先、システムへのリンクを含むステップ バイ ステップ ガイダンスを提供するようにトレーニングされています。

特定のコードベース コンポーネントの詳細な検討

Copilot prompt
/research How is the session management system implemented in this repo?

適切に機能する理由: ローカル ツール (、、) とエージェントの指示を組み合わせて、"インポート、呼び出し、型参照をトレースする" と "依存関係に従う" ということは、単に高レベルの回答を得るだけでなく、実際の実装について説明することを意味します。

使用を避けるべき時

  • 簡単で簡単な質問: "この関数は何をしますか? または"このバグを修正", 通常のチャットメッセージは、より速く、より適切です. は、広範な調査が必要な質問用に設計されています。

  • コードの変更が必要な場合: は、コードの変更ではなく、レポートを生成します。 ツールを使用してレポート ファイルを保存しますが、、、その他のコード変更ツールは使用しません。 エージェントで実際にコードを変更する必要がある場合は、通常のプロンプトを使用します (通常はプラン モードから開始します)。

  • 時間に依存する相互作用: エージェントは多数のツール呼び出し (コードの検索、ファイルのフェッチ、Web の検索) を行うため、通常の応答よりも時間がかかります。 コーディングの流れで迅速な回答が必要な場合は、通常のチャットが適しています。

考慮事項と注意すべき事項

  • レポートはセッションに関連付けられます。リサーチ レポートはセッション固有のリサーチ ディレクトリに格納されます。 新しいセッションを開始した場合、 CtrlY ショートカットまたは スラッシュ コマンドを使用すると、CLI 内で以前の調査を使用できなくなります。 ただし、適切な ディレクトリから以前のレポートにアクセスできます。

    Linux または macOS では、ターミナル コマンド プロンプトで次のコマンドを使用して、最新の 10 個の CLI セッション ディレクトリを一覧表示できます。

    Bash
    ls -dtl ~/.copilot/session-state/*/ | head -10
    
  • リサーチ エージェントは特定のモデルを使用します。リサーチ エージェントは、特定の AI モデルを使用するようにハードコーディングされています ( AUTOTITLE を参照)。 モデルの選択は、 コマンドでは構成できません。 リサーチ エージェントは、メイン セッションに対して選択したモデルに関係なく、定義されたモデルを常に使用します。

  • レポートの品質はクエリの種類によって異なります。エージェントはクエリを 3 種類に分類し、それに応じて応答を調整します。

    • ステップ バイ ステップ ガイダンス→プロセスの質問 (最小限のコード)。
    • 概念的な質問→ コンテキストを含む説明です。
    • 技術的な詳細 →アーキテクチャ図、コンポーネント セクション、およびコード例の完全な説明です。

    プロンプトの表現方法は、エージェントによる調査分類の選択に影響する可能性があります。 たとえば、技術的な詳細が必要な場合に、質問を "X とは何か" と表現すると、概念的な回答が得られる場合があります。 このような場合、Copilot に生成してほしいレポートの種類をより明確にするよう、プロンプトを言い換えることができます。 例: "アーキテクチャ図とコード例を使用して、X に関する技術的な詳細を説明します。"

詳細については、次を参照してください。

  • AUTOTITLE
  • AUTOTITLE