GitHub Copilot の全貌を理解する
GitHub Copilotが単なるコード補完ツールから、開発ライフサイクル全体を支援する統合AI環境へと進化しています。本記事では、2025年時点でのGitHub Copilotの全機能を技術的観点から整理し、実際の開発現場でどのように活用できるかを解説します。
目次
- コア機能: コード生成とチャット
- 自律型エージェント: Copilot Coding Agent
- 拡張機能: MCP、カスタムエージェント、スキル
- コードレビューとセキュリティ
- 料金体系とリクエスト管理
- エンタープライズ管理機能
- GitHub Copilot CLI
- GitHub Spark
- GitHub Copilot Spaces
- ネットワーク設定
- プロンプトエンジニアリング
- まとめ
1. コア機能: コード生成とチャット
1.1 インライン補完: リアルタイムコード生成
GitHub Copilotの基本となるのは、エディタ上でのリアルタイムなコード提案機能です。GPT-4.1 Copilotモデルを使用し、30以上のプログラミング言語に対応しています。
提供される補完の種類:
- ゴーストテキスト補完: タイピング中に自動的にコードを提案
- Next Edit Suggestions(パブリックプレビュー): 編集中のコンテキストから次の編集箇所を予測
技術的特徴:
- パブリックコードとの一致チェック機能
- 一致したコードにはライセンス情報とソース参照を付与
- VS Code、JetBrains、Visual Studio、Eclipse、Vim/Neovim、Xcodeに対応
1.2 Copilot Chat: 対話型コーディング支援
Copilot Chatは、自然言語でAIと対話しながら開発を進められる機能です。単なるQ&Aツールではなく、コードの説明、生成、テスト作成、バグ修正まで幅広く対応します。
利用可能な環境:
- GitHub.com(Webブラウザ)
- 各種IDE(VS Code、Visual Studio、JetBrains、Xcode)
- GitHub Mobile
- GitHub Copilot CLI
1.3 カスタマイズ機能
チームの作業方法に合わせてCopilot Chatの応答をカスタマイズできます。
- 個人向けカスタム指示: ユーザー個人の好みに合わせた応答
- リポジトリ向けカスタム指示: プロジェクト固有のコーディング規約やパターンを指示
- 組織向けカスタム指示: 組織全体で統一された開発ガイドラインを適用
1.4 AIモデルの選択
複数のAIモデルから選択可能で、タスクに応じて最適なモデルを使い分けられます。
| モデル | 倍率(有料プラン) | 特徴 |
|---|---|---|
| GPT-5 mini | 0 | 標準モデル(無料) |
| GPT-4.1 | 0 | 標準モデル(無料) |
| Claude Sonnet 4.5 | 1 | バランス型 |
| Claude Opus 4.1 | 10 | 最高性能 |
| Gemini 3 Flash | 0.33 | 高速処理 |
2. 自律型エージェント: Copilot Coding Agent
Copilot Coding Agentは、GitHub Copilotの中で最も革新的な機能です。開発者がタスクを割り当てると、AIが自律的に作業を進め、プルリクエストを作成します。
2.1 基本的な動作フロー
2.2 実行できるタスク
- バグ修正
- 段階的な新機能実装
- テストカバレッジの向上
- ドキュメント更新
- 技術的負債の解消
2.3 タスクの割り当て方法
1. GitHub Issueから:
IssueをCopilotに割り当てることで、自動的に作業を開始します。
2. プルリクエストのコメントから:
既存のプルリクエストで @copilot をメンションして変更を依頼できます。
3. エージェントパネルから:
GitHub上のエージェントタブから、リポジトリを選択してタスクを開始できます。
4. IDEから:
VS Code InsidersなどのIDEから直接タスクを開始可能です。
2.4 開発環境とセキュリティ
Copilot Coding Agentは、GitHub Actionsを利用した一時的な開発環境で動作します。
セキュリティ保護機能:
- コード検証: 生成したコードをCodeQLで分析し、セキュリティ問題を検出
- 依存関係チェック: GitHub Advisory Databaseと照合し、脆弱性を確認
- シークレットスキャン: APIキーやトークンなどの機密情報を検出
- サンドボックス環境: インターネットアクセスがファイアウォールで制御された環境で実行
-
ブランチ制限:
copilot/で始まるブランチのみ作成・プッシュ可能 - レビュー必須: プルリクエスト作成者は自分のPRを承認できない
3. 拡張機能: MCP、カスタムエージェント、スキル
3.1 Model Context Protocol (MCP)
MCPは、AIモデルと外部システムを統合するためのオープンスタンダードです。Copilotの機能を他のツールやサービスに拡張できます。
デフォルトで利用可能なMCPサーバー:
- GitHub MCP Server: GitHub上のIssue、PR、リポジトリ情報にアクセス
- Playwright MCP Server: Webページの読み取り、操作、スクリーンショット取得
設定方法:
リポジトリの.github/copilot-mcp.jsonにMCPサーバーを定義します。
{
"mcpServers": {
"custom-server": {
"command": "node",
"args": ["/path/to/server.js"],
"env": {
"API_KEY": "${API_KEY}"
}
}
}
}
対応環境:
- VS Code
- JetBrains IDE
- Visual Studio
- Xcode
- Eclipse
- GitHub.com
3.2 カスタムエージェント
カスタムエージェントは、特定のタスクに特化したCopilot Coding Agentのバリエーションです。エージェントプロファイルというMarkdownファイルで定義します。
エージェントプロファイルの構造:
---
name: readme-creator
description: READMEファイルの作成と改善に特化したエージェント
---
あなたはREADMEファイルに特化したドキュメントスペシャリストです。
READMEファイルまたは関連ドキュメントファイルのみを対象とし、
コードファイルの変更や分析は行わないでください。
以下の指示に従ってください:
- 明確なプロジェクト説明を含むREADME.mdを作成・更新
- セクションを論理的に構造化: 概要、インストール、使用方法、貢献
- 見出しと適切なフォーマットでスキャン可能なコンテンツを記述
- 適切なバッジ、リンク、ナビゲーション要素を追加
- リポジトリ内のファイルには相対リンク(例: `docs/CONTRIBUTING.md`)を使用
- リンクを説明的にし、画像に代替テキストを追加
配置場所:
-
リポジトリレベル:
.github/agents/エージェント名.md -
組織レベル:
.github-private/agents/エージェント名.md(プライベートリポジトリ) -
エンタープライズレベル: エンタープライズの
.github-privateリポジトリ
利用可能な場所:
- GitHub.com(エージェントタブ、Issue割り当て、プルリクエスト)
- GitHub Copilot CLI
- VS Code、JetBrains、Eclipse、Xcode
3.3 Agent Skills
Agent Skillsは、特定のタスクを実行するための指示、スクリプト、リソースをまとめたフォルダです。
Skillの構造:
.github/skills/
└── webapp-testing/
├── SKILL.md
├── test-setup.sh
└── examples/
└── sample-test.js
SKILL.mdの例:
---
name: webapp-testing
description: Webアプリケーションのテスト実行と検証を支援します。テスト関連のタスクで使用してください。
license: MIT
---
# Webアプリテストスキル
このスキルは、以下の手順でテストを実行します:
1. `npm test`でテストスイートを実行
2. 失敗したテストのログを分析
3. テストカバレッジレポートを生成
4. 修正が必要な箇所を特定
## 使用例
```bash
# テストセットアップ
./test-setup.sh
# テスト実行
npm test -- --coverage
Skillsが有効な場面:
Copilotは、プロンプトとSkillの説明に基づいて、自動的に関連するSkillを読み込みます。
4. コードレビューとセキュリティ
4.1 Copilot Code Review
Copilot Code Reviewは、プルリクエストを自動的にレビューし、改善提案を行う機能です。
レビュー内容:
- コード品質の問題検出
- セキュリティ脆弱性の指摘
- ベストプラクティスからの逸脱
- パフォーマンス上の問題
- 提案された変更(ワンクリックで適用可能)
静的解析ツール:
- CodeQL: セキュリティ脆弱性を特定
- ESLint: JavaScript専用のリンター
- PMD: Java、Apex等のコード解析
4.2 レビューのトリガー
- 手動レビュー: プルリクエストにCopilotをレビュアーとして追加
- 自動レビュー: 新しいプルリクエスト作成時に自動実行(設定により)
- IDEでのレビュー: コード変更時にリアルタイムでフィードバック
4.3 ライセンスなしユーザー向けレビュー
Copilot Business/Enterpriseプランでは、Copilotライセンスを持たない組織メンバーにもCode Review機能を提供できます。この場合、プレミアムリクエストは組織またはエンタープライズに直接課金されます。
4.4 コンテンツ除外機能
特定のファイルをCopilotの処理対象から除外できます。
除外した場合の効果:
- インライン補完が無効化
- 除外ファイルの内容が他のファイルの補完に影響しない
- Copilot Chatの応答に除外ファイルの内容が含まれない
- Code Reviewの対象外
設定レベル:
- リポジトリ管理者: 自分のリポジトリ
- 組織オーナー: 組織内のすべてのリポジトリ
- エンタープライズオーナー: エンタープライズ内のすべてのリポジトリ
5. 料金体系とリクエスト管理
5.1 プラン比較
GitHub Copilotは、個人向けと組織向けで異なる料金体系を提供しています。
5.1.1 個人向けプラン
| プラン | 料金 | インライン補完 | プレミアムリクエスト | 追加リクエスト購入 |
|---|---|---|---|---|
| Copilot Free | 無料 | 月2,000回 | 月50回 | 不可 |
| Copilot Pro | $10/月または$100/年 | 無制限 | 月300回 | $0.04/回 |
| Copilot Pro+ | $39/月または$390/年 | 無制限 | 月1,500回 | $0.04/回 |
無料対象者(Copilot Pro):
- 学生(認証済み)
- 教育者(認証済み)
- 人気オープンソースプロジェクトのメンテナー
5.1.2 組織・エンタープライズ向けプラン
| プラン | 料金 | 対象 |
|---|---|---|
| Copilot Business | $19/ユーザー/月 | すべての組織 |
| Copilot Enterprise | $39/ユーザー/月 | GitHub Enterprise Cloud のみ |
両プランとも追加のプレミアムリクエストを$0.04/回で購入可能です。
5.2 プレミアムリクエストとは
プレミアムリクエストは、高度なAIモデルや機能を使用する際に消費されます。
プレミアムリクエストを消費する機能:
| 機能 | 消費量 | 備考 |
|---|---|---|
| Copilot Chat | 1 × モデル倍率 | Ask、Edit、Agent、Planモード |
| Copilot CLI | 1 × モデル倍率 | デフォルトモデルは1倍 |
| Copilot Code Review | 1回 | PRレビュー1回またはIDE内レビュー1回 |
| Copilot Coding Agent | 1 × モデル倍率 | セッション単位 |
| Copilot Spaces | 1 × モデル倍率 | プロンプト単位 |
| Spark | 4回(固定) | プロンプト単位 |
5.3 モデル倍率
Auto Model Selection:
Auto Model Selectionを使用すると、有料プランでは10%の倍率割引が適用されます。例えば、Claude Sonnet 4の1倍が0.9倍になります。
5.4 クォータの管理
リセットタイミング:
プレミアムリクエストのクォータは、毎月1日の00:00:00 UTCにリセットされます。
クォータ超過時の動作:
- 無料プラン: プレミアムリクエストが使用不可になります(翌月までアクセス不可)
-
有料プラン:
- 標準モデル(GPT-5 mini、GPT-4.1、GPT-4o)は引き続き使用可能
- 追加プレミアムリクエストの予算設定があれば、自動的に購入
- 予算未設定の場合、プレミアム機能は利用不可
予算設定:
組織オーナーまたはエンタープライズオーナーは、追加プレミアムリクエストの予算を設定できます。
5.5 レート制限
高負荷時には、リクエスト数の制限が適用される場合があります。
レート制限発生時の対処:
- しばらく待ってから再試行
- 使用パターンを調整(連続的な大量リクエストを避ける)
- プレビューモデルから標準モデルに変更
- サポートに問い合わせ
6. エンタープライズ管理機能
6.1 ポリシー管理
エンタープライズまたは組織の管理者は、メンバーが利用できる機能やモデルを制御できます。
ポリシーの種類:
- 機能ポリシー: 各Copilot機能の利用可否
- プライバシーポリシー: 機密性の高い操作の許可/ブロック
- モデルポリシー: 利用可能なAIモデルの制限
設定レベル:
競合時の優先順位:
ユーザーが複数の組織からCopilotライセンスを受け取っている場合、ポリシーによって最も制限的または最も寛容な設定が適用されます。
6.2 MCP管理
組織やエンタープライズは、MCPサーバーの使用を管理できます。
MCP Registry:
承認されたMCPサーバーのカタログを作成し、開発者が利用できるサーバーを制限できます。
ポリシー設定:
- MCP servers in Copilot: MCPサーバーの使用を全面的に許可/ブロック
- MCP Registry URL: 組織のMCPレジストリのURLを指定
- Restrict MCP access to registry servers: レジストリに登録されたサーバーのみに制限
6.3 使用状況の監視
エンタープライズ管理者は、Copilotの使用状況を詳細に追跡できます。
利用可能なメトリクス:
- 採用率: 日次/週次のアクティブユーザー数
- エンゲージメント: チャットリクエスト数、機能別使用状況
- 受入率: 提案の採用率トレンド
- コード行数: 提案・追加・削除された行数
データ取得方法:
- Copilot使用状況メトリクスAPI: プログラマティックなデータ取得
- Copilot使用状況メトリクスダッシュボード: 28日間のトレンド可視化
- コード生成ダッシュボード: ユーザーとエージェント別のコード生成分析
- NDJSON エクスポート: BIツールや長期保存用の生データ
データの鮮度:
使用データは3日以内に利用可能になります(週末をまたぐ場合は最大4日)。
6.4 監査ログ
エンタープライズでは、エージェント関連のアクションを監査ログで追跡できます。
記録されるイベント:
- エージェントセッションの開始/終了
- カスタムエージェントの作成/更新/削除
- MCP設定の変更
- ポリシー変更
6.5 エージェント管理(AI Controls)
エンタープライズ管理者向けの統合管理画面で、以下が可能です:
- Copilot Coding Agent、Code Review、カスタムエージェントの可用性管理
- カスタムエージェントの管理権限設定
- 過去24時間のエージェントセッション一覧表示
- 詳細な監査ログの確認
7. GitHub Copilot CLI
コマンドラインからCopilotを利用できる機能です。ターミナルを離れることなく、強力なAIアシスタントにアクセスできます。
7.1 使用モード
1. インタラクティブモード:
copilot
対話形式でCopilotとやり取りします。
2. プログラマティックモード:
copilot -p "今週のコミットを表示して要約して" --allow-tool 'shell(git)'
単一のプロンプトを直接実行します。
7.2 ユースケース
ローカルタスク:
# コードの変更依頼
copilot -p "H1見出しの背景色をダークブルーに変更して"
# ファイルの変更履歴確認
copilot -p "CHANGELOG.mdの最新5件の変更を表示。誰が、いつ、何を変更したか要約して"
# Gitオペレーション
copilot -p "このリポジトリの変更をコミットして"
# アプリケーション作成
copilot -p "create-next-appとTailwind CSSを使ってNext.jsアプリを作成。GitHub APIからデータを取得するダッシュボード。ビルド成功率、平均ビルド時間、失敗ビルド数、テスト合格率を追跡。作成後、ビルド、実行、ブラウザで表示する手順を教えて"
GitHub.com関連タスク:
# 自分のオープンPR一覧
copilot -p "自分のオープンPRを一覧表示"
# Issue対応
copilot -p "このIssueに割り当てられました: https://github.com/octo-org/octo-repo/issues/1234。適切な名前のブランチで作業を開始して"
# プルリクエスト作成
copilot -p "このリポジトリのルートにuser-info.jsというNodeスクリプトを追加。スクリプトを実行したユーザーの情報を出力。このファイルをリポジトリに追加するプルリクエストを作成"
# PRレビュー
copilot -p "PR https://github.com/octo-org/octo-repo/pull/57575 の変更をチェックして。重大なエラーがあれば報告"
7.3 セキュリティ考慮事項
信頼できるディレクトリ:
Copilot CLIを起動すると、現在のディレクトリを信頼するか確認されます。信頼できないファイルが含まれるディレクトリでは使用しないでください。
ツールの承認:
ファイル変更や実行を伴うツール(touch、chmod、nodeなど)を初めて使用する際、承認を求められます。
自動承認オプション:
# すべてのツールを自動承認(注意が必要)
copilot --allow-all-tools -p "最後のコミットをrevert"
# 特定のツールを拒否
copilot --allow-all-tools --deny-tool 'shell(rm)' --deny-tool 'shell(git push)'
# 特定のツールのみ許可
copilot --allow-tool 'shell(git)' -p "変更をコミット"
8. GitHub Spark
自然言語でフルスタックWebアプリケーションを構築できる機能です。
8.1 特徴
- コーディング不要: 自然言語でアプリを記述
- AI機能統合: GitHub Modelsとネイティブ統合
- マネージドデータストア: キーバリューストアを自動セットアップ
- ワンクリックデプロイ: Azure Container Appsに自動デプロイ
- GitHub統合: コードスペース、リポジトリ、標準GitHubワークフローと統合
8.2 開発フロー
8.3 制限事項
- スタックは固定(React、TypeScript)
- データストアは全ユーザー共有(デフォルト)
- 外部ライブラリの互換性は保証されない
8.4 料金
各プロンプトは4プレミアムリクエストを消費します。
9. GitHub Copilot Spaces
コンテキストを整理し、チームで共有できる機能です。
9.1 Spacesの用途
- 関連性の高い回答: 必要なコンテキストをまとめてCopilotに提供
- フロー維持: タスクに必要な情報を1か所に集約
- 知識共有: 繰り返し質問を減らし、チームで知識を共有
- オンボーディング支援: セルフサービスコンテキストでチャット履歴を超えた情報提供
9.2 Spacesに含められるコンテンツ
- リポジトリ
- コード
- プルリクエスト
- Issue
- フリーテキスト(議事録、ノートなど)
- 画像
- ファイルアップロード
9.3 共有オプション
組織所有のSpace:
- 組織メンバーと共有(管理者、編集者、閲覧者の権限設定可能)
- 「アクセスなし」設定で非表示化も可能
個人所有のSpace:
- 公開共有(閲覧のみ)
- 特定のGitHubユーザーと共有
- プライベート(作成者のみ)
9.4 料金への影響
Spaceでの質問はCopilot Chatリクエストとしてカウントされます。プレミアムモデルを使用した場合、プレミアムリクエストとして消費されます。
10. ネットワーク設定
10.1 プロキシサポート
企業ネットワークでHTTPプロキシ経由での接続が可能です。
環境変数での設定:
export HTTPS_PROXY=http://proxy.example.com:3128
export https_proxy=http://proxy.example.com:3128
export HTTP_PROXY=http://proxy.example.com:3128
export http_proxy=http://proxy.example.com:3128
優先順位: HTTPS_PROXY > https_proxy > HTTP_PROXY > http_proxy
10.2 Kerberos認証
Kerberosを使用したプロキシ認証に対応しています。
要件:
- OSに適したkrb5ライブラリのインストール
- プロキシサービス用のアクティブなチケット(
kinitコマンドまたは他のアプリケーションで作成)
SPNのオーバーライド:
デフォルトのSPNが正しくない場合、環境変数で上書きできます。
export AGENT_KERBEROS_SERVICE_PRINCIPAL=HTTP/custom-proxy.example.com
10.3 カスタム証明書
カスタムSSL証明書を使用してプロキシサーバーを識別できます。
証明書の読み込み:
- OS の信頼ストアから読み込み
-
NODE_EXTRA_CA_CERTS環境変数で指定したファイルから追加読み込み
11. プロンプトエンジニアリング
Copilotから最高の結果を得るためのベストプラクティスです。
11.1 基本原則
1. 一般的なことから始めて、具体的にする:
素数かどうかを判定するJavaScript関数を書いて
関数は整数を受け取り、素数ならtrueを返す
入力が正の整数でない場合はエラーを出す
2. 例を示す:
文字列内のすべての日付を見つけて配列で返すGo関数を書いて。日付の形式は:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
例:
findDates("11/14/2023に歯医者の予約があり、12-1-23に読書会があります")
返り値: ["11/14/2023", "12-1-23"]
3. 複雑なタスクを分解する:
ワードサーチパズルを生成する代わりに、タスクを分割:
- 10x10の文字グリッドを生成する関数を書く
- 有効な単語リストから、文字グリッド内のすべての単語を見つける関数を書く
- 前の関数を使って、少なくとも10単語を含む10x10グリッドを生成する関数を書く
- グリッドとランダムな10単語を出力するように前の関数を更新
4. 曖昧さを避ける:
悪い例: 「これは何をしますか?」(「これ」が不明確)
良い例:
- 「createUser関数は何をしますか?」
- 「あなたの最後の応答のコードは何をしますか?」
5. 関連コードを示す:
- IDEでCopilotを使用する場合、関連ファイルを開き、無関係なファイルを閉じる
- Copilot Chatでは、
@workspace(VS Code)や@project(JetBrains)を使用
12. まとめ
GitHub Copilot 2025は、単なるコード補完ツールから、開発ライフサイクル全体を支援する統合AI環境へと進化しました。主要な機能をまとめます:
コア機能:
- リアルタイムコード補完とNext Edit Suggestions
- 対話型Copilot Chatと複数AIモデル選択
- カスタム指示によるチーム固有の応答調整
自律型開発:
- Copilot Coding Agentによる自律的なタスク実行
- カスタムエージェントによる特化型タスク対応
- Agent Skillsによる再利用可能なタスク定義
統合と拡張:
- MCPによる外部ツール統合
- GitHub MCP Serverによる GitHub連携
- Teams、Slack、Linear等のサードパーティ統合
品質とセキュリティ:
- 自動コードレビューと静的解析
- セキュリティスキャンと脆弱性検出
- コンテンツ除外による機密情報保護
開発ツール:
- Copilot CLIによるコマンドライン操作
- GitHub Sparkによるノーコードアプリ開発
- Copilot Spacesによる知識共有
エンタープライズ:
- 詳細なポリシー管理とアクセス制御
- 使用状況メトリクスと監査ログ
- MCP管理とセキュリティ統制
柔軟な料金体系:
- 個人向け: Free、Pro($10/月)、Pro+($39/月)
- 組織向け: Business($19/ユーザー/月)、Enterprise($39/ユーザー/月)
- プレミアムリクエストによる高度な機能利用
GitHub Copilotは、個人開発者からエンタープライズまで、あらゆる規模のチームで活用できる包括的なAI開発プラットフォームです。適切に活用することで、開発効率の向上、コード品質の改善、チーム全体の生産性向上が期待できます。