エージェントを実務レベルの開発で使いやすく
2026年3月5日、VS Codeチーム、@code
エージェントは、より複雑で長時間にわたる開発タスクを担うようになっています。
2026年2月リリース(1.110)では、エージェントの挙動、ツールへの統合、そしてセッションをまたいだプロジェクトコンテキストの保持をより細かく制御できるようにすることで、Visual Studio Code内でのワークフローをより実用的なものにします。
フックによるポリシーの強制から、応答中のエージェントへのガイダンス、統合ブラウザツールによるUI機能の検証、エディタへの直接的な構造化スキルの導入まで、今回のリリースでは、エージェントが実際の開発作業において信頼できる協力者となることに焦点を当てています。
エージェントに適切なコンテキストを与える
コードベースは多くの場合、複雑なアーキテクチャとプロジェクト構造を持ち、数千ものファイルで構成されていることがあります。エージェントは、特にセッションが長くなるにつれて、焦点を見失ったり、適切な情報を見つけるのに苦労したりすることがあります。
今回のリリースでは、エージェントが大量の出力を効率的に処理する方法や、手元のタスクで最も重要な部分を記憶する方法を改善し、どの情報を破棄できるかをユーザーが制御できるようにしました。
大量の出力を扱う
巨大な差分、生成されたファイル、または膨大なログは、インラインコンテキストとして扱われるとセッションを圧倒してしまう可能性があります。
エージェントとLLMは、ファイルの取り扱いに長けています。VS Codeは、それらの出力を一時ファイルにストリーミングし、モデルにとって最も関連性の高い情報を優先することで、大量の出力を管理できるようになりました。これにより、余計な手間をかけずにコンテキストの使用を最適化しつつ、エージェントが適切な詳細情報に集中できるようになります。
UIの観点からは、チャット会話における大規模なツール出力は、セッションの流れを追いにくくさせる原因となっていました。VS Codeでは、ターミナルの出力を折りたたみ可能なセクションに配置することで、必要なときに詳細を確認できるようにしつつ、セッションを整理された状態に保てるようになりました。
エージェントのメモリを共有する
Visual Studio Codeのエージェントは、メモリを使用して関連するコンテキストを保持します。このエージェントメモリは、コーディングエージェント、CLIワークフロー、コードレビューのやり取りを横断して機能するようになりました。
セッションごとにゼロからやり直すのではなく、エージェントはユーザーの好みを記憶し、過去のタスクからの教訓を適用し、時間の経過とともにコードベースに関する知識を蓄積します。
アーキテクチャの決定事項、命名規則、過去のリファクタリングなどが会話の一部として残るため、意図を説明し直す時間を減らし、作業を継続する時間を増やすことができます。
長いセッションを圧縮する
会話が拡大するにつれて、VS Codeは自動的に古い履歴を圧縮します。以前の議論が要約され、重要な決定事項が保持されることで、進行中の作業のためのスペースが確保されます。
以前は、コンテキストの圧縮がいつ行われるか、圧縮後にどの情報が保持されるかを制御できませんでした。例えば、複数の実装バリエーションを議論しても、そのうちの一つだけが重要で、それを基に構築を進めたいといった場合がありました。
今では、/compactと入力することで、セッションのコンテキスト圧縮を手動で実行できるようになりました。さらに、実行時に、どの情報を保持し、どの情報を破棄するかについて、エージェントに追加の指示を与えることも可能です。
特に長時間稼働するセッションで多くのコンテキストを扱う場合、圧縮を制御することでエージェントの焦点を重要な情報に絞り続けることができます。

