無料活用テクニック

GitHub Copilot AgentモードでPR実装からテストまで自動化する

·12 min read·Nexeed Lab
GitHub Copilot活用テクニック

GitHub Copilot Agentモードでissueからブランチ作成・実装・テストコード生成まで自動化する実践テクニックを解説します。

2026年に入り、GitHub CopilotのAgentモードがGA(一般提供)となった。 Chatモードが「質問に答える」受動的なアシスタントだったのに対し、Agentモードは「タスクを実行する」能動的なエージェントとして機能する。 issueのURLを貼り付けるだけで、ブランチの作成・コードの実装・テストの生成・PRの作成まで一気に完了させることができる。 本記事では、実際の開発フローにAgentモードを組み込むための具体的なテクニックを解説する。

AgentモードとChatモードの決定的な違い

GitHub Copilotには現在、ChatモードAgentモードの2種類が存在する。

Chatモードはいわば高性能な検索・相談窓口だ。 コードの説明を求めたり、実装方針を相談したりするのに向いている。 しかしChatモードはあくまで「提案」するだけで、実際にファイルを編集したりコマンドを実行したりすることはない。 開発者が提案を受け取り、自分でコードを書くという流れは変わらない。

Agentモードはこの点が根本的に異なる。 エージェントはリポジトリ全体のファイル構造を把握したうえで、複数のファイルにまたがる変更を自律的に実施する。 ターミナルコマンドの実行、テストの実行と失敗時の自己修正、さらにはPRの作成まで、一連のアクションをループしながら完遂する。 開発者の役割は「何を作るか」を指示することに集中できる。

この違いを一言で表すなら、ChatモードはCopilotが副操縦士として寄り添う状態であり、Agentモードはオートパイロットとして自律的に飛行する状態といえる。

事前準備:AgentモードをVS Codeで使えるようにする

AgentモードはVS Code 1.99以降で利用可能だ。 まず以下の手順で有効化する。

# VS Codeのバージョン確認(1.99以上が必要)
code --version

# GitHub Copilot拡張機能を最新版に更新する
# VS Code内: Extensions > GitHub Copilot > Update を選択

# settings.json にAgentモード有効化の設定を追記
# "github.copilot.chat.agent.enabled": true

VS Codeの設定ファイルに上記の設定を追加したら、Copilot Chatパネルを開き、モード切り替えドロップダウンから「Agent」を選択する。 GitHub.comのリポジトリに対してAgentモードを使う場合は、Copilot WorkspaceのWebインターフェースからでもアクセスできる。 なお、AgentモードはGitHub Copilot Individual・Business・Enterpriseいずれのプランでも利用可能だが、月間エージェント実行回数の上限がプランごとに設定されているため、チームで大規模に使う場合は事前に確認しておくことを推奨する。

実践①:新機能の実装をAgentに依頼する

Agentモードの真価が発揮されるのが、issueベースの機能実装だ。 以下のように指示するだけで、ファイルの特定から実装・動作確認まで一気に進む。

以下のissueを実装してください。

issue #42: ユーザープロフィールページに「最終ログイン日時」を表示する

対象リポジトリの技術スタック:
- フロントエンド: Next.js (App Router) + TypeScript
- バックエンド: Next.js Route Handler
- DB: PostgreSQL(Prisma ORM)
- 認証: NextAuth.js

実装方針:
1. PrismaスキーマのUserモデルに lastLoginAt フィールドを追加する
2. NextAuth.jsのサインインコールバックで lastLoginAt を更新する
3. プロフィールページのServer Componentでデータを取得して表示する

既存コードのスタイルに合わせてください。
ファイルの削除は行わないでください。

この指示に対してAgentは、Prismaスキーマファイルの特定と編集、マイグレーションコマンドの実行、NextAuth設定ファイルの更新、プロフィールページコンポーネントの修正まで、順を追って実施する。 途中でエラーが発生しても、エラーメッセージを読み解いて自己修正を試みる。

Agentへの指示を効果的に書くコツ

指示の精度が成果物の品質を左右する。 技術スタックとバージョンを明記するだけで、ハルシネーションを大幅に減らせる。 既存コードのどのファイルを参考にすべきかを示すと、コードスタイルの統一が保たれる。 また、「〜しないでください」という禁止事項も積極的に書いておくと、不要なリファクタリングや依存パッケージの追加を防げる。

