GitHub Copilot エージェント モードを始める

Visual Studioで GitHub Copilot エージェント モードを使用すると、自然言語を使用して高度なタスクを指定できます。 AI は、手順の決定、コードの編集、ターミナル コマンドの実行、ツールの呼び出し、コードベース全体への変更の適用を行います。 ビルド結果、単体テストの失敗、ツールの出力などの結果を監視し、必要に応じて反復処理します。

ask モードとは異なり、エージェント モードは 1 回の応答の後に停止しません。 プロンプトで目標に達するまで、またはより多くの入力が必要になるまで、実行と調整の手順が続行されます。

Prerequisites

エージェント モードを使用する

エージェント モードでは、Copilotは自律的に動作し、プロンプトに関連するコンテキストを決定します。

以下の手順に従って開始しましょう。

  1. Copilot Chat ウィンドウを開き、 Ask を選択してモード ドロップダウンを展開し、 Agent を選択します。

Copilot エージェント モード セレクターのスクリーンショット。

Copilot エージェント モード セレクターを示すスクリーンショット。

  1. プロンプトを入力し、[ 送信 ] を選択するか、 Enter キーを押して送信します。 高レベルの要件を指定することができ、作業するファイルを指定する必要はありません。

  2. エージェント モードでは、複数のツールを呼び出してさまざまなタスクを実行できます。 必要に応じて、[ ツール ] アイコンを選択して、エージェントが要求に応答するために使用できる追加のツールを構成します。

エージェント モードで使用されるその他のツールを示すスクリーンショット。

エージェント モードで使用されるその他のツールを示すスクリーンショット。

  1. Copilotは、ターミナル コマンドを実行する前、または組み込まれていないツールを使用する前に確認を要求します。

エージェント承認のコマンドを示すスクリーンショット。

エージェント コマンドの承認を示すスクリーンショット。

  1. Copilotは、コード編集またはターミナル コマンドの問題を自動的に検出し、アクションを実行します。 このプロセスは、問題が解決されるまで繰り返されます。

  2. Copilotがリクエストを処理している間、提示されたコードの修正がエディターにリアルタイムで表示されます。 推奨される編集内容を確認し、次のいずれかを行います。

    • チャット ウィンドウの [Total changes ]\(チャット ウィンドウの変更の合計\) で、提案された編集内容全体を保持または破棄します。

編集候補の一覧を示すスクリーンショット。

編集候補の一覧を示すスクリーンショット。

個々のファイルの相違を確認し、それらを選択的に適用します。

  1. エージェントが行った個々のコード変更を確認するには、各手順で特定の変更を確認します。

Copilotエージェントを使用して個々の編集の差分にアクセスする様子を示したスクリーンショット

  1. エージェントが行った個々のコード変更を確認するには、次のいずれかのオプションを使用します。

    • 各手順で特定の変更を確認します。

Copilotエージェントを使用して個々の編集の差分にアクセスする様子を示したスクリーンショット

前回変更を保持または元に戻した時点からの累積変更を確認します。

Copilot エージェントを使用して累積的な編集差分にアクセスするスクリーンショット

  1. 引き続きコードの変更を繰り返して編集を調整するか、より多くの機能を実装します。

エージェント モード ツールについて

エージェント モードでは、次のツールを使用して要求に応答できます。

ヒント

Visual Studioには、@debug、@profiler、@test、特定の IDE 機能と統合する @vs などの組み込みエージェントも含まれています。 エージェント モードでは、 @debug はバグの再現、インストルメンテーションとテレメトリの収集、検証の修正をガイドできます。 また、チーム ワークフロー用のカスタム エージェントを作成することもできます。 詳細については、「 GitHub Copilotを参照してください。

エージェント モードで使用できるツールを表示および管理するには、チャット ウィンドウで [ツール ] アイコンを選択します。

Copilot エージェントのツールセレクターを示すスクリーンショット。

Copilot エージェントのツールセレクターを示すスクリーンショット。

ツールの結果に基づいて、Copilotは他のツールを呼び出して全体的な要求を実行する場合があります。 たとえば、コード編集によってファイルの構文エラーが発生した場合、Copilot別の方法を調べて、さまざまなコード変更を提案する可能性があります。

