次の方法で共有


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

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

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

Prerequisites

Visual Studio 2022 バージョン 17.14 以降が必要です。

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

エージェント モードでは、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 などの組み込みエージェントも含まれています。 また、チーム ワークフロー用のカスタム エージェントを作成することもできます。 詳細については、「 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) 拡張機能がインストールされているその他の言語が含まれます。

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

ツールの承認を管理する

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

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

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

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

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

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

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

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

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

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

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

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

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

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

編集内容を元に戻す

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

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

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

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

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

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

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

エージェント モードでの計画 (プレビュー)

計画は、Visual Studio 2022 バージョン 17.14 でパブリック プレビューで利用できます。 この機能はアクティブな開発中であり、ユーザーのフィードバックに基づいて進化する可能性があります。

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

これらのツールを使用すると、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 つだけでなく、すべて無効にすることをお勧めします。 変更は、現在のチャット セッションにすぐに適用されます。

ヒント

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

制限事項

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

フィードバックを送る

エージェント モードでの計画を積極的に改善しています。 フィードバックの共有、問題の報告、改善案の提案については、 Copilot Chat – Visual Studio Developer Community

よく寄せられる質問

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

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

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

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

ターミナル コマンドの場合、エージェント モードは実行中の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 モードとエージェント モードを使用する必要がある場合

  • [ 適用] を 明示的に選択するか、自分でコードをコピーして貼り付けない限り、コードの編集が行われないことを 100% 信頼できる場合は、Ask モードが最適です。
  • エージェント モードでは、同じ概念上の質問を処理し、コードを適用せずにコード例を生成できます。また、エージェントのコード編集機能も使用できます。
  • MCP 機能を使用する場合は、エージェント モードが選択されている必要があります。

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

エージェント モードは、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の管理ポリシーと機能」を参照>。