Coding Agent
GitHub Actions環境で動作するクラウドベースの自律エージェント。Issueの割り当てからPRの作成まで、開発ワークフローを完全自動化します。
Coding Agentとは
Coding AgentはGitHub Actions上のセキュアなランナー環境で動作する自律型エージェントです。人間の開発者のようにIssueを読み、コードを理解し、変更を実装して、Pull Requestを作成します。
- 完全自律動作 — Issueをアサインするだけで、エージェントが自動的にブランチ作成、コード変更、テスト実行、PR作成を行います
- GitHub Actionsベース — 既存のCI/CDインフラ上で動作するため、追加のインフラ構築は不要です
- セルフレビュー — PRを作成する前に、エージェント自身が変更内容をレビューし、品質を確認します
- GitHub統合 — Issue、PR、コードレビューなど、GitHubの既存ワークフローにシームレスに統合されます
Coding AgentはPro、Pro+、Business、Enterpriseプランで利用可能です。Freeプランでは使用できません。また、GitHub Actionsの利用料金が別途発生します。Copilot Business / Enterpriseでは、Coding Agentは既定で無効(disabled by default)です。管理者がOrganization設定またはEnterprise設定で明示的に有効化する必要があります。managed user accountsが所有するリポジトリではCoding Agentは利用できません。
使い方
Coding Agentの基本的な使い方は非常にシンプルです。Issueを作成して@copilotをアサインするだけです。
Issueを作成
実装したい機能やバグ修正の内容をIssueとして記述します。具体的な要件、受け入れ基準、参考ファイルなどを明記すると精度が向上します。
@copilotをアサイン
IssueのAssigneeに @copilot を割り当てます。または、Issueコメントで @copilot とメンションして指示を出すこともできます。
ブランチ作成 & 変更
エージェントが copilot/* プレフィックスのブランチを自動作成し、コードの変更を実装します。ファイルの作成・編集・削除を自律的に行います。
セルフレビュー & PR作成
変更内容を自身でレビューし、問題がなければドラフトPRを作成します。PRの説明文にはIssueとの関連、変更概要、テスト結果が含まれます。
@copilot ユーザー登録APIにメールアドレスのバリデーションを追加してください。
以下の要件で実装をお願いします:
- RFC 5322準拠のメールアドレスチェック
- 既存のユーザーとの重複チェック
- 適切なエラーメッセージの返却
- ユニットテストの追加Issueの記述が具体的であるほど、Coding Agentの出力品質が向上します。受け入れ基準、影響を受けるファイル、テスト要件を明記しましょう。曖昧な指示は曖昧な結果につながります。
Issueに明確なAcceptance Criteria(受け入れ基準)を書くと、Coding Agentの成功率が大幅に上がります。「〜ができること」「〜のテストが通ること」など、検証可能な条件を箇条書きで記載してください。
重要: Coding Agentが作業を開始した後、元のIssueにコメントを追加しても反映されません。修正指示は必ずCoding Agentが作成したPR上のコメントで行ってください。PRコメントでの対話がエージェントとのコミュニケーションの唯一の手段です。
セキュリティスキャン
Coding Agentが作成したPRには、自動的にセキュリティスキャンが実行されます。これにより、エージェントが生成したコードの安全性が保証されます。
| スキャン | 対象 | 内容 |
|---|---|---|
| CodeQL | ソースコード | SQLインジェクション、XSS、認証バイパスなどの脆弱性を検出 |
| Secret Scanning | コミット内容 | APIキー、パスワード、トークンなどの機密情報の漏洩を防止 |
| Dependency Check | 依存関係 | 追加されたパッケージの既知の脆弱性をDependabot DBで照合 |
セキュリティスキャンは自動実行されますが、すべての脆弱性を検出できるわけではありません。Coding Agentが作成したPRは必ず人間がレビューしてからマージしてください。特に認証・認可・データ処理に関わる変更は慎重にレビューする必要があります。
Copilot Code Review — エージェント型レビュー
Coding Agentが作成したPRに対し、Copilot Code Reviewが自動的にレビューを実行します:
- セルフレビュー — Coding Agent自身がPR作成前にコードを見直し
- Code Reviewエージェント — 人間がレビューする前にバグ・セキュリティリスクを自動検出
- CodeQL + Secret Scanning — セキュリティスキャンも自動実行
人間のレビュー前にAIが事前チェックするため、人間は「ビジネスロジックの妥当性」と「仕様との整合性」に集中できます。
カスタムエージェント
チーム固有のワークフローに合わせたカスタムエージェントを定義できます。.github/agents/ ディレクトリにMarkdownファイルを配置することで、専門的なエージェントを作成します。
# Performance Optimizer Agent
## 役割
このエージェントはパフォーマンス最適化に特化しています。
## 指示
- プロファイリング結果を分析してボトルネックを特定
- N+1クエリの検出と修正
- キャッシュ戦略の提案と実装
- バンドルサイズの削減
## 制約
- 既存のAPIインターフェースを変更しない
- テストカバレッジを維持する
- パフォーマンス改善のベンチマーク結果をPRに含めるカスタムエージェントの活用例
- パフォーマンス最適化エージェント — クエリ最適化、キャッシュ導入、バンドル削減を自動化
- ドキュメント更新エージェント — コード変更に連動してREADMEやAPIドキュメントを更新
- テスト拡充エージェント — カバレッジが低いモジュールのテストを自動生成
- マイグレーションエージェント — フレームワークやライブラリのバージョンアップを自動化
カスタムエージェントはIssueのコメントで @copilot /agent-name の形式で呼び出せます。複数のカスタムエージェントを定義して、タスクの種類に応じて使い分けましょう。
実践的なカスタムエージェント例
以下に、チームですぐに導入できる3つのカスタムエージェントの具体例を示します。
1. パフォーマンス最適化エージェント
---
description: パフォーマンス最適化を行う前にベンチマークを取り、改善後と比較する
---
## 手順
1. 対象コードの現在のベンチマーク結果を取得
2. 最適化を実施
3. 再度ベンチマークを実行
4. 改善率が5%未満の場合、変更を元に戻す
5. 結果をPRのdescriptionに記載2. セキュリティ監査エージェント
---
description: セキュリティ脆弱性を検出し修正提案を行う
---
## チェック項目
- SQLインジェクション
- XSS(クロスサイトスクリプティング)
- 認証・認可の不備
- シークレットのハードコード
- 依存パッケージの脆弱性3. ドキュメント自動生成エージェント
---
description: コード変更に合わせてドキュメントを自動更新する
---
変更されたファイルを分析し:
1. 公開APIの変更があればREADME.mdを更新
2. 新しい関数にはJSDocコメントを追加
3. アーキテクチャ変更があればdocs/architecture.mdを更新カスタムエージェントはチームで共有できます。.github/agents/ をリポジトリにコミットすれば、チーム全員が同じエージェントを利用可能。チーム生産性3倍の鍵です。
セマンティック検索
Coding Agentはセマンティック検索(意味ベースのコード検索)を活用してコードベースを高速に理解します。キーワードの完全一致ではなく、コードの意味や機能に基づいて関連するファイルやメソッドを見つけ出します。
セマンティック検索の仕組み
- コードインデクシング — リポジトリのコードがベクトルインデックスとして事前に処理されます
- 意味ベースの検索 — 「ユーザー認証を処理する関数」のような自然言語クエリで関連コードを検索
- コンテキスト構築 — 検索結果を元に、タスクに必要なファイルとコードのコンテキストを自動構築
大規模リポジトリでは、セマンティック検索が特に効果を発揮します。数万ファイルのコードベースでも、関連する実装箇所を素早く特定できるため、Coding Agentの応答速度と精度が大幅に向上します。
制限事項
Coding Agentにはいくつかの制限事項があります。これらを理解した上で適切なタスクに活用しましょう。
| 制限 | 詳細 | 対策 |
|---|---|---|
| シングルリポジトリ | 1つのリポジトリ内でのみ動作。クロスリポジトリの変更は不可 | モノレポ構成を検討、または手動で連携 |
| ブランチ接頭辞 | copilot/ プレフィックスが必須。既存ブランチへの直接変更は不可 |
PR作成後にマージで統合 |
| コールドスタート | 初回起動時に約90秒のウォームアップが必要 | 事前にリポジトリのインデクシングを完了させる |
| 外部サービス | 外部API呼び出しやデータベースアクセスに制限あり | モック/スタブを使用したテスト駆動で対応 |
| 大規模変更 | 1回のセッションで変更可能なファイル数に実質的な上限あり | タスクを小さく分割してIssueを複数作成 |
Coding AgentはドラフトPRのみを作成します。自動マージは行われません。必ず人間のレビューを経てからマージしてください。また、セキュリティに関わる変更(認証、暗号化、アクセス制御)は人間主導で実装することを強く推奨します。
ブランチ保護とフェイルセーフ設計
Coding Agentは copilot/ プレフィックスのブランチにしかプッシュできません。しかし、PRのマージは自動化してはいけません。以下のブランチ保護ルールを必ず設定してください。
必須ブランチ保護ルール(GitHub.com → Settings → Branches → Branch protection rules):
✅ Require a pull request before merging
✅ Required approving reviews: 1(最低1名の人間レビュー必須)
✅ Dismiss stale pull request approvals when new commits are pushed
✅ Require status checks to pass before merging
✅ CI/CDテスト(GitHub Actions)
✅ CodeQL分析
✅ Require conversation resolution before merging
❌ Allow auto-merge: OFF(自動マージ禁止)Coding Agentが作成するPRは常にドラフトPRです。しかし、ブランチ保護ルールがなければ、他のワークフローやBotがマージする可能性があります。Required reviewersの設定は保険として必ず行ってください。
運用フロー:
Issue作成 → @copilotアサイン
↓
Coding Agentがcopilot/*ブランチで作業
↓
セルフレビュー + CodeQL + Secret Scanning(自動)
↓
ドラフトPR作成
↓
★ 人間がレビュー(Required reviewers)★
↓
承認 → マージ → デプロイこの運用により、AIが作成した変更を人間が確認してから取り込むフローを強制できます。ただし、最終的な妥当性確認は人間側で継続して行う必要があります。
人間の役割:収束(Convergence)
Coding Agentの運用における人間の役割は「収束」です。
- AIの役割 = 発散(Divergence) — コード生成、テスト作成、修正提案
- 人間の役割 = 収束(Convergence) — 仕様との整合性確認、最終的な動作責任
AIが「発散(生成)」したものに対し、人間は仕様との整合性と最終的な動作責任に全リソースを割く。これが2026年のAI駆動開発のパラダイムです。