エージェント型開発を探求する -

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

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

VS Code では、ワークフローに合わせてエージェントを実行できます。エディター内で対話的に操作することも、CLI からバックグラウンドで自律的に実行させることも可能です。エージェントは、ローカルマシン、リモートクラウド環境、または Anthropic や OpenAI といったサードパーティプロバイダー経由で実行できます。すべてのツール呼び出しを承認するのか、完全に自律的に動作させるのかといった自律性のレベルを決定できるほか、カスタムエージェントを作成してプロジェクトに合わせて動作を調整することも可能です。

実行場所に関わらず、すべてのセッションはチャットビュー内の単一のセッションリストから監視および操作できます。

エージェントの仕組み

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

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

ヒント

VS Code の設定でエージェントを有効にします( chat.agent.enabled Open in VS Code Open in VS Code Insiders This setting is managed at the organization level. Contact your administrator to change it.)。組織の設定でエージェントが無効になっている場合があります。この機能を利用するには管理者に連絡してください。

エージェントの種類

エージェントは、結果が必要なタイミングと必要な監視のレベルに応じて、異なる環境で実行されます。重要な2つの側面は、エージェントが「どこで」実行されるか(ローカルマシンかクラウドか)と、どのように「対話」するか(対話型か、バックグラウンドでの自律型か)です。

  • ローカル: VS Code のエージェントループを使用し、エディター内で対話的にエージェントを実行します。ワークスペース、ツール、モデルへのフルアクセスが可能です。
  • Copilot CLI: Copilot CLI を使用してマシン上のバックグラウンドで実行します。必要に応じて Git worktree を使用して分離することも可能です。
  • クラウド: GitHub Copilot を使用してリモートで実行し、チームコラボレーションのために GitHub プルリクエストと統合します。
  • サードパーティ: Anthropic や OpenAI が提供するサードパーティエージェントハーネスおよび SDK を使用し、ローカルマシンまたはクラウドで実行します。

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

Screenshot showing agent target dropdown in the Chat view.

どのエージェントタイプを使用すべきか?

以下の表を使用して、タスクに最適なエージェントタイプを見つけてください。

目的 使用するエージェント
アイデアのブレインストーミング、探索、反復的な作業 ローカルエージェント
コードベースに関する回答を得る ローカルエージェント (Ask)
構造化された実装計画を作成する ローカルエージェント (Plan)
エディターのコンテキスト(テストの失敗、リンティングエラー、デバッグ出力)が必要な問題を修正する ローカルエージェント
統合ブラウザを使用してWebアプリを構築およびテストする (実験的) ローカルエージェントブラウザエージェントのテストガイドを参照してください。
特定の VS Code 拡張ツールや MCP サーバーを使用する ローカルエージェント
自分が作業を継続しながら、明確に定義されたタスクを実装する Copilot CLI または クラウドエージェント
複数のバリエーションや概念実証(PoC)を探索する Copilot CLI または クラウドエージェント
チームレビューやコラボレーションのためにプルリクエストを作成する クラウドエージェント
GitHub Issue をエージェントに割り当てる クラウドエージェント
特定のAIプロバイダー(Anthropic、OpenAI)を使用する サードパーティエージェント

エージェントを選択する

エージェントタイプが「どこで」エージェントが実行されるかを示すのに対し、エージェントの役割(ペルソナ)はタスクを「どのように」実行するかを決定します。例えば、コードレビュアーというペルソナを持つエージェントは、コードを変更するのではなく、品質やスタイルの観点から変更をレビューし、フィードバックを提供することに集中します。エージェントの定義によって、使用可能なツール、タスクの実行方法、他のエージェントへの引き継ぎポイントが決まります。

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

Screenshot showing the Chat view with the agent picker expanded, displaying different agent options.

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

  • Agent: ファイル間での変更の計画と実装、ターミナルコマンドの実行、ツールの呼び出しを自律的に行います。
  • Plan: コードを書く前に、構造化されたステップバイステップの実装計画を作成します。計画が固まったら、実装エージェントに引き継ぎます。
  • Ask: ファイルを変更することなく、コーディングの概念、コードベース、または VS Code 自体に関する質問に回答します。

より専門的なワークフローが必要な場合は、特定の役割、利用可能なツール、言語モデルを定義したカスタムエージェントを作成してください。

権限レベルを選択する

エージェントはタスクを自律的に実行しますが、ツールやターミナルコマンドの呼び出しに対する自律性のレベルを制御できます。エージェントに高い自律性を与えると効率は向上しますが、監視が減る可能性があります。チャットビューの権限ピッカーでは、ツール呼び出しの都度承認を求める設定から、エージェントに完全に任せる設定まで、セッションごとに権限レベルを選択できます。

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

権限レベルと Autopilot について詳しく学ぶ。

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

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

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

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

Copilot CLI セッションでは、チャット入力ボックスに /delegate コマンドを入力してクラウドエージェントに委任します。/delegate コマンドの後に補足的な指示を追加することも可能です。

コーディングタスクをエージェントに割り当てる

GitHub Pull Requests 拡張機能をインストールすると、コード内の TODO コメントの実装をエージェントに割り当てることができます。

Screenshot of assigning a TODO comment to Copilot coding agent.

GitHub.com 上、または GitHub Pull Requests 拡張機能を使用して、GitHub Issue を copilot に割り当てるか、Issue のコメントやプルリクエスト内で言及することで、コーディングエージェントにタスクやコードレビューを依頼できます。

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