Visual Studio Codeのローカルエージェント
ローカルエージェントは、お使いのコンピューター上のVisual Studio Code内で対話的に実行されます。現在のワークスペースで動作し、拡張機能が提供するツールやMCPサーバーなど、VS Codeで利用可能なあらゆるツールやモデルにアクセスできます。カスタムエージェントを作成することで、コードレビュー担当者、テスター、ドキュメント作成者など、タスクに応じた特定の役割やペルソナをエージェントに担わせることができます。
ローカルエージェントはVS Codeのチャットインターフェースで動作します。チャットセッションを閉じてもローカルエージェントはアクティブなまま維持され、セッションビューで追跡できます。
なぜローカルエージェントを使うのか?
- ブレインストーミング、計画立案、あるいは要件がまだ完全には定義されていないタスクなど、即時のフィードバックが必要な対話型の会話
- リンティングエラー、スタックトレース、ユニットテストの結果など、開発環境のコンテキストを必要とするタスク
- VS Code拡張機能やMCPサーバーの特定のツールへのアクセスが必要なタスク、またはBYOKモデル(独自のキーを使用するモデル)のような特定のモデルを使用する必要があるタスク
- 他のチームメンバーとの共同作業を必要としないタスク
主な特徴
- ローカルマシンのVS Code内で実行され、現在のワークスペースで動作する
- リアルタイムのフィードバックと反復作業のための、インタラクティブなチャットベースのインターフェース
- ワークスペース、ファイル、コンテキストへの完全なアクセス権
- 組み込みツール、MCPツール、拡張機能が提供するツールなど、VS Codeで構成されたすべてのエージェントツールにアクセス可能
- BYOKモデルや他プロバイダーのモデルを含む、VS Codeで利用可能なすべてのモデルを使用可能
組み込みエージェント
ローカルエージェントセッションでは、それぞれ異なる種類のタスクに最適化された3つの組み込みエージェントのいずれかを使用します。チャットビューのエージェントピッカーから別のエージェントを選択することで、チャットセッション中にいつでもエージェントを切り替えることができます。より専門的なワークフローが必要な場合は、独自のカスタムエージェントを作成することも可能です。
エージェント
Agentは、ターミナルコマンドやツールの実行が必要となるような、ハイレベルな要件に基づく複雑なコーディングタスクに最適化されています。AIは自律的に動作し、関連するコンテキストや編集すべきファイルを特定し、必要な作業を計画し、問題が発生した場合には反復的に解決を図ります。
VS Codeはエディター上で直接コード変更を適用します。エディターオーバーレイのコントロールにより、提案された編集箇所を移動してレビューすることができます。エージェントは、さまざまなタスクを達成するために複数のツールを呼び出すことがあります。
MCPサーバーの追加や、ツールを提供する拡張機能をインストールすることで、チャットをツールでカスタマイズすることができます。
Agentでチャットを開く: Stable | Insiders
エージェントのオプションが表示されない場合は、VS Codeの設定でエージェントが有効になっていることを確認してください( chat.agent.enabled This setting is managed at the organization level. Contact your administrator to change it.)。組織の設定でエージェントが無効になっている可能性もあります。この機能を有効にするには管理者に連絡してください。
Plan
Planエージェントは、コーディングタスクのための構造化された実装計画を作成することに最適化されています。複雑な機能や変更を実装する前に、管理可能な小さなステップに分解したい場合はPlanエージェントを使用してください。
Planエージェントは必要な手順を網羅した詳細な計画を作成し、タスクを包括的に理解するために確認用の質問を行います。作成された計画は、実装エージェントに引き継いだり、ガイドとして使用したりすることができます。
Planでチャットを開く: Stable | Insiders
エージェントによる計画について詳しく学びましょう。
Ask
Ask機能は、コードベース、コーディング、一般的な技術概念に関する質問への回答に最適です。何かがどのように機能するかを理解したいとき、アイデアを探求したいとき、あるいはコーディングタスクの助けが必要なときにAskを使用してください。
Askはエージェント機能を使用してコードベースを調査し、関連するコンテキストを収集します。回答には、コードベースに個別に適用できるコードブロックが含まれる場合があります。コードブロックを適用するには、コードブロックにホバーしてApply in Editorボタンを選択します。
Askを使用してチャットを開く: Stable | Insiders
Editモード(非推奨)
Editモードは非推奨となりました。複数ファイルにわたるコード編集にはAgentモードを使用してください。Editモードを復元するには、 chat.editMode.hidden 設定を有効にしてください。
開始方法
バックグラウンドエージェントやクラウドエージェントを含む、さまざまなエージェントタイプの操作方法を実演する実践的なチュートリアルについては、エージェントチュートリアルを参照してください。
ローカルエージェントセッションを開始するには
-
チャットビューのエージェントピッカーからAgentを選択します。
-
チャット入力フィールドにハイレベルなプロンプトを入力します。例えば、次のように質問できます。
Implement a user authentication system with OAuth2 and JWT.または
Set up a CI/CD pipeline for this project. -
ツールピッカーを使用してツールを有効にし、エージェントの機能を拡張します。
-
Sendを選択するか、Enterを押してプロンプトを送信します。
-
エージェントがリクエストを処理する過程で、コードの変更やツールの呼び出しをレビューして承認します。
エージェントの作業中にもフォローアップのプロンプトを送信できます。メッセージを後で実行するようにキューに入れたり、エージェントを新しい方向に誘導したり、あるいは中断して即座に別のメッセージを送信したりすることが可能です。リクエスト実行中にメッセージを送信する方法の詳細をご覧ください。
ヒントVS Codeは、ワークスペースの設定ファイルや環境設定など、機密性の高いファイルへの意図しない編集を保護するのに役立ちます。機密ファイルの編集の詳細をご覧ください。
Askを開始するには
-
チャット入力フィールドにプロンプトを入力します。例えば、次のように質問できます。
Provide 3 ways to implement a search feature in React.または
Where is the db connection configured in this project? #codebase -
チャットビューのエージェントピッカーからAskを選択します。
-
必要に応じて、プロンプトにコンテキストを追加し、より正確な回答を得ることができます。
-
Sendを選択するか、Enterを押してプロンプトを送信します。
関連リソース
- エージェントの概要: エージェントの選択、権限の設定、エージェントタイプ間の引き継ぎ。
- チャットセッションの管理: セッションの作成、切り替え、整理。
- エージェントチュートリアル: さまざまなエージェントタイプを操作するための実践的なチュートリアル。
- ツール: 組み込みツール、MCP、拡張機能ツールを使用してエージェントを拡張。
- カスタムエージェント: 独自のAIエージェントと拡張機能を作成。