エージェントモード:全ユーザーが利用可能でMCPをサポート
2025年4月7日 Isidor Nikolic
エージェントモードがすべてのVS Codeユーザーに展開中です!エージェントは自律的なペアプログラマーとして機能し、コードベースの分析、ファイルの編集提案、ターミナルコマンドの実行など、複数の手順が必要なコーディングタスクをコマンドに応じて実行します。コンパイルエラーやリンティングエラーに対応し、ターミナル出力を監視し、タスクが完了するまでループ内で自動修正を行います。エージェントは、提供されたツールを使用することもでき、これにより外部のMCPサーバーやVS Code拡張機能と連携して、多種多様なタスクを実行することが可能です。
全ユーザーが利用可能
チャットビューを開き、GitHubにサインインし、設定でchat.agent.enabledを設定し、チャットモードのドロップダウンでAgentを選択します。その設定が表示されない場合は、最新バージョンに更新した後、VS Codeをリロードしてください。今後数週間で、この機能はすべてのユーザーにデフォルトで展開され、設定は不要になります。
エージェントモードは次のようなシナリオで非常に便利です
- あなたのタスクが複数の手順を伴う場合。エージェントはコードを編集し、ターミナルコマンドを実行し、エラーを監視し、発生した問題を解決するために繰り返し作業を行います。
- 変更の範囲が不明確な場合。エージェントが関連するファイルとコンテキストを自動的に判断します。
- あなたのタスクが外部アプリやデータとの連携を必要とする場合。エージェントはMCPサーバーやVS Code拡張機能と統合します。
一方、タスクのスコープが明確な場合、迅速な対応を求める場合、またはLLMリクエストの数に対するより細かい制御が必要な場合は、編集モードを使用してください。
私たちはチャットビューと編集ビューを統合し、セッション履歴、チャットの別ウィンドウへの移動、作業セットビューの簡素化などの利点をもたらす統一されたチャット体験を開発しました。これらの機能はすべてエージェントモードでも利用可能になりました。
素晴らしいユーザーフィードバックを継続していただいており(ぜひ引き続きお寄せください!)、それが私たちが行った多くの改善のインスピレーションとなっています。特に注目すべきは以下の点です
- 元に戻すアクションが、最後にファイルを編集したツール呼び出しまでの変更を元に戻すようになりました。
- 同じワークスペースでの複数エージェントセッションのサポート(編集セッションが同じファイルを変更しない場合に最適です)
- エージェントがノートブックを作成および編集できるようになりました。
- ツール呼び出しの自動承認機能(ターミナルの自動承認は4月に提供予定)
- 多数のQoL改善とバグ修正
質問と編集の両方のエクスペリエンスが、エージェントと同様にツールを活用するアーキテクチャへと進化しています。この変更は、質問/編集/エージェントの各モードをすべてエージェント中心にし、全体的なユーザーエクスペリエンスを円滑にすることを目的としています。これにより、編集モードではedit_file
ツールを使用して速度を向上させ、編集モードと質問モードではエージェントによるコードベース検索である#codebase
を使用できるようになります。その結果、ツール呼び出しをサポートしない言語モデルは編集モードでは利用できなくなります。
エージェントの動作方法について詳しく知るには、前回の投稿をご覧ください。
拡張可能:MCPサーバーとVS Code拡張機能
VS Code拡張機能が特定のワークフローをカスタマイズできるように、エージェントの拡張性によってエージェントをニーズに合わせて調整できます。拡張性により、エージェントはブラウザアクションの実行(AI Webデバッグの実行)、チャットアプリやメモアプリへの接続、データベースとの連携、デザインシステムからのコンテキスト取得、GitHubからのイシューやリポジトリコンテキストの取得、そしてクラウドプラットフォームとの統合が可能です。エージェントモードの強みは、利用可能なツールの多様性と、ユーザーがツールを追加・削除できる柔軟性にあります。拡張機能はプレビュー版として全ユーザーに提供を開始します。
エージェントモードは以下のツールを使用できます。
- VS Codeによって提供される組み込みツール(図中の青色)。これらにより、エージェントはワークスペースの検索、コード変更の適用、ターミナルコマンドの実行、エディターからのコンパイルエラーやリンティングエラーの捕捉、ウェブサイトコンテンツの取得(手動でトリガーするには
#fetch
)などを行うことができます。 - MCPサーバーによって提供されるツール(図中の緑色)。
- VS Code拡張機能によって提供されるツール(図中の緑色)。
VS Codeチームが2016年にLanguage Server Protocol (LSP) を考案した際、その目標は言語サーバーと開発ツールの間の通信方法を標準化することでした。LSPが広く採用される標準となり、私たちのビジョンが実現されたことを誇りに思います。最近、LSPの背後にある思想が、アプリケーションがLLMにコンテキストを提供する方法を標準化する新しいプロトコル、Model Context Protocol (MCP) のインスピレーションとなりました。VS CodeのエージェントモードでMCPサーバーによって提供されるツールを使用することで、私たちはVS Codeに立ち返ったことになります。
開発者の制御について
すべてのタスクに、エージェントモードに追加したすべてのツールが必要なわけではなく、あらゆるAIワークフローと同様に、具体的に指定することでより良い結果が得られます。各シナリオに必要なツールを管理・有効化するためにツールUIを使用するか、プロンプトで#
を入力してツールを明示的に参照することをお勧めします。
完全な制御を提供するため、すべてのツール呼び出しはUIに透過的に表示され、承認が必要です(読み取り専用の組み込みツールを除く)。現在のセッション、ワークスペース、または今後のすべての呼び出しに対して、特定のツールを許可できます。セキュリティを維持しつつ、エージェントが常にすべてのツールを使用することを許可して中断を最小限に抑えたい場合は、Dev Containers拡張機能の使用を検討してください。これにより、エージェントによるすべての変更がコンテナ環境内で一定程度隔離されます(例えば、許可すればエージェントはリモートに変更をプッシュすることも可能です)。
利用開始
ワークフローに合わせてエージェントをカスタマイズするには、チャット入力のツールアイコンを選択し、その他のツールを追加…の流れに従ってください。または、MCPサーバーのドキュメントをお読みください。そこでは、構成形式、MCPサーバーの追加方法、既存のMCPクライアントアプリ (Claude Desktopなど) からMCPサーバーをインポートする方法が説明されています。VS Codeは、MCPサーバーの転送にローカルの標準入出力 (stdio
) とサーバー送信イベント (sse
) をサポートしています。
MCPの公式サーバーリポジトリは、MCPの汎用性を示す公式およびコミュニティ貢献のサーバーの優れた出発点です。ツールを提供する拡張機能をインストールするには、拡張機能ビューを開き、タグ@tag:language-model-tools
を使用して検索してください。
開発者としてMCPサーバーを作成してエージェントを拡張したり、拡張機能の作者であれば、VS Code拡張機能にツールを提供できます。ツールの作成に関するガイダンスとベストプラクティスについては、これらのドキュメントを参照してください。
今後の展望
エージェントモードは日々改善されており、その恩恵をいち早く受けるには、VS Code Insidersのインストールをご検討ください。VS Code Insidersを使用し、弊社のリポジトリでフィードバックを提供していただくことが、製品改善に協力いただく最良の方法です。次に、以下の開発を計画しています。
- カスタムツールセットと指示によるカスタムモードのサポート
- より高速なコード適用体験
- MCPサポートをツールからプロンプト、リソース、および最新の仕様更新へと拡張
- 速度向上のため、変更されたコードブロックに限定した編集のストリーミング
- エージェントモードセッションの特定の手順に簡単に戻れるチェックポイント
- 全体的なパフォーマンスとサービス品質の向上
最新のVS Code Stable版を使用していることを確認し、設定でchat.agent.enabledを設定し、モードのドロップダウンからAgentを選択してください。今すぐ試してみて、ご意見をお聞かせください!ドキュメントはこちらでご覧いただけます。
楽しいバイブスコーディングを!(MCPと拡張機能に対応!)
IsidorとVS Codeチーム