実践②:レビュー指摘をまとめてAgentに反映させる

PRレビューでの指摘対応も、Agentモードが特に輝く場面だ。 複数のレビューコメントをまとめて貼り付けることで、一度の実行で全修正を完了できる。

以下のPRレビュー指摘をすべて修正してください。

【指摘1】components/UserProfile.tsx の42行目
エラーハンドリングが不足しています。
lastLoginAt が null の場合に「ログイン履歴なし」と表示してください。

【指摘2】lib/auth.ts の28行目
updateUser の呼び出しを try-catch で囲んでください。
ログ更新の失敗がサインイン処理全体を止めないようにしてください。

【指摘3】全体への一般コメント
変数名 loginTime を lastLoginAt に統一してください(Prismaスキーマと一致させる)。

修正後、変更内容の概要をコミットメッセージとして提示してください。

このアプローチにより、レビュー対応にかかる時間を大幅に削減できる。 修正漏れも防げるため、レビュアーが同じ指摘を繰り返すという非効率なサイクルから解放される。 1回のAgentセッションで複数の指摘を処理できるため、レビュー対応のコンテキストスイッチも最小化できる。

実践③:テストコードを網羅的に生成する

テストコードの生成はAgentモードの得意分野の一つだ。 実装したコードに対して、境界値や異常系を含む網羅的なテストを自動生成させることができる。

lib/auth.ts の updateLastLogin 関数に対するテストコードを生成してください。

テストフレームワーク: Jest + ts-jest
モックライブラリ: jest-mock-extended(Prismaのモックに使用)

以下のケースを必ずカバーしてください:
- 正常系: 既存ユーザーの lastLoginAt が更新されること
- 異常系: DBエラー発生時に例外がスローされず、エラーログが出力されること
- 境界値: userId が空文字の場合にバリデーションエラーになること

既存のテストファイル __tests__/lib/email.test.ts のスタイルに合わせてください。

Agentはモックの設定、テストケースの実装、アサーションの記述をまとめて行う。 生成されたテストをその場で実行し、失敗した場合は自己修正も試みるため、テストが通る状態まで仕上げてくれることが多い。 テストカバレッジの向上に工数をかけずに済むのは、特に少人数チームにとって大きな恩恵だ。

Agentモードを安全に使うための5つの鉄則

Agentモードは強力な反面、適切な使い方を知らないと問題が生じることがある。 安全に活用するための鉄則を5つ挙げる。

鉄則①:変更は必ずフィーチャーブランチで行う mainブランチに直接変更を加えるよう指示してはいけない。 Agentに作業させる前に、必ず「feature/xxx ブランチで作業してください」と明記するか、事前にブランチを作成しておくこと。

鉄則②:レビューなしにマージしない Agentが生成したコードは必ず目視で確認する。 テストが通ることはコードの正しさを保証しない。 ビジネスロジックの妥当性は人間がチェックする責任がある。

鉄則③:実行権限の範囲を事前に把握する Agentはデフォルトでローカルリポジトリのファイルとターミナルにアクセスできる。 危険なコマンドを実行しないよう、指示の中で「ファイルの削除は行わないでください」と明示するのが安全だ。

鉄則④:機密情報を指示に含めない APIキーやパスワードを指示文に直接書いてはいけない。 Agentはチャットログにアクセスできるモデルが処理するため、機密情報は環境変数で管理し、指示では変数名のみを参照させること。

鉄則⑤:1タスク=1Agentセッションを原則とする 複数の無関係なタスクを1回の指示に詰め込むと、変更が混在して追跡しにくくなる。 「1つのissue = 1回のAgentセッション」を原則にすることで、PRの粒度を適切に保てる。

まとめ:Agentモードは「考えること」に集中させてくれる

GitHub Copilot Agentモードは、実装の作業量ではなく、開発者が考えるべきことを変える。 コードを書く手間が省かれるのではなく、「どう設計するか」「何を実現するか」という本質的な判断に集中できるようになる。 まずは小さなissueや影響範囲の限られたリファクタリングからAgentモードを試し、チームの開発フローに少しずつ組み込んでいくのが成功への近道だ。 AgentモードをうまくコントロールできるようになれusalCopilotは、コードレビューの質と開発スピードを同時に高める強力な武器となる。

参考資料

この記事をシェア

XFacebookはてブ
GitHub Copilot AgentモードでPR実装からテストまで自動化する | AI活用ラボ