# GitHub Copilot CLI を用いた調査

/researchスラッシュ コマンドを使用して、複雑なトピックを調査し、コードベース、GitHub上のリポジトリ、Web ソースから出典付きレポートを生成します。

## 研究について Copilot CLI

`/research`スラッシュ コマンドは、特殊な研究エージェントを呼び出します。 トピックを調査し、引用付きの Markdown レポートを生成します。 エージェントは、ローカル コードベース、組織全体のパブリックおよびアクセス可能なプライベート リポジトリ、および Web から情報を収集できます。

リサーチは、詳細な調査を必要とする複雑な質問に最適化されています。
Copilot サーフェスにわたる研究の概要については、[エージェントで調査する](/ja/copilot/concepts/agent-capabilities/choosing-and-delegating-agent-work/researching-with-agents) を参照してください。

## 研究調査の実行

1. 対話型 Copilot CLI セッションで、入力します:

   ```copilot copy
   /research TOPIC
   ```

`TOPIC`を、調査したい内容を自然言語で説明したものに置き換えます。

1. メッセージが表示されたら、エージェントに必要なアクセス許可を確認して承認します。 たとえば、エージェントは、調査のコンパイル中にデータを格納するディレクトリを作成する許可を要求できます。
2. 調査が完了するまで待ちます。
   Copilot には、主要な結果の概要が表示されます。 また、完全な Markdown レポートへのリンクも提供します。
3. レポートのソースと文書化された前提条件を含めて、レポートを確認します。

## 効果的な研究プロンプトの作成

質問、その範囲、および必要な応答の種類を指定してください。 関連する場合は、調査するリポジトリ、コンポーネント、テクノロジ、制約、または期間を含めてください。

研究エージェントは、そのレポートを質問に適応させます。

* プロセスの質問は、通常、ステップバイステップのガイダンスを提供します。
* 概念的な質問は、通常、叙述的な説明とトレードオフを生み出します。
* 技術的な詳細には、アーキテクチャ図やコード例を含めることができます。

研究のプロンプトの例と、それらがうまく機能する理由の説明を次に示します。

### Codebase アーキテクチャ

```copilot copy
/research What is the architecture of this codebase?
```

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

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

```copilot copy
/research How does React implement concurrent rendering?
```

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

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

```copilot copy
/research How are feature flags implemented at our organization?
```

**適切に機能する理由**: エージェントは明示的に、"常にパブリック/オープンソースの代替よりも内部/プライベート実装に優先順位を付ける" よう指示され、最初に `org:ORGNAME` クエリを使用して組織のリポジトリを検索します。
`-hub`、`-service`、`-client`などの内部名前付けパターンを探す必要があります。

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

```copilot copy
/research What's the difference between JWT and session-based authentication?
```

**適切に機能する理由**: エージェントは、説明、トレードオフ、設計上の決定を含む"概念/説明の質問" への応答を調整します。 通常、テーブルは 3 つ以上の項目の比較に使用されます。

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

```copilot copy
/research How do I add an endpoint to the API?
```

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

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

```copilot copy
/research How is the session management system implemented in this repo?
```

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

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

調査が完了したら、表示されたリンクを使用して、既定の Markdown エディターで完全なレポートを開いてください。 または、+<kbd></kbd><kbd>Y</kbd> キーを押して、現在のセッションの最新の研究レポートを開きます。

> \[!NOTE] <kbd>Ctrl</kbd>+<kbd>Y</kbd> で使用するエディターは、`COPILOT_EDITOR`、`VISUAL`、または`EDITOR`環境変数によって、その順序で決定されます。 Linux および macOS では、これらの変数のいずれも設定されていない場合、 Copilot CLI は vi を使用します。

調査レポートを含む GitHub gist を作成するには、次のように入力します。

```copilot copy
/share gist research
```

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

```copilot copy
/share file research [PATH]
```

`[PATH]`を省略した場合、レポートは現在の作業ディレクトリに保存され、研究トピックに基づいてファイル名が付けられます。

方向キーと <kbd>Enter</kbd> キーを使用して、現在のセッション中に作成されたレポートを選択します。
Copilot CLI では、gist の URL または保存されたファイルへのパスが表示されます。

## Considerations

* **リサーチ レポートはセッションに属します**: レポート ピッカーと <kbd>Ctrl</kbd>+<kbd>Y</kbd> ショートカットには、現在のセッションからのレポートのみが表示されます。
  `~/.copilot/session-state/SESSION-ID/research/`では、以前のセッションのレポートに引き続きアクセスできます。
* **リサーチでは専用モデルが使用されます**：リサーチ エージェントは、メイン セッションで選択したモデルに関係なく、構成済みのモデルを使用します。
  `/model`を使用して研究モデルを変更することはできません。
* **調査には通常のチャットよりも時間がかかります**。エージェントは複数のソースを検索し、詳細なレポートを生成します。 すばやく、範囲が限定された質問には、通常のプロンプトを使用します。
* **リサーチはコードを変更しません**。リサーチワークフローは、プロジェクトを変更するのではなく、調査結果を生成します。 変更を実装する準備ができたら、通常のエージェント タスクを開始または再開してください。