MCP サーバーを実行して追加した追加のツールは、自動的には有効になりません。 これらのチェック ボックスは既定でオフになっているので、ツールをアクティブにするには、チェック ボックスをオンにする必要があります。

find_symbol ツール

find_symbol ツールは、言語対応のシンボル ナビゲーションをエージェント モードに直接移動します。 有効にすると、Copilotは自動的に find_symbol を使用して以下を行います。

  • プロジェクト全体のシンボルへのすべての参照を検索する
  • 型情報、宣言、スコープなどのメタデータにアクセスする

Copilot Chat ウィンドウで選択したfind_symbol ツールを示すスクリーンショット。

ツールを有効にすると、Copilotは質問に答えたり、コードの変更を提案したりするときに自動的にツールを使用します。

複数のファイルでコードを分析および変更するfind_symbolツールを使用したCopilotを示すスクリーンショット。

サポートされている言語には、C++、C#、Razor、TypeScript のほか、サポートされている言語サーバー プロトコル (LSP) 拡張機能がインストールされているその他の言語が含まれます。

C++ プロジェクトの場合、エージェント モードでは、C++ ツールを使用して呼び出し階層とクラス階層間を移動することもできます。 詳細については、 C++ コード編集ツールを参照してください。

最適な結果を得るには、明確なプロンプトを記述し、ツール呼び出しをサポートする AI モデルを使用します。 モデル機能の詳細については、「AI モデルの比較 (GitHub Docs)を参照してください。

C++ コード編集ツール

Copilot Chatの Tools リストで C++ コード編集ツールが有効になっている場合、エージェント モードでは次のVisual Studio固有のツールを使用できます。

  • get_symbol_call_hierarchy 呼び出し階層を走査する
  • get_symbol_class_hierarchy クラスと型の階層を移動するには

これらのツールは、C++ リレーションシップに対するエージェントの理由を助け、より正確なナビゲーションと編集の決定を行うことができます。 これらのツールを使用するには、C++ ワークロードを使用して デスクトップ開発を インストールします。 これらのツールを使用して有効にすると、エージェント モードでは、該当する場合に自動的に使用されます。

ツールの承認を管理する

Copilotツールを呼び出すと、ツールを実行するための確認が要求されます。 その理由は、ツールがコンピューター上でローカルに実行され、ファイルまたはデータを変更するアクションを実行する可能性があるためです。

ツールの確認要求を示すスクリーンショット。

ツールの確認要求を示すスクリーンショット。

チャット ウィンドウで、ツールの呼び出し後、[ 許可 ] ドロップダウン オプションを使用して、現在のセッションまたはソリューションの特定のツール、または今後のすべての呼び出しを自動的に確認します。

ツールの確認の選択は、[ ツール>オプション ] ウィンドウでリセットできます。 All Settings>GitHub>Copilot>Tools セクションを展開します。

Visual Studio における GitHub Copilot ツール呼び出し設定を示すスクリーンショット

ツールの確認の選択は、[ ツール>オプション ] ダイアログでリセットできます。 GitHub>Copilot>Tools セクションを展開します。

GitHub Copilotツール呼び出し設定のスクリーンショット.

編集内容を承諾または破棄する

Copilot、チャット ウィンドウの Total changes リストに編集されたファイルが一覧表示されます。

編集されたファイルの一覧を示すスクリーンショット。

編集されたファイルの一覧を示すスクリーンショット。

各ファイルを選択して、変更を個別に確認します。 コードの各チャンクに対する編集を保持または元に戻すことができます。

または、[ 変更の合計 ] ボックスの一覧で、 最後に [保持 ] または [元に戻す ] を選択した後に行われたすべての編集について 、[保持 ] または [元に戻す] を選択します。

ヒント

Visual Studio 2026 バージョン 18.6 以降では、multi-file summary diff view を使用して、複数のファイル間のすべてのCopilot変更を 1 つのタブに表示し、きめ細かな承諾コントロールと元に戻すコントロールを表示できます。

編集内容を元に戻す

