Visual Studio Code でエージェントを使用する

エージェントは、コーディングタスクを自律的に完了する AI アシスタントです。高レベルの目標を与えると、その目標をステップに分解し、プロジェクト全体のファイルを編集し、コマンドを実行し、問題が発生した場合は自己修正します。たとえば、失敗したテストの修正を提案する代わりに、エージェントは複数のファイルにわたる根本原因を特定し、コードを更新し、テストを再実行し、変更をコミットします。

エージェントはタスクをエンドツーエンドで処理します。これらを使用して、複数のファイルにわたる機能を構築したり、失敗したテストをデバッグして修正したり、フレームワーク間でリファクタリングしたり、統合ブラウザーで Web アプリをテストしたり、チームレビューのためにプルリクエストを送信したりできます。

この記事では、エージェントを操作する際に選択する事項について説明します。具体的には、使用するエージェントの種類、タスクを割り当てるエージェント、付与する自律性のレベル、作業を行う場所などです。

エージェントの仕組み

エージェントループ、エージェントがタスクを計画・実行する方法、メモリとサブエージェントの仕組みを理解します。

Screenshot of an agent session in VS Code showing code changes and chat interaction.

ヒント

VS Code の設定でエージェントを有効にします ( chat.agent.enabled VS Code で開く VS Code Insiders で開く この設定は組織レベルで管理されています。変更するには管理者にお問い合わせください。)。組織によってはエージェントが無効になっている場合があります。この機能を有効にするには、管理者に連絡してください。

エージェントを操作する際の重要な選択肢

エージェントの操作は、いくつかの決定に集約されます。それぞれをタスクごとに調整したり、いつでも考えを変えたりできます。

  • 作業場所の選択: エディターウィンドウまたは専用のエージェントウィンドウで作業します。
  • エージェントタイプの選択: エージェントがどこでどのように実行されるか(ローカルマシン、バックグラウンド、クラウド、サードパーティプロバイダー経由)を決定します。
  • エージェントの選択: 構築、計画、質問への回答など、タスクに合ったエージェントのペルソナと、適切な言語モデルを選択します。
  • 権限レベルの選択: エージェントがツールやコマンドを実行する自律性をどの程度持つかを決定します。

また、各エージェントの異なる強みを活用するために、セッションをあるエージェントから別のエージェントに引き継ぐこともできます。

エージェントを操作する場所

VS Code はエージェントを操作するための異なるサーフェスを提供しており、ワークフローに合ったものを選ぶか、それらを自由に移動することができます。

  • エージェントウィンドウ (エージェントファースト、プレビュー): 単一の場所から複数のプロジェクトにわたって作業するための専用ウィンドウです。チャットとセッションリストが主要なインターフェースで、エージェントにプロンプトを出し、達成したい機能的なタスクを記述します。主なワークフローがプロンプトで考え、ワークスペース全体でエージェントをオーケストレーションする場合に最適です。

  • チャットビュー (コードファースト): チャットは、VS Code のメインウィンドウでエディタータブと並んで表示され、デバッグ、ノートブック、拡張機能エコシステム、リモート開発に完全にアクセスできます。AI はチャット、インライン提案、エージェントセッションを通じてコーディングを支援します。主に単一のワークスペースでコードを記述および編集する場合に最適です。

どちらのサーフェスもエージェントセッションと、設定やキーバインディングなどの VS Code 構成を共有しており、スムーズな移行を可能にします。タイトルバーのエージェントで開くボタンでエージェントウィンドウを開きます。エージェントウィンドウの詳細はこちらをご覧ください。

エージェントの種類

エージェントは、結果が必要なタイミングや必要な監視レベルに応じて、さまざまな環境で実行されます。エージェントの種類とその仕組みの詳細については、こちらをご覧ください。

  • ローカル: VS Code エージェントループを使用して、ワークスペース、ツール、モデルに完全にアクセスしながら、エディターでエージェントをインタラクティブに実行します。
  • Copilot CLI: Copilot CLI を使用して、必要に応じて Git ワークツリーを使用して分離しながら、マシン上でバックグラウンドで実行します。
  • クラウド: GitHub Copilot を使用してリモートで実行し、GitHub のプルリクエストと統合してチームコラボレーションを実現します。
  • サードパーティ: Anthropic および OpenAI のサードパーティエージェントハーネスと SDK を使用して、ローカルマシンまたはクラウドで実行します。

チャットビューのエージェントターゲットドロップダウンからエージェントタイプを選択します。

Screenshot showing agent target dropdown in the Chat view.

