- Visual StudioとVS Codeには、専用のプリセットエージェントが付属しており、ワークフローに合わせて高度にカスタマイズ可能なエージェントプロファイルをサポートしています。
- カスタムエージェントは、.agent.md プロファイルで定義され、YAML フロントマターによって ID、ツール、モデル、MCP サーバー、および動作が制御されます。
- エージェントは、ローカル環境、クラウド環境、またはサードパーティプロバイダー経由で実行でき、安全な自律動作のために、ペルソナと権限レベルを構成可能です。
- 同じカスタムエージェントはGitHub.com、CLI、主要なIDE全体で動作するため、チームはベストプラクティスをあらゆる場所でエンコードして再利用できます。
AIを活用したエージェントは、Visual StudioやVS Codeにおける開発者の作業方法を変革しつつあり、単なる汎用的なアシスタントの域を超え、特化型でカスタマイズ可能なヘルパーの豊富なエコシステムへと進化している。 これらのエージェントは、チャットウィンドウで質問に答えるだけでなく、作業計画を立てたり、ソリューション全体のコードを編集したり、ツールを実行したり、クラウドサービスや外部のナレッジベースと連携して、エンドツーエンドで実際の機能を提供したりすることもできます。
組み込みエージェント、ローカルおよびクラウド実行モード、そしてリポジトリで定義された完全にカスタマイズ可能なエージェントプロファイルを組み合わせることで、単一の作業方法に縛られることなく、チームのワークフローに適応できる柔軟なフレームワークを実現できます。 デバッグやプロファイリングから、自動テスト、最新化、ドキュメント作成、社内標準に準拠したコードレビューまで、Visual StudioとVS Codeのカスタムエージェントを使用すると、ベストプラクティスをIDEに直接組み込んで拡張できます。
Visual Studio のプリセットエージェント: 一般的なワークフローのための専用ヘルパー
Visual Studioには、IDEに深く組み込まれた厳選されたプリセットエージェントが付属しており、それぞれが開発ライフサイクルの特定の部分に焦点を当てています。 これらのエージェントは、一般的なチャットモデルをはるかに超えており、ソリューションから直接、コールスタック、診断情報、プロファイラトレース、プロジェクトグラフ、テストインフラストラクチャにアクセスできます。
デバッガーエージェントは、単にエラーメッセージをそのまま返すのではなく、実行時のコンテキストを活用して体系的なエラー分析を行うように設計されています。 コールスタック、ローカル変数、診断出力などを検査することで、障害を段階的に追跡し、多くの場合、目に見える症状ではなく真の根本原因を見つけるまで、複数のファイルやレイヤーにわたってバグを追跡します。
プロファイラーエージェントはVisual Studioのプロファイリングスタックと密接に連携しているため、パフォーマンスに関するアドバイスは実際のコードパスとホットスポットに基づいています。 一般的なチューニングのヒントを提供するのではなく、プロファイラセッションを分析し、実際のボトルネックを特定し、プロジェクトのアーキテクチャとテクノロジースタックに合わせた的を絞った最適化を提案します。
テストエージェント(ソリューションがロードされたときに利用可能)は、プロジェクトのフレームワークと規約に適合する単体テストの生成と改善に重点を置いています。 CIがすぐに問題を検出するような定型的なテストを羅列するのではなく、既存のパターンから学習し、そのコンテキストを利用して、パイプラインに組み込める現実的で保守しやすいテストを作成します。
Modernizeエージェント(.NETおよびC++プロジェクト用)は、実際のソリューショングラフ全体にわたってフレームワークと依存関係のアップグレードをガイドするように設計されています。 破壊的な変更点を明らかにし、移行コードを提案し、コーディングパターンに合わせて調整することで、モダナイゼーションをリスクの高い手動の書き換えではなく、支援付きのリファクタリングのように感じさせることができます。
これらのプリセットエージェントには、チャットパネルのエージェント選択ツールを使用するか、チャット内で直接「@」構文を使用することでアクセスできます。 これらを切り替えることで、同じコードベースに対して異なる「ペルソナ」を適用できます。例えば、デバッグ中心の会話から、コンテキストを失うことなくテストやパフォーマンス中心の会話へと移行できます。
プリセットからカスタムまで:プラットフォーム上に独自のエージェントを構築する
プリセットエージェントは最も一般的なワークフローを網羅していますが、真の力は、チームの実際の業務方法に合わせたカスタムエージェントを定義することで発揮されます。 Visual StudioとGitHub Copilotは、エージェントの基盤として共通の機能を持っています。それは、コードを理解し、プロンプトを通じてIDEツールを呼び出すことができ、専用の役割、モデル、ツールセットを割り当てることができる、ワークスペースを認識するモデルです。
カスタムエージェントは、Markdown プロファイルとして定義されます (通常は .agent.md 接尾辞) は agents リポジトリまたはプロファイル内のフォルダ。 GitHubでホストされているプロジェクトでは、これは通常、 .github/agents/your-agent.agent.mdしかし、組織レベルまたは企業レベルでは、トップレベルを使用することもできます。 agents ディレクトリなし .github/ 複数のリポジトリで同じエージェントを再利用できるように、プレフィックスを付けます。
各エージェントプロファイル内には、そのエージェントのID、機能、ツール、およびオプションのMCP構成を指定するYAMLフロントマターブロックを宣言します。 典型的な特性としては、人間に優しい name、短い description エージェントが何をするかを要約すると、 tools 呼び出し可能、オプション mcp-servers エントリー、好ましい model、オプション target (例えば vscode or github-copilot)、そしてエージェントがどのように動作すべきかを定義する主要な指示メッセージ。
YAMLの下にあるMarkdown領域のメッセージセクションは、そのエージェントに対する長文形式のシステムプロンプトのように機能します。 これは、トーン、優先順位、コーディング標準、レビューチェックリスト、テストの期待値、またはエージェントに一貫して従わせたいその他のルールを記述するために使用します。文字数制限は比較的広く(約30,000文字)、かなり複雑な動作をエンコードできます。
ファイルの命名規則は、システムの堅牢性と移植性を維持するために厳格に定められています。 ファイル名(前) .agent.md) は一意で説明的でなければならず、文字 (a-z, A-Z)、数字(0-9ドット、ハイフン、アンダースコアなどを排除することで、ツールやプラットフォーム間での問題を回避するのに役立ちます。
MCPと外部知識:エージェントを企業の頭脳に接続する
カスタムエージェントが真価を発揮するのは、モデルコンテキストプロトコル(MCP)を介して外部の知識ソースに接続した場合です。 MCPは、エージェントをリポジトリ内のものだけに限定するのではなく、内部ドキュメントシステム、デザインライブラリ、API、データベースなどを第一級のツールとして連携させることを可能にします。
エージェントプロファイル内で設定できます mcp-servers 特定のエージェントのみが特定のMCPツールを呼び出せるようにするためのエントリ。 例えば、デザイン強制エージェントはFigmaを基盤とするMCPサーバーに接続し、コンプライアンスエージェントはポリシーデータベースと通信するといったことが可能です。これらのツールは、明示的に有効化しない限り、他のエージェントに影響を与えることはありません。
各チームは既にこれらの機能を活用し、組織に合わせた専門的なワークフローを構築している。 一般的なパターンの一つとして、プルリクエストを一般的なベストプラクティスだけでなく、MCPを通じて提供される社内スタイルガイドやアーキテクチャ決定記録にも照らし合わせて評価するコードレビューエージェントがあります。
もう一つの一般的なシナリオは、デザインシステムの強制適用です。これは、エージェントがデザインアセットとコンポーネントライブラリに接続されるというものです。 そのエージェントは、FigmaファイルやUIコンポーネントレジストリを基盤とするツールを呼び出し、視覚的または構造的な逸脱が本番環境に到達する前にそれを検知し、開発者を承認済みのパターンに戻すよう促すことができます。
プランニングエージェントも注目を集めており、コードを書く前に、調査と範囲設定作業のみに特化している。 これらのエージェントは要件を収集し、明確化のための質問を行い、例外的なケースを検討した上で、構造化された実装計画を作成します。この計画は、人間またはより行動指向型のコーディングエージェントに渡して実行させることができます。
すぐに使えるサンプルを探しているなら、コミュニティが管理している「awesome-copilot」リポジトリには、エージェント構成のコレクションがどんどん増えています。 これらを起点としてクローンすることはできますが、ツール識別子はGitHub.com、VS Code、JetBrains IDE、その他のプラットフォーム間で異なるため、ツール名が実際にVisual StudioまたはVS Code環境に存在するかどうかを確認する必要があります。
自律エージェントがツールや環境を超えてどのように振る舞うか
概念的には、「エージェント」とは、単にコードスニペットをインラインで提案するのではなく、コーディングタスクを自律的に実行できるAIアシスタントのことである。 ユーザーは「失敗したテストを修正する」「この機能を実装する」といった大まかな目標を指定すると、エージェントはそれを手順に分解し、ファイルを編集し、コマンドを実行し、何かが失敗した場合は反復処理を行い、多くの場合、コミットまたはプルリクエストで完了します。
VS Codeは、エディター内の対話型チャットからCopilot CLIを介したバックグラウンド自動化まで、さまざまな方法でこのエージェント的な動作を実現しています。 エージェントは、ローカルマシン上で実行することも、リモートのクラウド環境で実行することも、AnthropicやOpenAIなどのサードパーティプロバイダーを介して実行することもできます。それぞれのケースにおいて、エージェントにどの程度の自律性を持たせるか、どのツールを呼び出すことができるかを決定できます。
エージェントが実際にどこで実行されているかに関わらず、進行中のすべてのセッションはチャットビュー内の統合セッションリストに表示されます。 これにより、複数の長時間実行タスクを追跡し、タスク間を切り替え、一貫性のある活動履歴を維持することが容易になります。
エージェントは主に2つの側面で動作します。1つはエージェントが実行される場所(ローカルかクラウドか)、もう1つはエージェントとのインタラクション方法(完全な対話型か、大部分が自律型か)です。 ローカルエージェントはVS Codeエージェントループを使用して、ワークスペースへの豊富なアクセス権限でエディター内で直接作業します。Copilot CLIエージェントはマシン上でバックグラウンドで実行され、Gitワークツリーを使用できます。クラウドエージェントはGitHubのインフラストラクチャ上で実行され、コラボレーションのためのプルリクエストと緊密に統合されます。
AnthropicやOpenAIなどのプロバイダーのSDKに依存する「サードパーティ」エージェントのサポートもあり、 APIの進化とエージェント型AI. これらはローカル環境または独自のクラウド環境で実行できるため、VS Code と同じチャットおよびセッション管理パターンを利用しながら、データ境界をより詳細に制御できます。
エージェントは主に2つの側面で動作します。1つはエージェントが実行される場所(ローカルかクラウドか)、もう1つはエージェントとのインタラクション方法(完全な対話型か、大部分が自律型か)です。 ローカルエージェントはVS Codeエージェントループを使用して、ワークスペースへの豊富なアクセス権限でエディター内で直接作業します。Copilot CLIエージェントはマシン上でバックグラウンドで実行され、Gitワークツリーを使用できます。クラウドエージェントはGitHubのインフラストラクチャ上で実行され、コラボレーションのためのプルリクエストと緊密に統合されます。
適切なエージェントの役割と権限レベルを選択する
エージェントタイプが作業の実行場所を定義するとすれば、エージェントペルソナはその作業の実行方法を定義する。 コードレビューエージェントは、品質とスタイルについてコメントするように構成されていますが、ファイルを変更することはありません。一方、実装エージェントは、必要に応じてコードを編集したり、コマンドを実行したり、多くのツールを呼び出したりする権限を与えられています。
VS Codeには、基本となる3つの組み込みエージェントペルソナ(エージェント、プラン、アスク)が用意されています。 エージェントの主なペルソナは、エンドツーエンドの実装、ツールのオーケストレーション、および複数ファイルの変更に重点を置いています。プランは、コードを編集せずに構造化された段階的な計画を作成します。アスクは、コードベースやテクノロジーに関する質問に答え、手動で適用するコードブロックを提案できます。
チャットビューのエージェントドロップダウンメニューからいつでもこれらのペルソナを切り替えることができ、より専門的なフローの場合は、独自の役割とツールセットを持つカスタムエージェントを定義できます。 これにより、例えば、保守的なレビューエージェントと積極的なリファクタリングエージェントを分離し、それぞれを独自の目的に合わせて調整することが容易になります。
エージェントはツールを呼び出したり、シェルコマンドを自律的に実行したりできるため、VS Codeは各セッションでエージェントがどの程度の自由度を持つかを制御するための権限レイヤーを追加しています。 権限選択機能を使用すると、すべてのツール呼び出しに明示的な承認が必要かどうか、リスクの高い呼び出しのみ確認が必要かどうか、またはエージェントをほぼ完全に自動化された「オートパイロット」モードで実行できるかどうかを決定できます。
デフォルトの承認モードでは、通常、読み取り専用で明らかに安全なツールは事前承認済みとして扱われますが、ファイルを変更したりコマンドを実行したりする可能性のある操作については、ユーザーに確認を求めます。 承認バイパス機能は、すべてを自動承認することで処理速度を最大限に高めます。オートパイロット機能(現在プレビュー版)はさらに一歩進んで、承認ツールと確認プロンプトへの自動回答の両方を行うことで、エージェントがタスク完了と判断するまで作業を継続できるようにします。
エージェント間で業務を引き継ぎ、タスクを割り当てる
VS Codeのエージェントにおける最も強力な機能の1つは、セッションをあるエージェントから別のエージェントに引き継ぐことができる点です。 これにより、ローカルのプランエージェントを使用して複雑な機能を定義し、そのプランをCopilot CLIエージェントに渡してローカルでプロトタイプを作成し、最後にその結果をクラウドエージェントに送信してGitHubでプルリクエストを作成する、といったワークフローが可能になります。
セッションのドロップダウンメニューからエージェントの種類を変更すると、VS Code はチャットの履歴とコンテキストを完全に継承する新しいセッションを作成します。 元のエージェントの会話は参照用にアーカイブされ、新しいエージェントは同じ開始点から会話を継続しますが、役割や実行環境が異なります。
Copilot CLI から、クラウドベースのエージェントに明示的に作業を委任できます。 /delegate チャットでコマンドを入力してください。 受信側のエージェントが重点的に取り組むべき内容を細かく調整するために、追加の指示を付加することができます。これは、探索的な作業から本番環境に対応できる変更へと移行する際に役立ちます。
GitHubの課題やプルリクエストとの緊密な連携により、通常のワークフローを中断することなく、エージェントにコーディングタスクを割り当てることができます。 課題を割り当てることで copilot または、コメントでCopilotコーディングエージェントに言及することで、エージェントの設定済みプロファイルに準拠したコードの変更やレビューを依頼できます。
GitHub Pull Requests拡張機能をサポートするIDEでは、エージェントに実装を依頼することもできます。 TODO 編集者からの直接のコメント。 これにより、散在するTODOマーカーが、コーディングエージェントが取得、実装、コミットまたはプルリクエストとしてプッシュできる構造化されたタスクのキューに効果的に変換されます。
GitHubとIDEでカスタムエージェントを作成および構成する
カスタムエージェントの設定は通常、GitHub.comまたはIDEで開始し、適切な場所に新しいエージェントプロファイルを作成します。 agents ディレクトリにあります。 GitHub.comのCopilotエリアには専用の「エージェント」タブがあり、選択したリポジトリとブランチでテンプレートプロファイルを作成できます。
GitHub エージェント タブから新しいエージェントを作成すると、プラットフォームはテンプレート ファイルを生成します。通常は次の名前になります。 my-agent.agent.mdリポジトリの .github/agents フォルダにコピーします。 組織レベルまたはエンタープライズレベルのエージェントの場合は、 .github/ パスの一部にファイルを配置し、トップレベルの agents ディレクトリを使用することで、複数のプロジェクトで利用できるようになります。
次のステップは、許可されている文字セットに従って、意味のある固有の名前にファイルを変更することです。 ファイル名が明確であれば、チームメイトはエージェントの目的を容易に理解し、GitHub.comやIDEのチャットインターフェースのドロップダウンリストから正しく選択できるようになります。
ファイルが配置されたら、YAMLフロントマターを編集して、エージェントの名前、説明、ツール、オプションのモデル、およびMCPサーバーの設定を構成します。 説明文は必須であり、エージェントが何に最適化されているのか(パフォーマンスレビュー、APIの強化、テスト生成、ドメイン固有の検証など)を簡潔に記載する必要があります。
エージェントプロファイルをコミットしてデフォルトブランチにマージすると、Copilotのコーディングエージェント機能が利用可能な場所であればどこでも、エージェントのドロップダウンリストに新しいエージェントが表示されます。 これにはGitHub.com、Copilot CLI、およびサポートされているIDEが含まれるため、単一のエージェント定義で、これらのすべての環境で一貫した動作を実現できます。
VS Code でカスタムエージェントを操作する
VS Codeを使えば、チャットビューから直接カスタムエージェントを作成したり調整したりすることが非常に簡単になります。 チャットパネルの下部にはエージェントのドロップダウンメニューがあり、カスタムエージェントを設定するオプションと、新しいエージェントを作成するためのショートカットが含まれています。
VS Codeで新しいカスタムエージェントを作成する場合、そのプロファイルを現在のワークスペース内またはユーザープロファイル内のどちらに配置するかを選択できます。 ワークスペースレベルのエージェントは、そのプロジェクトのスコープに設定されます。 .github/agents フォルダー内に存在するユーザープロファイルエージェントは、個人設定の下に存在し、開いているすべてのワークスペースで利用可能です。
次に、新しいエージェントプロファイルのファイル名を指定します。これは、エージェントのドロップダウンリストに表示されるデフォルトのラベルにもなります。 VS Code は新しく作成されたファイルを開きます .agent.md ファイルには、必要な説明、ツール、および動作プロンプトをYAMLとMarkdownの指示として入力できます。
エディタには「ツールの設定…」ボタンがあり、これをクリックすると、環境内のエージェントが利用できるすべてのツールを一覧表示する専用ダイアログが開きます。 これには、組み込みツール、MCPが提供するツール、インストール済みの拡張機能から提供されるツールが含まれます。必要なツールを選択すると、VS Codeが対応するエントリをエージェントプロファイルに書き込みます。
エージェントが依存するAIモデルを制御するには、 model: YAML内のプロパティを指定し、オートコンプリート機能を使用してサポートされているモデルのセットから選択します。 これにより、例えば、高負荷なリファクタリングエージェントにはより高性能なモデルへのアクセスを許可しつつ、軽量なQ&Aエージェントにはより小型で安価なモデルを使用させる、といったことが容易になります。
既存のエージェントを更新するのも同様に簡単です。エージェントのドロップダウンメニューから「カスタムエージェントの設定…」を選択し、変更したいプロファイルを選択します。 VS Code は、基盤となる .agent.md ファイルを編集して保存すると、そのプロファイルが使用されているすべての場所にその変更が反映されます。
JetBrains IDE、Eclipse、Xcode のカスタムエージェント
同じエージェントプロファイル形式は、VS Codeだけでなく、複数の主要なIDEで動作します。 JetBrains IDE(IntelliJ IDEA、WebStorm、Riderなど)、Eclipse、XcodeはすべてGitHub Copilotのエージェントと統合されており、作成や編集が可能です。 .agent.md ファイルを馴染みのある方法で保存します。
JetBrains IDEでは、まずGitHub Copilot Chatウィンドウを開き、下部にあるエージェントのドロップダウンメニューを使用してエージェントを設定します。 ワークスペーススコープを選択すると、内部に新しいプロファイルファイルが作成されます。 .github/agents プロジェクト内でそれを行うと、IDE がそれを開き、説明、ツール、および手順を設定できます。
JetBrainsエディタの「ツールの設定…」ボタンを使用すると、MCPベースのツールを含む利用可能なツールを参照し、ワンクリックでエージェントに追加できます。 また、指定することもできます model ここでのプロパティも、サポートされているAIモデルのオートコンプリートリストによって駆動されます。
Eclipseでのワークフローも同様です。Copilot Chatビューを開き、エージェントのドロップダウンメニューから「エージェントの設定…」を選択し、「追加…」アクションで新しいプロファイルを作成します。 編集者は新しい .agent.md 下のファイル .github/agentsここでは、説明、ツール、MCPサーバー、動作プロンプトを定義できるほか、必要に応じてモデルやその他のプロパティを調整できます。
Xcodeの統合機能も、チャットビューのエージェントドロップダウンメニューに依存しており、専用の「エージェントを作成」オプションが用意されています。 プロファイルに名前を付けた後、Xcode は .agent.md 下のファイル .github/agents また、エディターには「エージェントのカスタマイズ」ボタンが用意されており、AIモデルの選択、ツール(MCPツールを含む)の選択、カスタムエージェント間のハンドオフの設定を行うことができます。
JetBrains、Eclipse、Xcodeのいずれにおいても、既存のプロファイルを更新する手順は常に同じです。エージェントの設定を開き、エージェントを選択し、基となるMarkdownファイルを編集します。 これらの編集内容はGitHubのCopilotエコシステムに反映されるため、どのIDEを使用しても、同じカスタムエージェントが常に一貫した動作を維持します。
強力なエージェントプロファイルの設計:アイデンティティ、ツール、および行動
カスタムエージェントから真の価値を引き出すには、明確なアイデンティティと焦点を絞った能力設定から始めて、エージェントのプロファイルをどれだけうまく設計できるかが重要です。 よく練られた name and description エージェントの意図を明確にし、基盤となるモデルが適切な動作を優先できるように支援する。
その tools リストは、エージェントが実際に何ができるかを制御するための主要な手段です。 プロパティを省略するだけで、エージェントに環境内のすべてのツールへのアクセスを許可できます。あるいは、非常に細かく指定して、機能のサブセットのみを有効にすることもできます。たとえば、 "read", "edit", "search" そして、いくつかの分野特化型MCPツール。
オプション mcp-servers エントリを使用すると、特定のエージェントプロファイルからのみ表示される追加のサーバーを設定できます。 これは、エージェントが内部システム(機密設計文書やコンプライアンスデータベースなど)への特権アクセスを必要とするものの、すべてのエージェントが同じリソースにクエリを実行できるようにしたくない場合に便利です。
VS Code、JetBrains IDE、Eclipse、またはXcodeでエージェントを使用する場合、専用の model 各エージェントが自分の仕事に最適なモデルを使用できるようにするためのプロパティ。 コストを抑えるため、計画策定やアーキテクチャレビューのエージェントには高度な推論モデルを使用する一方で、Q&Aエージェントにはより安価な軽量モデルを使用するチームもある。
オプション target このプロパティは、エージェントを特定の環境にのみ表示させたい場合に便利です。 設定することにより target: vscode or target: github-copilotIDE ベースのワークフローや GitHub.com ベースのフロー専用のプロファイルを作成できますが、このプロパティを省略すると、エージェントはどこでも利用可能になります。
最後に、Markdownファイルの本文には、エージェントの実際の指示、つまり「声」が記述され、ここにあなたの基準や期待事項をエンコードします。 単体テストのカバレッジルール、技術的な制約、ドキュメントのトーンに関するガイドライン、詳細なレビューチェックリストなどを明記することができます。こうした内容が充実し、明確であればあるほど、エージェントはセッション間でより一貫した動作をするようになります。
GitHub.com、CLI、IDE全体でカスタムエージェントを使用する
カスタムエージェントを定義すると、それを使用できる場所は1箇所に限定されません。Copilotのコーディングエージェントが実行される場所であればどこでも、コードとともに移動します。 GitHub.comでは、Copilotに課題やプルリクエストに関するタスクを実行させる際に、パネルまたはエージェントタブからカスタムエージェントを選択できます。
GitHubの課題を割り当てる際、タスクがそのエージェントの特殊な設定によってメリットを得られる場合は、汎用的なコーディングエージェントではなく、特定のカスタムエージェントを選択できます。 例えば、セキュリティに特化したエージェントプロファイルを認証モジュールの変更点の確認に割り当て、パフォーマンスチューニングエージェントをバックエンドサービスのホットパスの監視に割り当ててもよいでしょう。
GitHub Copilot CLI から、次のようなスラッシュコマンドを使用して特定のカスタムエージェントをオプトインできます。 /agent または、プロンプトまたはコマンドラインパラメータでエージェントを参照することによっても指定できます。 そうすることで、ターミナルでのワークフローは、ブラウザやIDEで使用するペルソナと常に同じ状態を維持できます。
Copilotのコーディングエージェントがユーザーに代わってプルリクエストを作成するたびに、GitHubはどのカスタムエージェントが作業の完了に使用されたかを記録します。 これは、監査を行う際や、特定のエージェント構成が特定の種類の変更や動作パターンを生み出す傾向があるかどうかを理解する上で役立ちます。
同じエージェントプロファイルは、サポートされているIDEのチャットペインを介して直接使用できるため、作業内容に応じて、計画、編集、調査、コンプライアンスに特化したエージェントを切り替えることができます。 YAMLプロパティの中にはGitHub.comとIDEのコンテキスト間で若干異なる動作を示すものもありますが、全体的なプロファイルは移植性と一貫性を保っています。
VS Code のローカルエージェント: ワークスペースのコンテキストを完全に備えたインタラクティブなセッション
VS Code のローカルエージェントは、ユーザー自身のマシン上で現在のワークスペースに対して実行され、非常にインタラクティブで低遅延の会話を実現します。 彼らは、あなたのファイル、拡張機能、MCPツール、そしてBYOK(Bring Your Own Key)モデルを含む、あなたが設定したすべてのモデルに、最高レベルのアクセス権を持っています。
これらのローカルセッションは、即時のやり取りが必要なタスクや、現在の開発状況との緊密な連携が必要なタスクに最適です。 これには、ブレインストーミングと計画立案、スタックトレースのデバッグ、リンターエラーへの対応、単体テスト結果の検査、および拡張機能が提供するツールを使用するあらゆるワークフローが含まれます。
カスタムペルソナを選択しない限り、各ローカルエージェントチャットは組み込みのエージェント(エージェント、プラン、質問)のいずれかを使用し、ニーズの変化に応じてそれらを切り替えることができます。 例えば、まず「質問」から始めてコードベースの一部を理解し、次に「計画」に切り替えて機能を設計し、最後に「エージェント」に進んでそれを実装する、といった流れが考えられます。
ローカルエージェントセッションを開始するには、チャットエージェント選択画面から「エージェント」を選択し、大まかな目標を説明するだけで済みます。 「OAuth2とJWTを使ったユーザー認証システムを実装する」や「このプロジェクトのCI/CDを設定する」といった指示を出すと、エージェントが作業計画を立て、ツールを実行し、ソリューション全体にわたって編集案を提案します。
エージェントが作業を進めるにつれて、VS Codeはエディターオーバーレイを使用して提案された編集内容を表示し、それらの編集内容を簡単にナビゲート、確認、承認または拒否できるようにします。 また、ツールピッカーを使用して、エージェントが呼び出すツールのセットを調整し、必要に応じてその機能を拡張または制限することもできます。
「質問する」ペルソナは、ファイルの自動変更を伴わずに知識やガイダンスが必要な場合に特に適しています。 Askは、コードベースを詳細に分析し、技術的な質問に答え、コードブロックを返します。これらのコードブロックは、「エディターに適用」アクションを通じて手動で適用できるため、ユーザーは完全に制御できます。
一方、プラン担当者は、コードに手を加える前に、構造化された実装計画を作成することに特化しています。 これらの計画は、他の担当者に引き継ぐことも、自分の作業のチェックリストとして使用することもできます。これにより、実装に取りかかる前に、依存関係、データモデル、およびエッジケースを考慮していることを確認できます。
以前は複数ファイルの変更を行うための「編集モード」が存在していましたが、より高機能なエージェントペルソナが推奨されるようになったため、そのモードは廃止されました。 VS Codeの特定の設定で編集モードを再度有効にすることは可能ですが、ほとんどの場合、複数ファイルのリファクタリングや機能開発にはエージェントペルソナを使用することをお勧めします。
セッション中は、リクエストの実行中でも、フォローアップのプロンプトを自由に送信できます。 調整を後回しにしたり、飛行中に方向を変えたり、必要に応じてエージェントを中断して操縦したりできるため、プロセス全体がバッチ処理というより、共同作業のペアプログラミングセッションのような感覚になります。
これらの機能はすべて、より広範なエージェントのエコシステムと連携しています。概要の表示、セッションの管理、ツールの追加、MCPサーバーの接続、ポリシーの適用やライフサイクルイベントの自動化を行うためのカスタムエージェントやフックの定義などが可能です。 優れたエージェントプロファイルとワークフローに投資すれば、同じ構成要素がチャット、CLI、IDE、そしてGitHub自体にも効果を発揮します。
これらの要素をすべて組み合わせることで、Visual StudioとVS Codeのカスタムエージェントは、コーディング環境を再利用可能な役割重視のコラボレーターの集合体へと変えます。これらのコラボレーターは、使用する技術スタック、ツール、標準を理解し、チームがより迅速に作業を進めながら、品質と一貫性を維持できるよう支援します。


