Visual StudioのGitHub Copilot エージェント モードでは、自然言語を使用して高度なタスクを指定できます。 AI はプランを作成し、コードを編集し、ターミナル コマンドを実行し、ツールを呼び出して、コードベース全体に変更を適用します。 ビルド結果、単体テストの失敗、ツールの出力などの結果を監視し、必要に応じて反復処理します。
ask モードとは異なり、エージェント モードは 1 回の応答の後に停止しません。 プロンプトで目標に達するまで、またはより多くの入力が必要になるまで、実行と調整の手順が続行されます。
Prerequisites
Visual Studio 2022 バージョン 17.14 以降が必要です。
エージェント モードを使用する
エージェント モードでは、Copilotは自律的に動作し、プロンプトに関連するコンテキストを決定します。
以下の手順に従って開始しましょう。
- Copilot チャット ウィンドウを開き、Ask を選択してモード ドロップダウンを展開し、Agent を選択します。
プロンプトを入力し、[ 送信 ] を選択するか、 Enter キーを押して送信します。 高レベルの要件を指定することができ、作業するファイルを指定する必要はありません。
エージェント モードでは、複数のツールを呼び出してさまざまなタスクを実行できます。 必要に応じて、[ ツール ] アイコンを選択して、エージェントが要求に応答するために使用できる追加のツールを構成します。
エージェント モードで使用されるその他のツールを示すスクリーンショット。
エージェント モードで使用されるその他のツールを示すスクリーンショット。
- Copilotは、ターミナル コマンドを実行する前、または組み込まれていないツールを使用する前に確認を要求します。
エージェント承認のコマンドを示すスクリーンショット。
エージェント コマンドの承認を示すスクリーンショット。
Copilotは、コード編集またはターミナル コマンドの問題を自動的に検出し、アクションを実行します。 このプロセスは、問題が解決されるまで繰り返されます。
Copilotがリクエストを処理すると、エディター内で提案されたコードの編集が直接ストリーミングされます。 推奨される編集内容を確認し、次のいずれかを行います。
- チャット ウィンドウの [Total changes ]\(チャット ウィンドウの変更の合計\) で、提案された編集内容全体を保持または破棄します。
編集候補の一覧を示すスクリーンショット。
編集候補の一覧を示すスクリーンショット。
- 個々のファイルの相違を確認し、それらを選択的に適用します。
エージェントが行った個々のコード変更を確認する場合は、次のいずれかを実行できます。
- 各手順で特定の変更を確認します。
- 引き続きコードの変更を繰り返して編集を調整するか、より多くの機能を実装します。
エージェント モード ツールについて
エージェント モードでは、要求に応答するために次のツールを使用できます。
- 組み込みツール
- モデル コンテキスト プロトコル (MCP) ツール
ヒント
Visual Studioには、@debug、@profiler、@test、特定の IDE 機能と統合する @vs などの組み込みエージェントも含まれています。 また、チーム ワークフロー用のカスタム エージェントを作成することもできます。 詳細については、「
エージェント モードで使用できるツールを表示および管理するには、チャット ウィンドウで [ツール ] アイコンを選択します。
ツールの結果に基づいて、Copilotは他のツールを呼び出して全体的な要求を実行する場合があります。 たとえば、コード編集によってファイルの構文エラーが発生した場合、Copilot別の方法を調べて、さまざまなコード変更を提案する可能性があります。
MCP サーバーを実行して追加した追加のツールは、自動的には有効になりません。 これらのチェック ボックスは既定でオフになっているので、ツールをアクティブにするには、チェック ボックスをオンにする必要があります。
ツールの承認を管理する
Copilotツールを呼び出すと、ツールを実行するための確認が要求されます。 その理由は、ツールがコンピューター上でローカルに実行され、ファイルまたはデータを変更するアクションを実行する可能性があるためです。
ツールの確認要求を示すスクリーンショット。
ツールの確認要求を示すスクリーンショット。
チャット ウィンドウで、ツールの呼び出し後、[ 許可 ] ドロップダウン オプションを使用して、現在のセッションまたはソリューションの特定のツール、または今後のすべての呼び出しを自動的に確認します。
ツールの確認の選択は、[ ツールオプション ] ウィンドウでリセットできます。 All Settings>GitHub>Copilot>Tools セクションを展開します。
ツールの確認の選択は、[ ツールオプション ] ダイアログでリセットできます。 GitHub>Copilot>Tools セクションを展開します。
編集内容を承諾または破棄する
Copilot、チャット ウィンドウの Total changes リストに編集されたファイルが一覧表示されます。
編集されたファイルの一覧を示すスクリーンショット。
編集されたファイルの一覧を示すスクリーンショット。
各ファイルを選択して、変更を個別に確認します。 コードの各チャンクに対する編集を保持または元に戻すことができます。
または、[ 変更の合計 ] ボックスの一覧で、 最後に [保持 ] または [元に戻す ] を選択した後に行われたすべての編集について 、[保持 ] または [元に戻す] を選択します。
編集内容を元に戻す
コードの編集を要求するときに、いくつかの変更を元に戻したい場合があります。 元に戻すには、不要な変更を含むプロンプトの前にチェックポイントの横にある [ 復元 ] を選択します。
元に戻す編集を示すスクリーンショット。
元に戻す編集を示すスクリーンショット。
現在、Visual Studio Copilot エージェントでは、段階的な元に戻す操作ややり直しはサポートされていません。
エージェント モード要求を中断する
進行中の要求を中断するには、それをキャンセルできます。 要求をキャンセルすると、実行中のすべてのツールとターミナル コマンドが停止します。
ビルドを停止するには、上部のツール バーの [ビルド ] を選択し、[キャンセル] を選択 します。 または、 Ctrl + Break キーボード ショートカットを使用します。
エージェント モードでの計画 (プレビュー)
注
計画は、Visual Studio 2022 バージョン 17.14 でパブリック プレビューで利用できます。 この機能はアクティブな開発中であり、ユーザーのフィードバックに基づいて進化する可能性があります。
エージェント モードの Planning を使用すると、Copilotは、複雑な要求または複数ステップの要求を、実行前に構造化された追跡可能なタスクに分割できます。
計画がアクティブな場合、Copilotが動作します。
- 目標と進行状況の概要を示す ユーザー向けのマークダウン 計画 を作成します。
- ステップ追跡、推論、調整のための LLM 読み取り可能なスクラッチパッドとして機能する内部 JSON プラン () を維持します。
この構造Copilot一貫性を保ち、計画を動的に更新し、開発者が何をしているのかを把握するのに役立ちます。
動作方法
要求分析
タスクに複数のステップが必要な場合、Copilotは計画モードに入ります。
プランの作成
- Markdown プラン: タスク、ステップ、進行状況を読み取り可能な形式で記述します。
- JSON プラン: 同じプランをコンピューターの解析可能な形式でキャプチャする、構造化された LLM 読み取り可能な形式。 この JSON ファイルを使用すると、Copilotはプランを順番に一貫して更新して解釈できます。
実行とイテレーション
Copilotは計画の各ステップを実行し、進行に伴い両方のファイルがその都度更新されます。
- マークダウン計画は、エディターで目に見えて更新されます。
- JSON プランは、Copilotによってステップが調整、並べ替え、または適応されるに従い、裏で進化します。
ストレージ
どちらのファイルも に格納されます。
計画で使用されるツール
計画を有効にすると、専用の内部ツールセットがアクティブになります。 これらのツールは、実行中Copilotプランの作成、更新、および最終処理を行う方法を調整します。
| Tool | Description |
|---|---|
| 計画 | ユーザー要求から初期構造化プランを生成します。 |
| 適応計画 | 新しいコンテキストまたはフィードバックに基づいてプランを改善または調整します。 |
| プラン進捗の更新 | ステップ完了の状態を更新し、プランの状態を同期します。 |
| レコード_オブザベーション | 次のアクションに影響を与える実行時の結果または分析情報をキャプチャします。 |
| 計画の完了 | すべての手順が完了したら、プランを最終処理します。 |
これらのツールを使用すると、Copilotは複数ステップのワークフローを段階的に管理し、実行状態を維持し、ユーザーの意図に合わせて調整することができます。
計画ツールの有効化と管理
計画を有効にするには:
Tools>Options ペインを開きます。 All Settings>GitHub>Copilot>Copilot Chat セクションを展開します。
[ 計画を有効にする] チェック ボックスをオンにします。
Visual Studio 2022 バージョン 17.14 以降で Planning を有効にするには:
Tools>Options ダイアログを開き、 GitHub>Copilot セクションを展開します。
[ 計画を有効にする ] チェック ボックスをオンにし、[ OK] を選択します。
計画を有効にすると、 計画 ツールがチャット ウィンドウの [ツール ] リストに表示されます。
すべてのサブツールがエージェント モードで有効になっている [Planning tools] グループを示すスクリーンショット。
チャット ウィンドウの [ツール] リストで、計画ツール セットを直接選択的に無効にすることができます。 計画ツールを無効にする必要がある場合は、1 つだけでなく、すべて無効にすることをお勧めします。 変更は、現在のチャット セッションにすぐに適用されます。
ヒント
個々のツールを無効にすると、さまざまな計画動作を試したり、開発中に特定の手順をデバッグしたりできます。
制限事項
- 手動で保存しない限り、プランは一時的に保存され、セッションが終了すると削除されます。
- 構造化された状態の追跡により、わずかな待機時間のオーバーヘッドが発生します。
- 一部の特殊なエージェントは、計画をまだサポートしていない可能性があります。
フィードバックを送る
エージェント モードでの計画を積極的に改善しています。 フィードバックの共有、問題の報告、改善案の提案については、 Copilot チャットでの計画 – Visual Studio Developer Community を参照してください>
よく寄せられる質問
エージェント モードがファイルに対してどのような可視性を持っているか。
エージェント モードでは、次の操作のみを実行できます。
- ソリューションの一部であるローカル ファイル。
- 開いているソリューション ディレクトリまたはそのサブディレクトリにあるローカル ファイル。
エージェント モードでは、ファイルの除外によって除外されたファイルとディレクトリにアクセスできません。
ターミナル コマンドの場合、エージェント モードは実行中のVisual Studio プロセスと同じアクセス許可を持ち、前述の制限に限定されません。 実行する前に、提案されたターミナル コマンドを慎重に確認してください。
Copilot チャット ウィンドウに確認モードとエージェント モードが表示されない
指定した順序で次のトラブルシューティング手順を実行します。
Visual Studio 17.14 以降を使用していることを確認します。
Help>About Visual Studio でバージョンを確認します。
バージョン 17.14 以降を使用していない場合は、Visual Studio インストーラーを開き、ビルドを更新します。
[チャット] ウィンドウで [エージェント モードを有効にする] オプションが選択されていることを確認します。
Tools>Options ペインで、 All Settings>GitHub>Copilot>Copilot Chat セクションを展開します。 オプションが選択されていることを確認します。
Tools>Options ダイアログで、 GitHub>Copilot セクションを展開し、Copilot Chat でオプションが選択されていることを確認します。
Visual Studioを再起動してみてください。
Ask モードとエージェント モードを使用する必要がある場合
- [ 適用] を 明示的に選択するか、自分でコードをコピーして貼り付けない限り、コードの編集が行われないことを 100% 信頼できる場合は、Ask モードが最適です。
- エージェント モードでは、同じ概念上の質問を処理し、コードを適用せずにコード例を生成できます。また、エージェントのコード編集機能も使用できます。
- MCP 機能を使用する場合は、エージェント モードが選択されている必要があります。
Visual StudioのCopilot Editsはどうなりましたか?
エージェント モードは、Copilot編集の進化であり、エラーの反復処理、ツールの使用、コード変更の自動適用が可能になります。
Visual Studio 2022 バージョン 17.14 の最初のリリースでは、Copilot編集は、チャット ウィンドウで Enable Agent モード オプションが選択されていない場合でも使用できます。 Tools>Options ダイアログでオプションの設定を確認します。 GitHub>Copilot>Copilot Chat セクションの下。
管理者として、Visual Studio ユーザーのエージェント モードの使用を制御するにはどうすればよいですか?
Visual Studioのエージェント モードは、管理者向けのGitHub Copilot ダッシュボードの Editor プレビュー機能 フラグによって管理されます。 管理者がこの設定をオフにした場合、そのサブスクリプションのユーザーはVisual Studioでエージェント モードを使用できません。
詳細については、「企業でのGitHub Copilotの管理ポリシーと機能を参照してください。
関連コンテンツ
GitHub Copilot - GitHub Copilot の編集
- GitHub Copilot Free