コードの編集を要求するときに、いくつかの変更を元に戻したい場合があります。 元に戻すには、不要な変更を含むプロンプトの前にチェックポイントの横にある [ 復元 ] を選択します。

元に戻す編集を示すスクリーンショット。

元に戻す編集を示すスクリーンショット。

現在、Visual Studio Copilot エージェントでは、段階的な元に戻す操作ややり直しはサポートされていません。

エージェント モード要求を中断する

進行中の要求を中断するには、それをキャンセルできます。 要求をキャンセルすると、実行中のすべてのツールとターミナル コマンドが停止します。

ビルドを停止するには、上部のツール バーの [ビルド ] を選択し、[キャンセル] を選択 します。 または、 Ctrl + Break キーボード ショートカットを使用します。

エージェント モードでの計画

Important

エージェント モードでの計画は、エージェント モード内のセッション内計画ワークフローです。 強化された専用の計画エクスペリエンスを実現するには、別のチャット モードとして使用可能なプラン エージェントを使用します。 実装の前にプランを作成し、実装プランを使用して 提供します。

エージェント モードでの Planning を使用すると、Copilot は複雑な要求や複数ステップの要求を、実行前に構造化され追跡可能なタスクに分解できます。

計画がアクティブな場合、Copilotは次のように機能します。

  • 目標と進行状況の概要を示す ユーザー向けのマークダウン 計画 を作成します。
  • ステップ追跡、推論、調整のための LLM 読み取り可能なスクラッチパッドとして機能する内部 JSON プラン (plan-{sessionId}.json) を維持します。

この構造Copilot一貫性を保ち、計画を動的に更新し、開発者が何をしているのかを把握するのに役立ちます。

動作方法

要求分析

タスクに複数のステップが必要な場合、Copilotは計画モードに入ります。

プランの作成

  • Markdown プラン: タスク、ステップ、進行状況を読み取り可能な形式で記述します。
  • JSON プラン: 同じプランをコンピューターの解析可能な形式でキャプチャする、構造化された LLM 読み取り可能な形式。 この JSON ファイルを使用すると、Copilotはプランを順番に一貫して更新して解釈できます。

実行とイテレーション

Copilotは計画の各ステップを実行しながら、両方のファイルを更新します。

  • マークダウン計画は、エディターで目に見えて更新されます。
  • JSON プランは、Copilotがステップを洗練し、並べ替え、または適応させるに従って、バックグラウンドで進化します。

ストレージ

どちらのファイルも C:\Users\username\AppData\Local\Temp\VisualStudio\copilot-vsに格納されます。

計画に使用されるツール

計画を有効にすると、専用の内部ツールセットがアクティブになります。 これらのツールは、実行中Copilotプランの作成、更新、および最終処理を行う方法を調整します。

Tool Description
plan ユーザー要求から初期構造化プランを生成します。
適応計画 新しいコンテキストまたはフィードバックに基づいてプランを改善または調整します。
プラン進捗の更新 ステップ完了の状態を更新し、プランの状態を同期します。
record_observation 次のアクションに影響を与える実行時の結果または分析情報をキャプチャします。
計画の完了 すべての手順が完了したら、プランを最終処理します。

これらのツールを使用すると、Copilotは複数のステップのワークフローを段階的に管理し、実行状態を維持し、ユーザーの意図に合わせて調整することができます。

計画ツールの有効化と管理

計画を有効にするには:

  1. Tools>Options ペインを開きます。 All Settings>GitHub>Copilot>Copilot Chat セクションを展開します。

  2. [ 計画を有効にする] チェック ボックスをオンにします。

Visual Studio 2022 バージョン 17.14 以降で Planning を有効にするには:

  1. Tools>Options ダイアログを開き、 GitHub>Copilot セクションを展開します。

  2. [ 計画を有効にする ] チェック ボックスをオンにし、[ OK] を選択します。

計画を有効にすると、 計画 ツールがチャット ウィンドウの [ツール ] リストに表示されます。

すべてのサブツールがエージェント モードで有効になっている [Planning tools] グループを示すスクリーンショット。

