Visual Studio Code のローカルエージェント
ローカルエージェントは、お使いのコンピューター上の Visual Studio Code 内で対話的に実行されます。現在のワークスペースで動作し、拡張機能が提供するツールや MCP サーバーなど、VS Code で利用可能なあらゆるツールやモデルにアクセスできます。カスタムエージェントを作成することで、コードレビュー担当者、テスター、ドキュメント作成者など、タスクに応じた特定の役割やペルソナをエージェントに担わせることができます。
ローカルエージェントは VS Code のチャットインターフェースで動作します。チャットセッションを閉じてもローカルエージェントはアクティブなまま維持され、セッションビューで追跡できます。
ローカルエージェントを使用する理由
- ブレインストーミング、計画立案、あるいは要件がまだ完全には定義されていないタスクなど、即時のフィードバックが必要な対話型の会話
- リンターエラー、スタックトレース、単体テスト結果など、開発環境のコンテキストが必要なタスク
- VS Code 拡張機能や MCP サーバーからの特定のツールへのアクセスが必要なタスク、または BYOK モデルなどの特定のモデルを使用する必要があるタスク
- 他のチームメンバーとの共同作業を必要としないタスク
主な特徴
- ローカルマシンの VS Code 内で実行され、現在のワークスペースで作業します
- リアルタイムのフィードバックと反復作業のための、対話型のチャットベースのインターフェース
- ワークスペース、ファイル、コンテキストへのフルアクセス
- 組み込みツール、MCP ツール、拡張機能が提供するツールなど、VS Code で構成されたすべてのエージェントツールにアクセス可能
- BYOK モデルや他のプロバイダーのモデルを含め、VS Code で利用可能なすべてのモデルを使用可能
組み込みエージェント
ローカルエージェントセッションでは、それぞれ異なるタイプのタスクに最適化された 3 つの組み込みエージェントのいずれかを使用します。チャットビューのエージェントピッカーから別のエージェントを選択することで、チャットセッション中にいつでもエージェントを切り替えることができます。より専門的なワークフローについては、独自のカスタムエージェントを作成できます。
エージェント
このエージェントは、ターミナルコマンドやツールの実行を必要とする可能性のある高度な要件に基づいた、複雑なコーディングタスクに最適化されています。AI は自律的に動作し、関連するコンテキストや編集すべきファイルを判断し、必要な作業を計画し、問題が発生した場合には反復的に解決を図ります。
VS Code はエディター内で直接コード変更を適用し、エディターのオーバーレイコントロールを使用して、提案された編集内容を確認したり、それらの間を移動したりできます。エージェントは、さまざまなタスクを達成するために複数のツールを呼び出すことがあります。
MCP サーバーの追加やツールを提供する拡張機能のインストールを行うことで、チャットを外部ツールでカスタマイズできます。
エージェントとのチャットを開く: Stable | Insiders
エージェントのオプションが表示されない場合は、VS Code の設定でエージェントが有効になっていることを確認してください( chat.agent.enabled この設定は組織レベルで管理されています。変更については管理者に連絡してください。)。組織によってエージェント機能が無効にされている可能性もあります。この機能を有効にするには管理者に連絡してください。
Plan
プランエージェントは、コーディングタスクのための構造化された実装計画を作成するのに最適化されています。複雑な機能や変更を実装する前に、より小さく管理しやすいステップに分解したい場合は、プランエージェントを使用してください。
プランエージェントは必要な手順を網羅した詳細な計画を作成し、タスクを包括的に理解するために明確な質問を投げかけます。その後、作成された計画を実装エージェントに引き渡すか、ガイドとして利用できます。
Plan(計画)とのチャットを開く: Stable | Insiders
エージェントを使った計画について詳しく学ぶ。
Ask(質問)
Ask 機能は、コードベース、コーディング、一般的な技術概念に関する質問に答える際に最適です。仕組みを理解したい場合、アイデアを探求したい場合、またはコーディングタスクのサポートが必要な場合に Ask を使用してください。
Ask はエージェント機能を活用してコードベースを調査し、関連するコンテキストを収集します。回答には、コードベースに個別に適用できるコードブロックが含まれることがあります。コードブロックを適用するには、コードブロックにマウスホバーし、Apply in Editor(エディターに適用)ボタンを選択します。
Ask を使用してチャットを開く: Stable | Insiders
編集モード (非推奨)
編集モードは非推奨になりました。複数ファイルのコード編集にはエージェントモードを使用してください。 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 を押してプロンプトを送信します。
よくある質問
言語モデルは私のローカルマシン上で実行されますか?
言語モデルの場所はエージェントタイプには依存しません。エージェントタイプはエージェントハーネス(エージェントオーケストレーションロジック)がどこで実行されるかを決定します。例えば、ローカルエージェントはマシン上の VS Code 内で実行されますが、Copilot クラウドエージェントはリモートサーバー上で実行されます。
言語モデルの場所は、リクエストに対して選択したモデルプロバイダーによって異なります。例えば、GitHub Copilot が提供するモデルを選択した場合、それはリモートインフラストラクチャ上で実行されます。もしマシン上やプライベートインフラストラクチャ上で実行されているモデルに接続する BYOK モデル を選択した場合、モデルはその場所で実行されます。
関連リソース
- エージェントの概要: エージェントの選択、権限の構成、エージェントタイプ間の引き継ぎ。
- チャットセッションの管理: セッションの作成、切り替え、整理。
- エージェントチュートリアル: さまざまなエージェントタイプを操作するための実践的なチュートリアル。
- ツール: 組み込みツール、MCP、拡張機能ツールでエージェントを拡張。
- カスタムエージェント: 独自の AI エージェントや拡張機能を作成。