コーディングエージェント ― Issue駆動の非同期自動開発
5.1 コーディングエージェントの仕組み
Section titled “5.1 コーディングエージェントの仕組み”コーディングエージェント(Coding Agent)は、GitHub IssueをCopilotにアサインするだけで、クラウド上のGitHub Actionsサンドボックスで非同期にコードを生成し、ドラフトプルリクエスト(PR)を自動作成する機能である。
開発者がIDE内で作業する必要がなく、Issueのアサイン後はバックグラウンドで作業が進行する。
Copilot Pro、Pro+、Business、Enterpriseプランで利用可能であり、Business / Enterpriseプランでは管理者がポリシーで有効化する必要がある。
動作の全体フロー
Section titled “動作の全体フロー”flowchart TD
A["`GitHub Issue
タスク内容を記述`"] --> B["`Copilotにアサイン
Assigneesで選択`"]
B --> C["`GitHub Actionsサンドボックス起動
リポジトリをクローン`"]
C --> D["`コード生成
copilot/ブランチに変更をプッシュ`"]
D --> E["`セキュリティ検証
CodeQL・シークレットスキャン
依存関係チェック`"]
E --> F["`ドラフトPR作成
レビュアーにユーザーを追加`"]
F --> G{"`レビュー`"}
G -->|修正依頼| H["`PRにコメント
エージェントが追加修正`"]
H --> D
G -->|承認| I["`マージ`"]
コーディングエージェントにはいくつかの制約がある。
- 単一リポジトリ限定: 1つのタスクで変更できるのは、指定した1つのリポジトリのみ
- 1タスク1PR: 1つのタスクに対して複数のPRを作成することはできない
- 保護ブランチへの直接プッシュ不可: すべての変更は
copilot/プレフィクスのブランチにプッシュされ、mainやmasterへの直接プッシュは行われない - セッション中のみ反復可能: セッションがアクティブな間はCIの失敗に対して自動修正を試みるが、セッション終了後は手動での再開が必要
5.2 Issueのアサインからプルリクエスト作成までの自動化フロー
Section titled “5.2 Issueのアサインからプルリクエスト作成までの自動化フロー”Issueの書き方
Section titled “Issueの書き方”コーディングエージェントの出力品質は、Issueの記述品質に直結する。
効果的なIssueは以下の要素を含む。
明確なゴール: 何を実現すべきかを1〜2文で端的に記述する。
技術的な制約: 使用すべきライブラリ、準拠すべきパターン、変更してはならないファイルなどを明記する。
受け入れ基準: タスクが完了したと判断できる条件を箇条書きで示す。
アサインの方法
Section titled “アサインの方法”- GitHubのIssueページを開く
- Assigneesセクションの「Assign to Copilot」ボタンをクリック
- ダイアログで対象リポジトリ、ベースブランチ、追加プロンプト(任意)を確認
- 「Assign」をクリック
アサイン後、Issue上に [WIP] プレフィクスのPRリンクが表示される。
リンクをクリックするとPRの進捗を確認でき、コーディングセッションの詳細も閲覧可能である。
Copilot Chatからの起動
Section titled “Copilot Chatからの起動”Copilot Chat(github.com上またはIDE内)からもコーディングエージェントを起動できる。
チャットで「このIssueに対応するPRを作成して」と指示するか、タスク内容を直接記述して「PRを作ってください」と依頼する。
モデルの選択
Section titled “モデルの選択”コーディングエージェントのタスク開始時にAIモデルを選択できる。
タスクの性質に応じてモデルを使い分けることで、品質と消費リクエスト数のバランスを取れる。
5.3 セキュリティ検証の自動実行
Section titled “5.3 セキュリティ検証の自動実行”組み込みのセキュリティ検証
Section titled “組み込みのセキュリティ検証”コーディングエージェントは、PRを完了する前にセキュリティ検証を自動的に実行する。
これは任意のステップではなく、すべてのエージェントセッションに組み込まれた必須プロセスである。
flowchart LR
A["`コード生成完了`"] --> B["`CodeQL スキャン
脆弱性パターンの検出`"]
B --> C["`シークレットスキャン
認証情報の漏洩チェック`"]
C --> D["`依存関係チェック
GitHub Advisory Database
CVSS High/Critical`"]
D --> E{"`問題検出?`"}
E -->|Yes| F["`自動修正を試行
セッションログに記録`"]
F --> B
E -->|No| G["`PR完了`"]
CodeQL: コード内の脆弱性パターン(SQLインジェクション、XSS、パストラバーサル等)を検出する。
シークレットスキャン: ハードコードされたAPIキー、パスワード、トークンなどの認証情報がコードに含まれていないかをチェックする。
依存関係チェック: 新たに追加された依存ライブラリに対して、GitHub Advisory Databaseでマルウェアや既知の脆弱性(CVSS High / Critical)がないかを確認する。
5.4 カスタムエージェントの作成と運用
Section titled “5.4 カスタムエージェントの作成と運用”カスタムエージェントとは
Section titled “カスタムエージェントとは”カスタムエージェントは、特定のタスクに特化した専門エージェントを定義する機能である。
リポジトリの .github/agents/ ディレクトリにMarkdownファイル(*.md)を作成し、エージェント固有のプロンプト、ツール、指示を記述する。
ユースケース例
Section titled “ユースケース例”| エージェント名 | 専門領域 | 設定内容例 |
|---|---|---|
frontend.md | フロントエンド | Reactコンポーネント、スタイリング、アクセシビリティに特化 |
testing.md | テスト | ユニットテスト・統合テストの生成に特化 |
docs.md | ドキュメント | 技術文書のスタイルガイドに準拠したドキュメント生成 |
security.md | セキュリティ | セキュリティレビュー、脆弱性修正に特化 |
migration.md | マイグレーション | フレームワークやライブラリのバージョンアップ支援 |
カスタムエージェントの保護
Section titled “カスタムエージェントの保護”Enterpriseプランでは、.github/agents/*.md ファイルへの不正な編集を防ぐためにプッシュルールを設定できる。
これにより、カスタムエージェントの定義がバージョン管理され、承認なしの変更を防止できる。
5.5 サードパーティエージェントとの連携
Section titled “5.5 サードパーティエージェントとの連携”サードパーティエージェントの概要
Section titled “サードパーティエージェントの概要”GitHub Issueへのアサインは、Copilot自身のコーディングエージェントだけでなく、サードパーティのコーディングエージェントにも行える。
2026年3月時点で対応しているサードパーティエージェントの例を以下に示す。
- Claude by Anthropic
- OpenAI Codex
これらのエージェントは、Copilotのコーディングエージェントと同じリポジトリ設定(MCPサーバー、カスタム指示等)にアクセスでき、同じGitHub Actionsインフラ上で動作する。
使い分けの考え方
Section titled “使い分けの考え方”flowchart TD
A{"`タスクの特性`"} --> B["`定型的な実装タスク
ボイラープレート生成
テスト追加`"]
A --> C["`複雑な設計判断を伴うタスク
アーキテクチャ変更
大規模リファクタリング`"]
A --> D["`GitHub固有の操作が多いタスク
CI/CD設定
Actions ワークフロー`"]
B --> E["`Copilot コーディングエージェント
GitHub統合が最も緊密`"]
C --> F["`Claude by Anthropic
長いコンテキスト理解
慎重な設計判断`"]
D --> E
- GitHub Copilot coding agent - GitHub Docs
- About third-party agents - GitHub Docs
- Custom agents configuration - GitHub Docs
- Extending GitHub Copilot coding agent with MCP - GitHub Docs
- Model Context Protocol (MCP) and GitHub Copilot coding agent - GitHub Docs
- Customizing the development environment for GitHub Copilot coding agent - GitHub Docs