チャット ウィンドウの [ツール ] リストで、計画ツール セットを直接選択的に無効にすることができます。 計画ツールを無効にする必要がある場合は、1 つのツールだけでなく、すべてのツールを無効にします。 変更は、現在のチャット セッションにすぐに適用されます。

ヒント

個々のツールを無効にすると、さまざまな計画動作を試したり、開発中に特定の手順をデバッグしたりできます。

制限事項

  • 手動で保存しない限り、セッションの終了時にプランが一時的に保存され、削除されます。
  • 構造化状態の追跡では、わずかな待機時間のオーバーヘッドが発生します。
  • 一部の特殊なエージェントは、計画をまだサポートしていない可能性があります。

実装前にプランを作成する

コードを変更する前にアプローチを調整する場合は、GitHub Copilot plan エージェントを使用します。 プラン エージェントは、読み取り専用ツールを使用してコードベースを調査し、 .copilot/plans/で実装計画を下書きし、その計画を調整してから、 実装プランを使用してエージェント モードに渡すことができます。

よく寄せられる質問

エージェント モードがファイルに対してどのような可視性を持っているか。

エージェント モードでは、次の操作のみを実行できます。

  • ソリューションの一部であるローカル ファイル。
  • 開いているソリューション ディレクトリまたはそのサブディレクトリにあるローカル ファイル。

エージェント モードでは、ファイルの除外によって除外されたファイルとディレクトリにアクセスできません。

ターミナル コマンドの場合、エージェント モードは実行中のVisual Studio プロセスと同じアクセス許可を持ち、前述の制限に限定されません。 実行する前に、提案されたターミナル コマンドを慎重に確認してください。

Copilot Chat ウィンドウに質問、計画、エージェントのオプションが表示されない

指定した順序で次のトラブルシューティング手順を実行します。

  1. Visual Studio 17.14 以降を使用していることを確認します。

    • Help>About Visual Studio でバージョンを確認します。

    • バージョン 17.14 以降を使用していない場合は、Visual Studio インストーラーを開き、ビルドを更新します。

  2. [チャット] ウィンドウで [エージェント モードを有効にする] オプションが選択されていることを確認します。

    Tools>Options ペインで、 All Settings>GitHub>Copilot>Copilot Chat セクションを展開します。 オプションが選択されていることを確認します。

    Tools>Options ダイアログで、 GitHub>Copilot セクションを展開し、Copilot Chat でオプションが選択されていることを確認します。

  3. Visual Studioを再起動してみてください。

Askモード、プランエージェント、またはエージェントモードはいつ使うべきですか?

  • [ 適用 ] を明示的に選択するか、自分でコードをコピーして貼り付けない限り、コードの編集が行われないようにする場合は、ask モードを使用します。
  • Copilot にコードベースを調査させ、確認のための質問を行わせ、コードの変更を始める前にレビュー可能な実装計画を作成させたいときは、Plan agent を使用します。
  • エージェント モードを使用して、同じ概念上の質問を処理し、それらを適用せずにコード例を生成し、コードを編集するエージェント機能を使用します。
  • MCP 機能を使用する場合は、エージェント モードを選択する必要があります。

Copilot編集はVisual Studioでどうなりましたか?

エージェント モードは、Copilot編集の進化であり、エラーの反復処理、ツールの使用、コード変更の自動適用が可能になります。

Visual Studio 2022 バージョン 17.14 の最初のリリースでは、Copilot編集は、チャット ウィンドウで Enable Agent モード オプションが選択されていない場合でも使用できます。 Tools>Options ダイアログでオプションの設定をオンにします。 GitHub>Copilot>Copilot Chat セクションの下。

管理者として、Visual Studio ユーザーのエージェント モードの使用を制御するにはどうすればよいですか?

管理者は、GitHub Copilot ダッシュボードの Editor プレビュー機能 フラグを使用して、エージェント モードをVisual Studioで制御します。 管理者がこの設定をオフにした場合、そのサブスクリプションのユーザーはVisual Studioでエージェント モードを使用できません。

詳細については、「企業でのGitHub Copilotの管理ポリシーと機能」を参照>。