結論:GitHub Copilot Agent Modeは「指示を出すだけでコードが完成する」自律型コーディングの本命ツール
この記事の要点
- Agent Modeは「コード補完」から「タスク完遂」へ — ファイル横断編集、ターミナル操作、テスト実行まで自律的に行う
- IDE内Agent Mode と Coding Agent の2種類 — ローカル開発とGitHub Issues起点の非同期処理を使い分ける
- プレミアムリクエスト制 — モデルごとの倍率を理解しないとコストが跳ね上がる
対象読者:GitHub Copilotの基本的なコード補完は使ったことがある開発者
難易度:中級(intermediate)
読了時間:約15分
2025年2月のプレビュー公開から約1年。GitHub Copilot Agent Modeは、もはや「コード補完ツール」の枠を完全に超えました。自然言語で「認証機能を追加して」と指示するだけで、関連ファイルの特定、コード生成、パッケージインストール、テスト実行までを自律的にループ処理する——いわばAIペアプログラマーからAIジュニアエンジニアへの進化です。
2026年3月時点でGitHub Copilotの有料ユーザーは470万人を超え、Agent Modeの利用は急速に拡大しています。一方で、プレミアムリクエストの消費量やモデル選択によるコスト差など、理解せずに使うと月額が想定の数倍になるケースも報告されています。
本記事では、Agent Modeのアーキテクチャから実践的なハンズオン、コスト管理の注意点まで、実務で使いこなすための知識を網羅的に解説します。AIエージェントの基本概念をまだ押さえていない方は、先にそちらを読んでおくとスムーズです。
GitHub Copilot Agent Modeとは? — 全体アーキテクチャ
2つのAgent:IDE Agent Mode と Coding Agent
GitHub Copilotには、実は2種類のエージェント機能が存在します。混同されがちですが、用途も動作環境もまったく異なります。
| 項目 | IDE Agent Mode | Coding Agent |
|---|---|---|
| 動作環境 | VS Code / Visual Studio(ローカル) | GitHub Actions(クラウド) |
| 起動方法 | Copilot Chatでモード切替 | GitHub IssueにCopilotをアサイン |
| 出力 | ローカルファイルへの直接編集 | プルリクエストの自動作成 |
| ユースケース | 開発中のリアルタイム支援 | バックグラウンドでのタスク処理 |
| 操作感 | 対話型(承認しながら進める) | 非同期(結果をPRで確認) |
内部処理のループ構造
IDE Agent Modeの内部アーキテクチャは、以下のようなツールベースのループ構造になっています。
ユーザーの指示
↓
[1] コンテキスト収集(ワークスペース検索、ファイル読み取り)
↓
[2] 計画立案(タスク分解、編集対象ファイルの特定)
↓
[3] コード変更の生成(Speculative Decoding で高速適用)
↓
[4] ターミナルコマンド実行(ビルド、テスト、パッケージインストール)
↓
[5] 結果検証(コンパイルエラー、リントエラーの確認)
↓
エラーあり → [2] に戻って修正
成功 → ユーザーに承認を求める
重要なのは、エラーが出たら自動的にやり直すという点です。従来のCopilot Chatでは「コードを提案して終わり」でしたが、Agent Modeではテスト失敗やビルドエラーを検知して自律的にリトライします。
さらに裏側ではデュアルモデルアーキテクチャが動いています。まず基盤LLMがセッション全体のコンテキストを考慮して編集案を生成し、次にSpeculative Decodingエンドポイントが高速にファイルへ変更を適用します。
従来のCopilotとの違い — 3つのモードを比較
VS Code上のCopilot Chatには3つのモードがあります。それぞれの違いを正確に理解しておきましょう。
| 機能 | Ask Mode | Edit Mode | Agent Mode |
|---|---|---|---|
| コード生成 | 提案のみ | 指定ファイルを編集 | 自律的にファイル探索+編集 |
| ターミナル実行 | 不可 | 不可 | 可能(npm, pip, make等) |
| エラー自動修正 | 不可 | 不可 | 自動ループ |
| マルチファイル | 不可 | 手動で追加 | 自動検出 |
| コンテキスト設定 | 手動で#ファイル指定 | Working Setに追加 | 自動探索 |
| プレミアムリクエスト | 1回/リクエスト | 1回/リクエスト | 複数回消費(ループ分) |
Claude Code vs Cursorの比較記事でも触れましたが、エージェント型のAIコーディングツールは各社が激しく競っています。Copilot Agent Modeの最大の強みは、GitHubエコシステムとのネイティブ統合——Issues、PRレビュー、GitHub Actionsとシームレスに連携できる点です。
ハンズオン:Agent Modeを実際に使ってみる
Step 1:セットアップ
まずVS Codeの設定でAgent Modeを有効化します。
// .vscode/settings.json
{
"chat.agent.enabled": true,
"github.copilot.chat.agent.runTasks": true,
"github.copilot.chat.agent.autoFix": true
}
設定後、Copilot Chatパネルを開き(macOS: Ctrl+Cmd+I)、上部のモードドロップダウンから「Agent」を選択します。
Step 2:カスタム指示ファイルの作成
Agent Modeの精度を大幅に上げるのが、リポジトリルートに配置するカスタム指示ファイルです。
// .github/copilot-instructions.md
# プロジェクト指示
## 技術スタック
- フレームワーク: Next.js 15 (App Router)
- 言語: TypeScript (strict mode)
- スタイル: Tailwind CSS v4
- テスト: Vitest + Testing Library
- パッケージマネージャー: pnpm
## コーディング規約
- コンポーネントは関数コンポーネント + React.FC は使わない
- データフェッチは Server Components で行う
- エラーハンドリングは Result 型パターンを使う
- コメントは日本語で書く
## テストルール
- 新しいコンポーネントには必ずテストを書く
- テストファイルは __tests__/ ディレクトリに配置
- カバレッジ80%以上を維持する
このファイルを置いておくと、Agent Modeはプロジェクトの規約に沿ったコードを自律的に生成します。Coding Agentでは .github/copilot-instructions.md に加えて AGENTS.md や CLAUDE.md も認識されます。
Step 3:実際にタスクを指示してみる
Agent Modeに以下のように指示してみましょう。
プロンプト例:
「ユーザー認証のAPIルートを作成して。
- /api/auth/login(POST): email + password でJWTを返す
- /api/auth/me(GET): トークンからユーザー情報を返す
- bcryptでパスワードハッシュ化
- zodでバリデーション
- テストも書いて」
Agent Modeは以下の手順を自動的に実行します。
- 既存のプロジェクト構造をスキャンし、App Routerのルート構成を把握
pnpm add bcryptjs jsonwebtoken zodをターミナルで実行app/api/auth/login/route.tsとapp/api/auth/me/route.tsを作成- 型定義ファイル(
types/auth.ts)を作成 - テストファイルを生成し、
pnpm testを実行 - テスト失敗があれば自動修正してリトライ
生成されるコードの一例を見てみましょう。
// app/api/auth/login/route.ts
import { NextRequest, NextResponse } from "next/server";
import bcrypt from "bcryptjs";
import jwt from "jsonwebtoken";
import { z } from "zod";
const loginSchema = z.object({
email: z.string().email("有効なメールアドレスを入力してください"),
password: z.string().min(8, "パスワードは8文字以上です"),
});
export async function POST(request: NextRequest) {
try {
const body = await request.json();
const { email, password } = loginSchema.parse(body);
// ユーザー検索(実際のDBクエリに置き換え)
const user = await findUserByEmail(email);
if (!user) {
return NextResponse.json(
{ error: "認証に失敗しました" },
{ status: 401 }
);
}
const isValid = await bcrypt.compare(password, user.passwordHash);
if (!isValid) {
return NextResponse.json(
{ error: "認証に失敗しました" },
{ status: 401 }
);
}
const token = jwt.sign(
{ userId: user.id, email: user.email },
process.env.JWT_SECRET!,
{ expiresIn: "24h" }
);
return NextResponse.json({ token, user: { id: user.id, email: user.email } });
} catch (error) {
if (error instanceof z.ZodError) {
return NextResponse.json(
{ error: "バリデーションエラー", details: error.errors },
{ status: 400 }
);
}
return NextResponse.json(
{ error: "サーバーエラーが発生しました" },
{ status: 500 }
);
}
}
注目すべきは、copilot-instructions.md で指定した「コメントは日本語」「zodでバリデーション」といった規約が反映されている点です。
応用:マルチファイル編集とテスト自動生成
リファクタリングの自動化
Agent Modeが真価を発揮するのは、複数ファイルにまたがる変更です。たとえば以下のような指示が可能です。
プロンプト例:
「全APIルートのエラーハンドリングを統一して。
共通のエラーハンドラーを lib/errors.ts に作成し、
既存の全ルート(app/api/配下)をそれを使うようにリファクタして。
変更後にテストが通ることを確認して。」
Agent Modeは app/api/ 配下のファイルを自動的にスキャンし、共通パターンを抽出、新しいエラーハンドラーを作成した上で、既存の全ファイルを一括リファクタリングします。
Coding Agent(非同期エージェント)の活用
GitHub上のCoding Agentは、Issueにアサインするだけで動く非同期エージェントです。GitHub Actionsの環境で動作し、結果をPRとして出力します。
// GitHub Issue の例
タイトル: READMEにAPIドキュメントを追加する
本文:
現在のAPIエンドポイント一覧をREADME.mdに追記してください。
- 各エンドポイントのHTTPメソッド、パス、リクエスト/レスポンス例を記載
- app/api/ 配下のroute.tsファイルから自動的に情報を収集
- 表形式で整理
→ Assignees に「Copilot」を追加するだけで自動実行
2026年3月時点では、Jiraのチケットを直接Coding Agentにアサインすることも可能になっています(パブリックプレビュー)。
プランと料金 — プレミアムリクエストの仕組み
Agent Modeのコスト管理で最も重要なのがプレミアムリクエストの概念です。
| プラン | 月額 | プレミアムリクエスト | 超過時 |
|---|---|---|---|
| Free | $0 | 50回/月 | 利用停止 |
| Pro | $10 | 300回/月 | GPT-4.1にフォールバック |
| Pro+ | $39 | 1,500回/月 | $0.04/回 |
| Business | $19/人 | 300回/人/月 | 組織ポリシーに依存 |
| Enterprise | $39/人 | 1,500回/人/月 | $0.04/回 |
モデル別コスト倍率に要注意
Agent Modeで使用するモデルによって、1回のリクエストが消費するプレミアムリクエスト数が異なります。
| モデル | 倍率 | 300回プランでの実質回数 |
|---|---|---|
| GPT-4.1(デフォルト) | 1x | 300回 |
| Claude Sonnet | 1x | 300回 |
| Claude Opus | 10x | 30回 |
| GPT-4.5 | 50x | 6回 |
Agent Modeでは1つのタスクに対して内部的に複数回のLLM呼び出しが発生します。たとえばGPT-4.5でAgent Modeを使うと、1タスクで50x × 数ループ = 数百プレミアムリクエストを消費する可能性があります。日常的な開発にはGPT-4.1またはClaude Sonnetを基本にし、高精度が必要な場面だけ上位モデルを使うのが現実的です。
【注意】ハマりやすいポイント
❌ モデルを変更せずにAgent Modeを多用する
Agent Modeではモデル選択がコストに直結します。GPT-4.5を選んだまま日常作業すると、Proプランの月300回が1日で枯渇することもあります。
⭕ GPT-4.1をデフォルトにして、複雑な設計判断のときだけ上位モデルに切り替える。VS Codeのモデルドロップダウンで随時変更可能。
❌ copilot-instructions.md を書かずに使う
カスタム指示なしだと、Agent Modeはプロジェクトの技術スタックや命名規則を毎回推測します。結果として、既存コードと一貫性のないスタイルのコードが生成されがちです。
⭕ リポジトリルートに .github/copilot-instructions.md を必ず配置する。技術スタック、テストルール、命名規則を簡潔に記載するだけで精度が大きく向上。
❌ Agent Modeの変更をレビューせずに全承認する
Agent Modeは便利ですが、まれにプロジェクト全体に影響する不要な変更(パッケージの大幅アップデート、設定ファイルの書き換えなど)を提案することがあります。
⭕ Agent Modeが提案する変更は必ずdiffを確認してから承認する。特にターミナルコマンド(npm install や設定変更)は自動承認を無効にしておくのが安全。
❌ Coding Agentに大きなタスクをそのまま投げる
「アプリ全体をリファクタして」のような漠然とした指示では、Coding Agentが迷走してリクエストを大量消費した挙句、使えないPRが出てくることがあります。
⭕ Issueには具体的なスコープ(対象ファイル、変更内容、完了条件)を明記する。1 Issue = 1機能の粒度が最適。GitHub公式ドキュメントでも「短く自己完結的な指示」が推奨されている。
あわせて読みたい
- LNAI入門|AIコーディングツール設定を1ファイルで統一する方法 — Copilot含むAIツール設定をLNAIで統一管理
- AIコーディングツールで開発は速くなるのか?2026年最新研究が示す意外な結果 — AIコーディングツールの生産性効果を検証した最新研究
参考・出典
- Introducing GitHub Copilot agent mode (preview) — VS Code Blog(2025年2月)
- About GitHub Copilot coding agent — GitHub Docs(2026年3月閲覧)
- GitHub Copilot Plans & Pricing(2026年3月閲覧)
- Requests in GitHub Copilot — GitHub Docs(2026年3月閲覧)
- GitHub Copilot coding agent for Jira is now in public preview — GitHub Changelog(2026年3月)
まとめ:今日から始める3つのアクション
- VS CodeでAgent Modeを有効化する —
settings.jsonに3行追加するだけ。まずはGPT-4.1で小さなタスクから試す .github/copilot-instructions.mdを書く — 技術スタック、コーディング規約、テストルールを10行で。これだけで生成品質が劇的に変わる- プレミアムリクエストの消費量を1週間モニタリングする — GitHubのUsageページで日別消費を確認し、チームのプランが適切かを判断する
この記事を書いた人
佐藤傑(さとう・すぐる)
株式会社Uravation代表取締役。X(@SuguruKun_ai)フォロワー約10万人。100社以上のAI研修・導入支援を手がける。著書に『AIエージェント仕事術』(SBクリエイティブ)。
あわせて読みたい: JetBrains JunieのAIコーディング機能