Agent Mode
VS Code内で動作する自律型エージェント。ファイル編集、ターミナルコマンド実行、エラー自動修正を組み合わせてタスクを完了します。
4つのチャットモード
GitHub Copilot Chatには4つのモードがあり、タスクの性質に応じて使い分けます。VS Codeのチャットパネル上部のドロップダウンで切り替え可能です。
| モード | 動作 | ファイル編集 | コマンド実行 | 用途 |
|---|---|---|---|---|
| Ask Mode | 質問応答 | 不可 | 不可 | コードの説明、概念の理解、設計相談 |
| Edit Mode | ファイル編集 | 可能 | 不可 | コード修正、リファクタリング、バグ修正 |
| Agent Mode | 自律タスク完了 | 可能 | 可能 | 複数ファイルにまたがる機能実装、テスト作成 |
| Plan | 設計・計画立案 | 不可 | ワークスペース解析 | 実装前のゲート。リスク特定と手戻り防止 |
Agent Modeは最も強力ですが、すべてのタスクにAgent Modeを使う必要はありません。簡単な質問にはAsk Mode、単一ファイルの修正にはEdit Modeが効率的です。適材適所で使い分けましょう。
Agent Modeの仕組み
Agent Modeはタスクを受け取ると、以下のサイクルを自律的に繰り返してタスクを完了します。
ファイル読み込み
関連するファイルを自動的に特定し、コンテキストとして読み込みます。ワークスペース全体の構造を把握した上で、必要なファイルを選択します。
コード編集
新しいファイルの作成や既存ファイルの変更を行います。変更内容はdiffとして表示され、ユーザーの承認を待ちます。
ターミナルコマンド実行
ビルド、テスト実行、パッケージインストールなどのコマンドを実行します。コマンド実行前にユーザーの承認を求めます。
エラー自動修正
テスト失敗やビルドエラーを検出すると、エラーメッセージを分析し、修正を試みます。このサイクルはタスクが完了するまで繰り返されます。
Agent Modeの各ステップでは、デフォルトでユーザーの承認が求められます。github.copilot.chat.agent.autoApprove 設定で自動承認のレベルを調整できますが、最初は手動承認で動作を理解することを推奨します。
巻き戻し機能(Checkpoints)
Agent Modeでの変更を任意の時点に巻き戻せます:
{
"chat.checkpoints.enabled": true
}エージェントが意図しない方向に進んだ場合、チェックポイントから「やり直し」が可能。実験的な実装を安全に試せます。
Checkpointsを有効にしておけば、Agent Modeで大胆な変更を試してもリスクゼロ。うまくいかなければワンクリックで巻き戻せます。
Agentic Loop — 自己修正ループの仕組み
Agent Modeは以下の3フェーズのループ構造で「考え、実行し、修正」します。
read_file, edit_file, run_in_terminal などのツールを呼び出し。複数ファイルを横断的に編集。テストやビルドをターミナルで実行。Self-Healing(自己修正)がAgent Modeの真の強みです。エラーが出ても人間が介入する必要はありません。エージェントが自動でデバッグし、成功するまでリトライします。
4種類のエージェント
本ページの「4種類のエージェント」は、GitHub Copilotの体験を理解しやすくするための本ガイド上の便宜的な分類です。公式の製品分類・機能名とは完全には一致しません。
GitHub Copilotのエージェントは動作環境と実行方式によって4種類に分類されます。
| エージェント | 環境 | 実行方式 | 特徴 |
|---|---|---|---|
| Local Agent | VS Code | 対話型 | Agent Mode。ユーザーと対話しながらタスクを完了 |
| CLI Agent | ターミナル | バックグラウンド | Copilot CLI。ターミナルで非同期実行も可能 |
| Cloud Agent | GitHub Actions | 完全自律 | Coding Agent。Issue → PR を自動化 |
| Third-Party Agent | 外部プロバイダー | プロバイダー依存 | Anthropic (Claude)、OpenAIなどの外部エージェント統合 |
Third-Party Agentは、VS Code内からClaude CodeやOpenAI Codexなどの外部エージェントを呼び出す機能です。各エージェントの得意分野に応じて使い分けることで、開発効率を最大化できます。
並列セッション
Agent Modeでは複数のセッションを同時に実行できます。各セッションは独立したコンテキストを持ち、互いに干渉しません。
並列セッションの活用例
- フロントエンド + バックエンド — 一方のセッションでUI実装、もう一方でAPI実装を同時に進行
- 実装 + テスト — メイン機能の実装と並行して、別セッションでテストを作成
- 調査 + 実装 — Ask Modeで技術調査しながら、Agent Modeで実装を進行
# VS Code: Ctrl+Shift+P (Cmd+Shift+P)
# → "Copilot: New Chat Session" を選択
# 各セッションはタブとして管理される並列セッションで同じファイルを同時に編集すると競合が発生する可能性があります。各セッションが異なるファイルやモジュールを担当するように分割してください。
モデル選択
Agent Modeでは複数のAIモデルから選択できます。タスクの複雑さとPremiumリクエストの残量に応じて最適なモデルを選びましょう。
モデル選択の鉄則(コスト vs 品質の最適バランス)
| 用途 | 推奨モデル | Premium消費 | 理由 |
|---|---|---|---|
| 日常コーディング・補完 | GPT-4.1 mini | ゼロ | 高速、コスト不要 |
| 通常の実装タスク | Claude Sonnet 4.6 | 1リクエスト | 品質とコストのバランス最良 |
| 大規模リファクタ・複雑推論 | Claude Opus 4.6 | 高消費 | 最高精度、大規模変更向き |
| コード分析・計画 | GPT-5.3-Codex | 1リクエスト | 高速な分析・計画に最適 |
| 数学的推論 | o3 | 高消費 | 論理的・数学的タスク特化 |
@model構文によるモデル切り替え
- チャット内 —
@model claude-sonnet-4-6と入力 - ドロップダウン — チャットパネル上部のモデル選択メニュー
- CLI —
/modelコマンドでセッション中に切り替え
Premiumリクエスト節約の鉄則: 日常作業はGPT-4.1 mini(無料)、重要な実装はSonnet、大規模リファクタだけOpusを使う。これで月間枠を3倍長持ちさせられます。
Handoff
Handoff機能(/delegate)を使うと、現在のエージェントセッションから別のエージェントにタスクを引き継ぐことができます。
使い方
/delegate このコードのセキュリティレビューを実施してください/delegate を使うと、現在のコンテキスト(開いているファイル、会話履歴など)を保持したまま、指定したエージェントにタスクが転送されます。
活用パターン
- 実装 → レビュー — 実装完了後にレビュー専門のエージェントに引き渡し
- 分析 → 実装 — Ask Modeでの調査結果をAgent Modeに引き継いで実装
- ローカル → クラウド — Agent Modeで計画を立て、Coding Agentに実装を委譲
Handoffはエージェント間でコンテキストを共有するため、引き継ぎ先のエージェントは前段の作業内容を理解した状態でタスクを開始できます。これにより、専門性の異なるエージェントを組み合わせたワークフローが実現します。
NES(Next Edit Suggestions)
NES(Next Edit Suggestions)で波及修正ゼロ
コード一部変更後(関数名変更など)、Copilotが「次に直すべき波及箇所」をghost textで自動予測します。
ワークフロー
- 1箇所のコード変更を行う(例: 関数名変更)
- Copilotが関連ファイルの波及修正をghost textで提案
Tabキーで承認 → 次の修正箇所が自動表示Tab連打で全修正完了
公式ブログの例では、クラス名1箇所の変更で20ファイルの波及修正をNESが瞬時に提案。手戻り90%減、大規模リファクタリング時の修正漏れゼロを実現。
最終確認チェックリスト
Agent Modeで自律実装した後、以下を必ず人間が確認してください:
- 仕様整合: 実装が元の要件を満たしているか
- セキュリティ: 認証・認可・入力バリデーションに問題がないか
- テスト: テストが追加/更新され、全パスしているか
- コスト: Premium Request消費が想定範囲内か
- 副作用: 意図しないファイル変更や依存関係の追加がないか
Agent Modeの Self-Healing(自己修正)は強力ですが、「動く」と「正しい」は別です。特にビジネスロジックとセキュリティは人間のレビューが不可欠です。