GitHub Copilotの3つのAgent機能、どれを使う?実践的な選び方ガイド
GitHub Copilotを使っていると、「Agent」という言葉がいろいろな場面で出てきます。
- Agent mode
- Copilot coding agent
- Plan agent
名前が似ていて混乱しませんか?
この記事では、これらの違いを整理し、どんな場面でどれを使うべきかを実践的に解説します。
結論から:3つのAgentの使い分け
| Agent | 一言で言うと | 使う場面 |
|---|---|---|
| Agent mode | 手元で自律実行 | 今すぐコードを書きたい・直したい |
| Copilot coding agent | クラウドでPR作成 | Issueを渡して任せたい |
| Plan agent | 計画だけ作る | 実装前に方針を固めたい |
迷ったら Agent mode から始めるのがおすすめです。
Agent mode:手元で動く万能選手
何ができるか
VS Code上で動作し、以下を自律的に繰り返します。
- ファイルを読む
- コードを編集する
- ターミナルでコマンドを実行する
- エラーを見て修正する
「ビルドが通るまで直して」と言えば、エラーを見ながら何度も修正してくれます。
向いている作業
- バグ修正
- リファクタリング
- テストの追加
- 小〜中規模の機能実装
使い方のコツ
# 良い指示の例
「このファイルのテストカバレッジを80%以上にして」
「ESLintのエラーを全部直して」
「この関数をTypeScriptに変換して、型も付けて」
# 曖昧すぎる例(避けたい)
「コードを良くして」
「なんかおかしいから直して」
具体的なゴールを伝えると、Agent modeは力を発揮します。
Copilot coding agent:Issueを渡して放置
何ができるか
GitHubのIssueを割り当てると、クラウド側で自律的にPRを作成します。
- Issueの内容を理解する
- 必要なコード変更を特定する
- PRを作成する
- レビューコメントに対応する
人間はPRをレビューして、マージするかどうかを判断するだけです。
向いている作業
- 明確に定義されたタスク
- 定型的な修正(依存関係の更新など)
- 複数のIssueを並行して処理したい場合
使い方のコツ
Issueの書き方が重要です。
# 良いIssueの例
## やりたいこと
ログイン画面にパスワードリセット機能を追加する
## 受け入れ条件
- [ ] /reset-password ページが存在する
- [ ] メールアドレス入力フォームがある
- [ ] 送信後に確認メッセージが表示される
- [ ] 既存のテストが通る
曖昧なIssueを渡すと、期待と違うPRが来ます。
Plan agent:まず計画を立てる
何ができるか
実装の計画だけを作成します。コードは書きません。
- 変更が必要なファイルの特定
- 実装手順の提案
- 考慮すべきリスクの洗い出し
計画に納得したら「Start implementation」で実装に移れます。
向いている作業
- 影響範囲が読めない変更
- アーキテクチャに関わる修正
- 初めて触るコードベース
- チームで方針を合意したい場合
使い方のコツ
# Plan agentに渡す情報
- 何を達成したいか(ゴール)
- 絶対に壊してはいけないもの(制約)
- 現状の問題点(背景)
計画を先に作ることで、「思ってたのと違う」を防げます。
実践的な選び方フローチャート
flowchart TD
Start[タスクがある] --> Q1{すぐ実装に<br>取りかかれる?}
Q1 -->|Yes| Q2{手元で<br>作業したい?}
Q1 -->|No| Plan[Plan agent で<br>計画を立てる]
Q2 -->|Yes| Agent[Agent mode]
Q2 -->|No, 任せたい| Q3{Issue として<br>明確に書ける?}
Q3 -->|Yes| Coding[Copilot coding agent]
Q3 -->|No| Plan
Plan --> Q4{計画に納得?}
Q4 -->|Yes| Agent
Q4 -->|No| Plan
組み合わせて使う
実際の開発では、これらを組み合わせて使います。
パターン1:Plan → Agent mode
大きめの変更をするとき。
- Plan agentで影響範囲と手順を確認
- 計画をレビューして調整
- Agent modeで実装
パターン2:Agent mode → coding agent
プロトタイプを作ってから本実装するとき。
- Agent modeで試作
- 動くことを確認
- 本番用のIssueを書いてcoding agentに任せる
パターン3:複数のcoding agentを並行実行
定型タスクを一気に片付けるとき。
- 複数のIssueを作成
- それぞれにcoding agentを割り当て
- PRが上がってきたら順番にレビュー
まとめ
| 状況 | 選ぶべきAgent |
|---|---|
| 今すぐ手を動かしたい | Agent mode |
| 任せて別の作業をしたい | Copilot coding agent |
| まず方針を固めたい | Plan agent |
| 影響範囲がわからない | Plan agent → Agent mode |
| 定型タスクが大量にある | Copilot coding agent(並行) |
迷ったらAgent modeから始めて、必要に応じて他のAgentを試してみてください。
どのAgentも「明確なゴール」を伝えることが、うまく使うコツです。