所有しているリモートマシンでエージェントセッションを実行し、エージェントウィンドウブラウザー、またはスマートフォンからどこからでも監視することもできます。切断してもセッションはリモート上で実行され続けるため、ラップトップを閉じて後で確認できます。リモートエージェントセッションの詳細はこちらをご覧ください。

どのエージェントタイプを使用すればよいですか?

タスクに適したエージェントタイプを見つけるには、次の表を使用してください。

目的... 使用
コードベースに関するインタラクティブな繰り返し、回答の取得、計画、テストの失敗やデバッグ出力のようなエディターコンテキストが必要な問題の修正 ローカルエージェント
明確に定義されたタスクを実装したり、作業を続けながら概念実証を検討したりする Copilot CLI または クラウドエージェント
チームレビューのために PR を作成したり、GitHub の問題をエージェントに割り当てたりする クラウドエージェント
Anthropic や OpenAI などの特定の AI プロバイダーを使用する サードパーティエージェント

エージェントを選択する

エージェントタイプがエージェントが実行される場所である場合、エージェントは、その役割またはペルソナに基づいてタスクをどのように実行するかを決定します。たとえば、コードレビューアのペルソナを持つエージェントは、コードを変更するのではなく、コード変更の品質とスタイルをレビューし、フィードバックを提供することに重点を置きます。エージェントの定義により、使用できるツール、タスクの実行方法、他のエージェントへの潜在的な引き継ぎポイントが決まります。

チャットビューのエージェントドロップダウンからエージェントを選択します。セッション中にいつでもエージェントを切り替えることができます。

Screenshot showing the agent picker in the Chat view.

VS Code には 3 つの組み込みエージェントがあります。

  • エージェント: 複数のファイルにわたる変更を自律的に計画および実装し、ターミナルコマンドを実行し、ツールを呼び出します。
  • 計画: コードを記述する前に、構造化された段階的な実装計画を作成します。計画が適切に見える場合は、実装エージェントに引き継ぎます。
  • 質問: ファイルを変更せずに、コーディングの概念、コードベース、または VS Code 自体に関する質問に答えます。

より専門的なワークフローの場合は、特定の役割、利用可能なツール、言語モデルを定義する独自のカスタムエージェントを作成します。

セッション内では、タスクに最適な言語モデルを選択することもできます。迅速な編集や質問には高速モデルを、複雑な多段階作業にはより強力な推論能力を持つモデルを使用してください。チャットビューのモデルピッカーからいつでもモデルを切り替えることができます。言語モデルの詳細については、こちらをご覧ください。

権限レベルを選択する

エージェントはタスクを自律的に実行しますが、ツールやターミナルコマンドの呼び出しに関して、どの程度の自律性を持たせるかを制御できます。エージェントにより多くの自律性を与えることで効率は向上しますが、監視が減少する可能性があります。チャットビューの権限ピッカーでは、すべてのツール呼び出しを承認することから、エージェントに完全に単独で作業させることまで、各セッションの権限レベルを選択できます。

権限レベル 説明
デフォルトの承認 VS Code の設定で指定されている承認を使用します。デフォルトでは、読み取り専用および安全なツールのみが明示的な承認を必要としません。
承認をバイパス 確認ダイアログなしですべてのツール呼び出しを自動承認します。エージェントは作業中に質問を明確にするよう求める場合があります。
Autopilot (プレビュー) すべてのツール呼び出しを自動承認し、質問に自動応答し、エージェントはタスクが完了するまで自律的に作業を続行します。

セッション間で優先する権限レベルを保持するには、 chat.permissions.default VS Code で開く VS Code Insiders で開く 設定を構成します。

権限レベルとオートパイロットの詳細はこちらをご覧ください。

セッションを別エージェントに引き継ぐ

既存のタスクをあるエージェントから別のエージェントに引き継いで、それぞれの独自の強みを活用できます。たとえば、ローカルエージェントで計画を作成し、概念実証のために Copilot CLI に引き継ぎ、その後クラウドエージェントでチームレビューのためにプルリクエストを提出します。

ローカルエージェントセッションを引き継ぐには、チャット入力ボックスのセッションタイプドロップダウンから別のエージェントタイプを選択します。VS Code は、完全な会話履歴とコンテキストを引き継いだ新しいセッションを作成します。元のセッションは引き継ぎ後にアーカイブされます。

Screenshot showing the session type dropdown for handing off to another agent.

Copilot CLI セッションでは、チャット入力ボックスに/delegateコマンドを入力してクラウドエージェントに委任します。/delegateコマンドの後に、追加の指示を提供できます。

© . This site is unofficial and not affiliated with Microsoft.