エージェントの制御
エージェントがより多くの責任を負うようになるにつれ、エージェントが生成するものと同じくらい、エージェントとのやり取りの仕方が重要になります。これらのアップデートにより、作業中の会話の制御や成果の誘導が容易になります。
作業中にエージェントを導く
エージェントが間違った方向に進んでいることが、リクエスト完了前であっても明白な場合があります。
以前は、応答を別の方向に修正する前に、完了するまで待つ必要がありました。今では、エージェントが応答を生成している最中に介入し、再起動したりコンテキストを失ったりすることなく、作業の方向性を修正することができます。
また、エージェントが実行すべき追加のタスクを思いついた場合、現在のタスクが完了した後に実行するよう、フォローアップリクエストをキューに入れることができます。複数のリクエストをキューに入れた場合は、それらを実行する順序を簡単に変更できます。
例えば、以下のように明確化できます。
- このコンポーネントのみを修正する
- 既存のユーティリティを再利用する
- バックエンドAPIへの変更は避ける
無駄な編集を減らし、フィードバックループを短縮し、軌道を外れない会話を実現します。
例えば、ヒーローカードにゴールドのアクセントとシマー効果を追加する新しいスタイリングガイドラインが導入された際、エージェントは既存のCSSを見直し、セッションを再起動することなく実装を継続します。
コンテキストを失わずに代替案を探索する
問題を解決する方法やデザインの選択肢は複数あることがよくあります。その都度チャットセッションを分けることもできますが、既存のコンテキストや会話履歴をコピーする必要がありました。
この体験をより簡単にするために、チャットセッションをフォーク(分岐)できるようになりました。これにより、元のセッションの会話履歴を引き継ぐ新しい独立したセッションが作成されます。フォークされたセッションは元のセッションとは完全に分離されているため、一方の変更が他方に影響を与えることはありません。
/forkと入力して会話全体をコピーするか、特定のチェックポイントでフォークボタンを使用して、その時点までの会話をフォークすることができます。
以下のデモでは、/forkを使用して、元の議論に影響を与えることなく、より最小限のデザイン案を模索する並列スレッドを作成しています。
フックによる自動化
チームは多くの場合、一貫性を維持するために慣習、検証、または自動化されたチェックに依存しています。
フックは主要なライフサイクルイベントで決定論的に実行されます。これにより、繰り返しプロンプトを入力しなくても、エージェントによる変更をプロジェクト標準に準拠させるためのポリシーやガードレールをチームで強制できるようになります。
例えば、編集が適用される前に自動的にコードをリンティングする、保護された設定ファイルへの変更をブロックする、あるいはエージェントがアプリケーションロジックを変更するたびにテストスイートをトリガーするといったことが可能です。
これにより、常時監視しなくても、エージェントによる変更をプロジェクトの基準に合わせることができます。
以下のデモでは、セッション終了時に停止フックが実行され、コミットされていない変更を検出して自動的にコミットおよびプッシュする様子を示しています。
エージェントの拡張性
エージェントは、すでに依存しているツールやワークフローに自然に統合されたときに最も役立ちます。これらのアップデートは、開発ループを完結させるより豊かなエージェント体験をもたらし、スキルは必要に応じて呼び出せる再利用可能なビルディングブロックを提供します。
必要なときにエージェントスキルを実行する
多くの開発タスクはセッションをまたいで繰り返されます。
テストの作成、コードのリファクタリング、変更のレビューは、多くの場合、すでに理解しているパターンに従います。
毎回指示を書き直す代わりに、スラッシュコマンドを使用してチャットから直接エージェントスキルを呼び出すことができます。スキルは、組み込み機能、拡張機能、またはプロジェクト固有のツールから提供されます。
曖昧なプロンプトを入力する代わりに、意図を持ってワークフローを呼び出すことができます。
例えば
/tests:検証テストを生成する/explain:慣れていないコードにドキュメントを生成する/fix:特定のエラーをターゲットにする
利用可能なスキルはデフォルトで/メニューに表示されるため、発見しやすく、セッション間で簡単に再利用できます。
以下のビデオでは、フロントエンドのデザインスキルがワークフローを端から端まで推進し、新しいUIコンポーネントの実装、ライブデータの統合、結果の検証までをVS Codeを離れることなく実行する様子を示しています。
エディタを離れずに変更を検証する
エージェントはすでに、UI以外のコード変更を検証するためのユニットテストの生成と実行において高い効果を発揮しています。
しかし、フロントエンドの動作確認は、手動テストや目視によるスクリーンショットの比較に頼ることが多くありました。
ブラウザエージェントツールを使用することで、エージェントはVS Code内の統合ブラウザで直接アプリケーションを開き、やり取りできるようになりました。
これにより、エージェントはUI変更の実装、実行中のアプリケーションの読み込み、結果の検査を行い、期待通りに動作しない場合はコードを調整することができます。
実装、検査、検証が同じワークフロー内で完結するため、エディタを切り替えることなく素早いイテレーションが可能になります。
以下の例では、統合ブラウザがページナビゲーションに従って動作するため、アプリケーションとやり取りしながら変更を検証できます。
ツールを横断するワークフロー統合
開発作業は、ターミナルとエディタの間を頻繁に行き来します。
そのため、Copilot CLIがVS Codeに統合されました。これには、差分タブ、信頼されたフォルダーの同期、右クリックによるコードスニペットの送信などのネイティブサポートが含まれます。接続は/ideを実行して管理できます。
CLIとエディタは連携を保ち、作業の進捗に合わせてコンテキストを共有します。
実践的な流れ
- CLIプロセスが変更を生成
- VS Codeがそれらを差分として表示
- エディタ上で直接修正を確認し、承認

VS Codeにおけるエージェントの次なるステップ
エージェントは、日常的な開発の自然な一部となりつつあります。ユーザーがワークフローをエージェントに合わせる必要はありません。エージェントがユーザーの構築方法に適応すべきなのです。
2026年2月リリース(1.110)により、VS Codeはエージェントの挙動をより細かく制御できるようになりました。ツールへの自然な統合と、セッション間でのコンテキスト共有を実現します。
私たちはこれらをオープンに構築しています。フィードバックやアイデアがある場合、あるいは問題に遭遇した場合は、VS Codeリポジトリでディスカッションを開くか、課題を報告してください。または、SNSで私たちを見つけてください。ご連絡をお待ちしております。
これらの機能がどのように開発者ワークフローを向上させるかを知りたいですか?
3月19日午前8時(PST)に開催されるVS Codeリリースのライブストリームにぜひご参加ください。通知をオンにしましょう!
ハッピーコーディング!💙