参考 - GitHub Copilot 各種資料/チートシート
GitHub Copilotは単なるコード補完ツールではありません。複数のAIモデル、カスタマイズ可能なエージェント、詳細な使用状況メトリクス、そして柔軟な課金体系を備えた、開発ワークフロー全体を支援する統合プラットフォームです。本記事では、公式ドキュメントをもとに、その全体像を技術的な観点から解説します。
目次
- サポートされるAIモデル
- カスタムエージェントの設計と実装
- 使用状況メトリクスとデータ分析
- 課金体系とライセンス管理
- ネットワーク設定とセキュリティ
- 開発効率を上げるキーボードショートカット
- 監査とガバナンス
1. サポートされるAIモデル
GitHub Copilotは複数のAIモデルプロバイダーをサポートしており、タスクの性質に応じて最適なモデルを選択できます。
1.1 モデルラインナップ
1.2 タスク別推奨モデル
1.2.1 汎用コーディングと記述作業
| モデル | 特徴 | 適用場面 |
|---|---|---|
| GPT-5-Codex | 複雑なエンジニアリングタスクで高品質なコード生成 | 機能実装、テスト作成、デバッグ、リファクタリング、レビュー |
| GPT-5 mini | 高速で正確、多言語・多フレームワーク対応 | 日常的な開発タスク全般 |
| Grok Code Fast 1 | コーディング特化、多言語対応 | コード生成とデバッグ |
| Raptor mini | 高速で正確なインライン提案 | リアルタイムコード補完 |
1.2.2 高速で軽量なタスク
| モデル | 特徴 | 適用場面 |
|---|---|---|
| Claude Haiku 4.5 | 速度と品質のバランス | 小規模な関数編集、シンタックスヘルプ、プロトタイピング |
1.2.3 深い推論とデバッグ
| モデル | 特徴 | 適用場面 |
|---|---|---|
| GPT-5 mini | GPT-5より高速で低リソース、ステップバイステップ分析 | 対話的なセッション、段階的コード分析 |
| GPT-5 | 複雑な推論、コード分析、技術的意思決定 | アーキテクチャ設計、複雑な問題解決 |
| Claude Sonnet 4 | プレッシャー下でも安定した推論 | 大規模リファクタリング |
| Claude Opus 4.1 | Anthropicの最も強力なモデル | 最高レベルの推論が必要な場面 |
| Gemini 2.5 Pro | 長いコンテキストでの高度な推論 | 科学的・技術的分析 |
1.2.4 ビジュアル作業(図表、スクリーンショット)
| モデル | 特徴 | 適用場面 |
|---|---|---|
| GPT-5 mini | マルチモーダル入力対応 | ビジュアル推論タスク |
| Claude Sonnet 4 | 安定した補完とスマートな推論 | フロントエンド作業、ビジュアルデバッグ |
| Gemini 2.5 Pro | 深い推論とデバッグ | 複雑なコード生成、研究ワークフロー |
1.3 モデルの自動選択
サポートされているIDEでCopilot Chatを使用する場合、Autoモードが利用可能性に基づいて自動的に最適なモデルを選択します。もちろん、手動で別のモデルを選択してオーバーライドすることも可能です。
1.4 モデル倍率と課金
各モデルには複雑性とリソース使用量に基づくプレミアムリクエスト倍率が設定されています。
| モデル | 有料プラン倍率 | Copilot Free倍率 |
|---|---|---|
| Claude Haiku 4.5 | 0.33 | 1 |
| Claude Opus 4.1 | 10 | 利用不可 |
| Claude Opus 4.5 | 3 | 利用不可 |
| Claude Sonnet 4/4.5 | 1 | 利用不可 |
| Gemini 2.5 Pro | 1 | 利用不可 |
| Gemini 3 Flash | 0.33 | 利用不可 |
| Gemini 3 Pro | 1 | 利用不可 |
| GPT-4.1 | 0 | 1 |
| GPT-5 | 1 | 利用不可 |
| GPT-5 mini | 0 | 1 |
| GPT-5-Codex | 1 | 利用不可 |
| GPT-5.1 | 1 | 利用不可 |
| GPT-5.1-Codex | 1 | 利用不可 |
| GPT-5.1-Codex-Mini | 0.33 | 利用不可 |
| GPT-5.1-Codex-Max | 1 | 利用不可 |
| GPT-5.2 | 1 | 利用不可 |
| Grok Code Fast 1 | 0.25 | 利用不可 |
| Raptor mini | 0 | 1 |
1.5 モデルのホスティング
各モデルプロバイダーはデータ保持に関して明確なコミットメントを持っています。
OpenAIモデル
- OpenAIとGitHubのAzureインフラストラクチャでホスティング
- OpenAIは顧客ビジネスデータでモデルをトレーニングしない
- GitHubはOpenAIとゼロデータ保持契約を締結
Anthropicモデル
- AWS、Anthropic PBC、Google Cloud Platformでホスティング
- すべてのプロバイダーでデータトレーニング不使用を保証
- プロンプトキャッシングで品質向上と遅延削減
Googleモデル
- Google Cloud Platformでホスティング
- プロンプトとレスポンスをモデルトレーニングに使用しない
- プロンプトキャッシング対応
xAIモデル(Grok Code Fast 1)
- xAIでホスティング、ゼロデータ保持APIポリシー
- ユーザーコンテンツ(入力・出力)は保存されない
- リクエスト処理に必要な最小時間のみRAMに存在
2. カスタムエージェントの設計と実装
カスタムエージェントは、特定のドメインや組織固有のワークフローに特化したAIアシスタントを作成できる機能です。
2.1 カスタムエージェントの階層構造
2.2 設定ファイルの構造
カスタムエージェントは、YAMLフロントマターとMarkdownコンテンツで構成されます。
---
name: "テストスペシャリスト"
description: "テストカバレッジと品質に特化したエージェント"
tools: ["read", "edit", "search"]
target: "vscode"
infer: true
metadata:
team: "品質保証"
version: "1.0"
---
あなたはテスト品質向上に特化したテストスペシャリストです。責任範囲:
- 既存のテストを分析し、カバレッジギャップを特定
- ベストプラクティスに従ったユニットテスト、統合テスト、E2Eテストを作成
- テスト品質を評価し、保守性向上の提案を行う
- テストが独立性、決定性、適切なドキュメントを持つことを保証
- プロダクションコードの変更は避け、テストファイルのみに集中
常に明確なテスト説明を含め、言語とフレームワークに適したテストパターンを使用してください。
2.3 YAMLフロントマタープロパティ
| プロパティ | 型 | 説明 | リポジトリ | 組織/エンタープライズ | IDE |
|---|---|---|---|---|---|
| name | string | カスタムエージェントの表示名(オプション) | ✓ | ✓ | ✓ |
| description | string | エージェントの目的と機能の説明(必須) | ✓ | ✓ | ✓ |
| target | string | ターゲット環境(vscodeまたはgithub-copilot、未設定時は両方) |
✓ | ✓ | ✓ |
| tools | list/string | エージェントが使用できるツール名のリスト | ✓ | ✓ | ✓ |
| infer | boolean | Copilotがタスクコンテキストに基づいて自動使用するか(デフォルト:true) | ✓ | ✓ | ✓ |
| mcp-servers | object | エージェントが使用する追加MCPサーバー | × | ✓ | × |
| metadata | object | エージェントに有用なデータを注釈付け | ✓ | ✓ | ✓ |
2.4 ツール設定
ツールプロパティは、エージェントが使用できるツールを制御します。
すべてのツールを有効化
tools: ["*"]
# または
# tools プロパティを省略
特定のツールのみ有効化
tools: ["read", "edit", "search"]
すべてのツールを無効化
tools: []
2.5 ツールエイリアス
| 主要エイリアス | 互換エイリアス | Coding agentマッピング | 用途 |
|---|---|---|---|
| execute | shell, Bash, powershell | シェルツール(bashまたはpowershell) | OSに適したシェルでコマンド実行 |
| read | Read, NotebookRead | view | ファイル内容の読み取り |
| edit | Edit, MultiEdit, Write, NotebookEdit | 編集ツール(str_replace等) | LLMによる編集を許可 |
| search | Grep, Glob | search | ファイルやファイル内テキストの検索 |
| agent | custom-agent, Task | カスタムエージェントツール | 別のカスタムエージェントを呼び出し |
| web | WebSearch, WebFetch | 現在Coding agentでは非対応 | URLからコンテンツ取得、Web検索 |
| todo | TodoWrite | 現在Coding agentでは非対応 | 構造化タスクリストの作成・管理 |
2.6 MCPサーバー設定
組織・エンタープライズレベルのカスタムエージェントでは、MCPサーバーを直接設定できます。
---
name: "mcp対応カスタムエージェント"
description: "MCPサーバーとシークレットを設定したカスタムエージェント"
tools: ['tool-a', 'tool-b', 'custom-mcp/tool-1']
mcp-servers:
custom-mcp:
type: 'local'
command: 'some-command'
args: ['--arg1', '--arg2']
tools: ["*"]
env:
ENV_VAR_NAME: ${{ secrets.COPILOT_MCP_ENV_VAR_VALUE }}
---
動作とアウトプットに関する提案を含むプロンプト
環境変数とシークレットの参照構文
リポジトリレベルとカスタムエージェントYAML設定の両方で以下の構文をサポート:
-
COPILOT_MCP_ENV_VAR_VALUE(環境変数のみ、非推奨) -
$COPILOT_MCP_ENV_VAR_VALUE(環境変数とヘッダー) -
${COPILOT_MCP_ENV_VAR_VALUE}(Claude Code構文)
カスタムエージェントYAMLでは以下も追加サポート:
${{ secrets.COPILOT_MCP_ENV_VAR_VALUE }}${{ var.COPILOT_MCP_ENV_VAR_VALUE }}
2.7 標準MCPサーバー
Copilot Coding agentで標準利用可能なMCPサーバー:
| MCPサーバー名 | 利用可能ツール |
|---|---|
| github | すべての読み取り専用ツール(トークンはソースリポジトリにスコープ)github/*で全て含むかgithub/<tool名>で個別指定 |
| playwright | すべてのplaywrightツール(localhostのみアクセス可能)playwright/*で全て含むかplaywright/<tool名>で個別指定 |
2.8 カスタムエージェントの処理
2.8.1 名前の競合解決
2.8.2 バージョニング
カスタムエージェントのバージョニングは、エージェントプロファイルファイルのGitコミットSHAに基づきます。エージェントをタスクに割り当てると、そのリポジトリとブランチの最新バージョンが使用されます。エージェントがプルリクエストを作成した場合、そのプルリクエスト内の対話では一貫性のため同じバージョンのエージェントが使用されます。
2.8.3 MCPサーバー設定の処理順序
2.9 実装例
2.9.1 テスト専門家エージェント
---
name: "テスト専門家"
description: "プロダクションコードを変更せず、テストカバレッジ、品質、ベストプラクティスに集中"
---
あなたは包括的なテストを通じてコード品質向上に特化したテスト専門家です。責任:
- 既存のテストを分析し、カバレッジギャップを特定
- ベストプラクティスに従ったユニットテスト、統合テスト、E2Eテストを作成
- 保守性向上のためのテスト品質レビューと提案
- テストが独立性、決定性、適切なドキュメントを持つことを保証
- 特に要求されない限り、テストファイルのみに集中し、プロダクションコードは変更しない
常に明確なテスト説明を含め、言語とフレームワークに適したテストパターンを使用してください。
2.9.2 実装プランナー
---
name: "実装プランナー"
description: "Markdown形式で詳細な実装計画と技術仕様を作成"
tools: ["read", "search", "edit"]
---
あなたは包括的な実装計画作成に特化した技術計画専門家です。責任:
- 要件を分析し、実行可能なタスクに分解
- 詳細な技術仕様とアーキテクチャドキュメントを作成
- 明確なステップ、依存関係、タイムラインを持つ実装計画を生成
- API設計、データモデル、システム相互作用をドキュメント化
- 開発チームが従えるMarkdownファイルで構造化された計画を作成
常に明確な見出し、タスク分解、受け入れ基準で計画を構造化してください。テスト、デプロイ、潜在的リスクの考慮事項を含めます。コードを実装するのではなく、徹底的なドキュメント作成に集中してください。
3. 使用状況メトリクスとデータ分析
GitHub Copilotは、エンタープライズ、組織、ユーザーレベルで詳細な使用状況メトリクスを提供します。これにより、採用状況の追跡、ROIの測定、改善機会の特定が可能になります。
3.1 メトリクスの取得方法
3.2 ダッシュボードメトリクス
3.2.1 基本使用状況
| メトリクス | 説明 |
|---|---|
| エージェント採用率 | 現在の暦月でエージェントを試したCopilotライセンス保有アクティブユーザーの割合 |
| アクティブユーザーあたり平均チャットリクエスト数 | アクティブユーザーあたりのチャットリクエスト平均数 |
| コード補完(提案/受け入れ) | 表示されたインラインコード提案と受け入れられた提案の総数 |
| コード補完受け入れ率 | ユーザーが受け入れた提案の割合 |
| 日次アクティブユーザー(DAU) | 特定の日にCopilotを使用したユニークユーザー数 |
| 週次アクティブユーザー(WAU) | 7日間のウィンドウでCopilotを使用したユニークユーザー数 |
| 総アクティブユーザー | 現在の暦月でアクティブなライセンス保有ユーザー |
3.2.2 言語とモデルの使用状況
| メトリクス | 説明 |
|---|---|
| 言語使用状況 | Copilotで使用されたプログラミング言語の分布 |
| 日次言語使用状況 | 日次の言語使用内訳 |
| モデル使用状況 | チャットで使用されたAIモデルの分布 |
| 日次モデル使用状況 | 日次のチャットモデル使用内訳 |
| チャットモードごとのモデル使用状況 | Copilot機能(Ask、Edit、Agent)別のモデル使用状況 |
| 言語ごとのモデル使用状況 | モデル別に分類された言語の分布 |
| 最も使用されたチャットモデル | 現在の暦月で最も頻繁に使用されたチャットモデル |
3.2.3 チャットとエージェント
| メトリクス | 説明 |
|---|---|
| チャットモードごとのリクエスト数 | モード(Ask、Edit、Agent)別のチャットリクエスト数 |
3.3 コード生成ダッシュボードメトリクス
コード生成ダッシュボードは、ユーザー主導とエージェント主導のアクティビティを分類し、IDEで追加または削除されたコード行(LoC)から導出されます。
| メトリクス | 説明 |
|---|---|
| AIで変更されたコード行数 | 現在の暦月で全モードで追加・削除された総コード行数 |
| エージェント貢献度 | 現在の暦月でエージェント(Edit、Agent、カスタムモード含む)により追加・削除されたコード行の割合 |
| エージェントによる平均削除行数 | 現在の暦月でエージェントがアクティブユーザーの代わりに自動削除した平均行数 |
| 日次追加・削除行数合計 | 各日の全モードでコードベースに追加・削除された総行数 |
| ユーザー主導のコード変更 | コード補完とチャットパネルアクション(挿入、コピー、適用)を通じてユーザーが提案または手動追加した行数 |
| エージェント主導のコード変更 | Edit、Agent、カスタムモードでエージェントがユーザーの代わりに自動的にコードベースに追加・削除した行数 |
| モデルごとのユーザー主導コード変更 | IDEで使用されたモデル別にグループ化されたユーザー主導コード行数 |
| モデルごとのエージェント主導コード変更 | エージェントアクションを実行したモデル別にグループ化されたエージェント主導コード行数 |
| 言語ごとのユーザー主導コード変更 | プログラミング言語別にグループ化されたユーザー主導コード行数 |
| 言語ごとのエージェント主導コード変更 | プログラミング言語別にグループ化されたエージェント主導コード行数 |
3.4 APIとエクスポートフィールド
エクスポートされたNDJSONレポートとCopilot使用状況メトリクスAPIに表示されるフィールドです。エンタープライズ、組織、またはユーザースコープで日次レコードを提供します。
3.4.1 基本フィールド
| フィールド | 説明 |
|---|---|
| report_start_day / report_end_day | 28日間のレポート期間の開始日と終了日 |
| day | このレコードが表す暦日 |
| enterprise_id | エンタープライズの一意ID |
| organization_id | 組織の一意ID(APIのみ) |
| user_id / user_login | ユーザーの一意識別子とGitHubユーザー名 |
3.4.2 インタラクションメトリクス
| フィールド | 説明 |
|---|---|
| user_initiated_interaction_count | Copilotに送信された明示的なプロンプト数。モデルにアクティブに送信されたメッセージまたはプロンプトのみカウント。チャットパネルを開く、モード切り替え、キーボードショートカット、設定変更は含まない |
| code_generation_activity_count | 生成された個別のCopilot出力イベント数。すべての生成コンテンツ(コメントやdocstring含む)をカウント。1つのプロンプトからの複数のコードブロックはそれぞれ個別にカウント |
| code_acceptance_activity_count | ユーザーが受け入れた提案またはコードブロック数。「ファイルに適用」、「カーソル位置に挿入」、「ターミナルに挿入」、コピーボタンの使用などすべての組み込み受け入れアクションをカウント。手動のOSクリップボードアクション(Ctrl+C等)はカウントしない |
3.4.3 コード行メトリクス
| フィールド | 説明 |
|---|---|
| loc_suggested_to_add_sum | Copilotが追加を提案したコード行数(補完、インラインチャット、チャットパネル等、Agentエディットは除く) |
| loc_suggested_to_delete_sum | Copilotが削除を提案したコード行数(将来サポート予定) |
| loc_added_sum | エディタに実際に追加されたコード行数(受け入れられた補完、適用されたコードブロック、agent/editモード) |
| loc_deleted_sum | エディタから削除されたコード行数(現在はAgentエディットのみ) |
| agent_edit | APIとレポート内の専用バケット。Copilot AgentとEditモードで直接追加・削除された行をキャプチャ。シンプルな提案→受け入れフローに従わないため、提案メトリクスには含まれない |
3.4.4 分類メトリクス
| フィールド | 説明 |
|---|---|
| totals_by_ide | 使用されたIDE別のメトリクス内訳 |
| totals_by_feature | Copilot機能別のメトリクス内訳(例:インラインチャット、チャットパネル) |
| totals_by_language_feature | 言語と機能の次元を組み合わせた内訳 |
| totals_by_model_feature / totals_by_language_model | チャットアクティビティのモデル別内訳(補完は含まない) |
3.4.5 バージョン情報
| フィールド | 説明 |
|---|---|
| last_known_ide_version / last_known_plugin_version | 各ユーザーについて検出された最新のIDEとCopilot Chat拡張バージョン |
3.5 プルリクエストアクティビティフィールド(APIのみ)
エンタープライズ全体の日次プルリクエスト作成とレビューアクティビティ(Copilotによる実行を含む)をキャプチャします。
| フィールド | 説明 |
|---|---|
| pull_requests.total_created | この特定の日にエンタープライズ全体で作成されたプルリクエストの総数。作成は1回限りのイベント、各プルリクエストは作成された日にのみカウント |
| pull_requests.total_reviewed | この特定の日にエンタープライズ全体でレビューされたプルリクエストの総数。複数日にレビューを受けた場合は複数日でカウントされる可能性がある |
| pull_requests.total_created_by_copilot | この特定の日にCopilotによって作成されたプルリクエスト数 |
| pull_requests.total_reviewed_by_copilot | この特定の日にCopilotによってレビューされたプルリクエスト数 |
3.6 Lines of Code(LoC)メトリクスの詳細
LoC メトリクスは、補完、チャット、エージェント機能全体でCopilotが提案、追加、削除した行を定量化することで、Copilotの出力を方向性のある尺度で提供します。
3.6.1 バージョン要件
LoC メトリクスが機能するには、IDEとCopilotプラグインの特定の最小バージョンが必要です。
| IDE | 機能 | 最小IDEバージョン | 最小Copilot Chat拡張バージョン |
|---|---|---|---|
| Eclipse | code_completion | 4.31 | 0.9.3.202507240902 |
| Eclipse | chat_panel (Ask, Edit, Agent) | 4.31 | 0.11.0.202508291001 |
| Eclipse | agent_edit | 4.31 | 0.10.0.202508110512 |
| IntelliJ/JetBrains | 全機能 | 2024.2.6 | 1.5.52-241 |
| Visual Studio | code_completion, chat_panel | 17.14.13 | 18.0.471.29466 |
| Visual Studio | chat_inline, agent_edit | 17.14.14 | 18.0.471.29466 |
| VS Code | code_completion | 1.104.0 | 0.31.0 |
| VS Code | chat_panel | 1.102.0 | 0.29.0 |
| VS Code | chat_inline | 1.103.2 | 0.30.3 |
| VS Code | agent_edit | 1.103.0 | 0.30.0 |
| Xcode | code_completion | 14.3.1 | 0.40.0 |
| Xcode | chat_panel | 15.0 | 0.43.0 |
| Xcode | agent_edit | 15.2 | 0.41.0 |
3.6.2 エージェントモードの影響
補完やチャットとは異なり、Copilotエージェントは「提案→受け入れ」フローに従いません。エージェントは複数ステップのタスクを計画・実行し、ユーザーの明示的な受け入れなしに複数ファイルを反復的に編集することが多いため、エージェントアクティビティのLoCメトリクスは異なる方法で測定されます。
| 動作 | LoCメトリクスへの反映 |
|---|---|
| エージェントコード提案 | チャットパネルに表示されるコードブロックはloc_suggested_to_add_sumとしてカウント |
| ファイル内のエージェント編集 |
agent_edit機能バケット下でloc_added_sumとloc_deleted_sumとしてカウント。これらの編集は提案メトリクスには含まれない |
| 複数ファイル操作 | 1つのプロンプトでトリガーされても、各ファイル編集が総追加・削除行数に貢献 |
3.7 メトリクスの調整と整合性
ダッシュボード、API、エクスポートはすべて同じ基礎テレメトリーデータを使用しますが、集計と表示方法が異なります。
3.7.1 時間ウィンドウの違い
| データソース | 時間ウィンドウ | 集計方法 |
|---|---|---|
| ダッシュボード | 28日間のローリングウィンドウ | 変動を平滑化するため過去28日間で継続的に集計 |
| API | 日次 | 各レコードはユーザーごとの1日を表現、日次トレンド分析が可能 |
| NDJSONエクスポート | 日次 | BIツールと長期レポートのためにAPI出力をミラー |
3.7.2 遅延テレメトリー
IDEテレメトリーは非同期処理されるため、直近数日のデータは不完全または欠落している可能性があります。データは通常、3 UTC日以内に確定します。
3.7.3 不明(Unknown)値
IDEクライアントからのテレメトリーがアクティビティを分類するのに十分な詳細を欠いている場合、APIまたはエクスポート内訳にUnknownという値が表示されることがあります。これは期待される動作であり、データの欠落を示すものではありません。
| 分類 | 説明 |
|---|---|
| 言語 | IDEがアクティブファイルのプログラミング言語を識別できない場合にUnknownとして表示 |
| 機能 | 古いクライアントがチャットモードを指定せずに汎用イベントを送信した場合に表示(例:chat_panel_unknown_mode) |
| モデル | イベントに使用されたモデルを識別する情報が欠けている場合に表示 |
3.8 メトリクスの解釈と活用
3.8.1 全体的な使用トレンドの確認
3.8.2 機能採用の確認
| シグナル | 意味 | 注目ポイント |
|---|---|---|
| チャットモードごとのリクエスト | Ask、Edit、Agentモード別のチャットインタラクション内訳 | バランスの取れた分布はユーザーが複数機能を探索していることを示す |
| エージェント採用率 | Copilotエージェントを使用したアクティブユーザーの割合 | 時間経過とともに成長すれば、基本補完から高度機能へ進んでいることを示す |
3.8.3 モデル採用の確認
| チャート | 説明 | 導出できる洞察 |
|---|---|---|
| 日次モデル使用状況 | エンタープライズ全体のCopilot Chatアクティビティを支えるAIモデルを表示 | ユーザーが主にデフォルトモデルを使用しているか、新しいモデルを実験しているかを特定 |
| チャットモードごとのモデル使用状況 | チャットモード(Ask、Edit、Agent)別のモデル使用内訳 | 新しいモデルがリリースされるにつれてモデル採用がどう進化するかを監視 |
3.8.4 言語使用状況の確認
| チャート | 説明 | 活用方法 |
|---|---|---|
| 言語使用状況 | プログラミング言語別のCopilot Chatアクティビティシェアを表示 | Copilot Chatが最も価値を提供している場所と、追加サポートや有効化が役立つ可能性がある場所を特定 |
| 日次言語使用状況 | 言語アクティビティの日次変動を追跡 | 開発フォーカスのシフトを検出、または新しいチームやプロジェクトが活動増加を促進しているかを確認 |
3.8.5 洞察に基づくアクション
| 観察 | 可能な原因 | 推奨アクション |
|---|---|---|
| 一部チームで高採用、他チームで低採用 | Copilot Chatが正しく有効化または設定されていない可能性 | ライセンス割り当てとIDE設定を確認、チームレベルのオンボーディングを提供 |
| 安定した使用状況だがエージェント採用率が低い | Copilotエージェント機能を認識していない可能性 | 内部デモや成功事例を共有 |
| DAUまたは受け入れ率の低下 | 設定問題または提案の関連性低下 | フィードバックを促し、IDEと拡張バージョンを確認 |
4. 課金体系とライセンス管理
GitHub Copilotの課金は、ライセンスベースの他のGitHub製品と同じルールに従います。
4.1 シート(ライセンス)の概念
4.2 シート割り当て管理
割り当ての仕組み
- 誰が割り当てるか: 組織のオーナー
- どこで: GitHub組織設定またはREST API経由
-
重要な動作:
- すべての割り当てシートが削除されると、組織のCopilotプランはキャンセルされる
- アクティブなCopilot ProまたはCopilot Pro+プランを持つユーザーにCopilot BusinessまたはCopilot Enterpriseシートが割り当てられると、個人プランは自動的にキャンセルされ、残りの個人課金サイクルの按分返金が発行される
4.2.1 エンタープライズ内の複数組織からのシート割り当て
- 単一ユーザーが同じエンタープライズ内の複数組織からシートを受け取った場合、エンタープライズは課金サイクルごとにそのユニークユーザーに対して1回のみ請求
- ユーザーにCopilotを割り当てた組織の1つがランダムに選択され、毎月シート請求を受ける
4.2.2 Copilot BusinessとCopilot Enterpriseシートの混在
4.3 課金サイクル
Copilotは他のライセンスベース製品と同じ課金サイクルを使用します。
基本原則
- 課金は課金サイクル中に割り当てられたCopilotシート(ライセンス)数に基づいて計算
- シートはいつでも追加または削除可能
- 各課金サイクル終了時に、割り当てられたシート数に基づいて課金ユーザーが計算される
- GitHubは使用ベースコストの価値に対して一時的な認証保留を適用する場合があり、これはアカウントの支払い方法で保留中の請求として表示される
タイムゾーン
GitHub Copilotは課金サイクルのタイムゾーンにUTCを使用します。例えば、サイクルが午後11:59 UTCに終了する場合、午後7:00 EST(午前0:00 UTC)にシートをキャンセルすると次のサイクルに含まれ、そのシートに対して請求されます。
4.4 ライセンス変更の影響
4.4.1 個人アカウント
| アクション | 影響 | タイミング |
|---|---|---|
| アップグレード(月次→年次) | 即座に変更、新プランの按分額を請求 | 即時 |
| ダウングレード/キャンセル(月次) | 現在のサイクル終了まで継続、未使用時間の返金なし | サイクル終了時 |
| ダウングレード/キャンセル(年次) | すでに支払った年次期間終了まで継続 | 年次期間終了時 |
| プラン切り替え | 按分適用、新プランは即座に開始 | 即時 |
4.4.2 組織
| アクション | 課金への影響 | アクセスへの影響 |
|---|---|---|
| シート追加 | 現在の課金サイクルの残り期間分を按分請求 | 割り当て後すぐにアクセス可能 |
| シート削除(割り当て解除) | サイクル終了時に請求停止、次のサイクル開始時に削減シート数が有効 | サイクル終了までアクセス可能 |
| シート削除(取り消し) | サイクル終了時に請求停止 | 即座にアクセス喪失 |
| 組織レベルでCopilot無効化 | 影響を受けるユーザーの請求はサイクル終了時に停止 | 影響を受けるユーザーは即座にアクセス喪失 |
| 組織からライセンスユーザー削除 | 影響を受けるユーザーの請求はサイクル終了時に停止 | 影響を受けるユーザーは即座にアクセス喪失 |
4.4.3 エンタープライズ
| アクション | 課金への影響 | アクセスへの影響 |
|---|---|---|
| シート追加 | 現在の課金サイクルの残り期間分を按分請求 | 割り当てユーザーは即座にアクセス可能 |
| シート削除(割り当て解除) | サイクル終了時に請求停止、次のサイクル開始時に削減シート数が有効 | サイクル終了までアクセス可能 |
| シート削除(取り消し) | サイクル終了時に請求停止 | 即座にアクセス喪失 |
| Copilotシートを持つ組織をエンタープライズから削除 | これらのシートの請求は課金サイクル終了時に停止 | 削除された組織によってシートを割り当てられていたユーザーは、他の組織を通じてシートを受け取らない限りアクセス喪失 |
| エンタープライズレベルでCopilot無効化 | ユーザーの請求はサイクル終了時に停止 | Copilotライセンスを持つすべてのユーザーが即座にアクセス喪失 |
4.5 Azure経由の課金
Azure サブスクリプションを組織またはエンタープライズアカウントに接続し、Azure経由でCopilotの支払いを行うことができます。
4.5.1 Azure課金の仕組み
4.5.2 Copilot固有の使用状況
- Copilotライセンス使用はアクティブシート数として測定
- プレミアムリクエストの含まれる許容量を超えた使用があれば、追加使用のコストが含まれる
- 使用データは毎日Azureに送信される
- 暦月の請求は翌月初めのAzure請求書に表示される
4.6 課金変更のまとめ
| シナリオ | プラン | 課金への影響タイミング | 按分適用 | アクセス変更タイミング | 未使用時間の返金 |
|---|---|---|---|---|---|
| シート/ライセンス追加 | Copilot Business, Enterprise | 次回請求 | あり | 即時 | N/A |
| シート/ライセンス削除 | Copilot Business, Enterprise | 次回請求 | N/A | 即時 | なし |
| サブスクリプションキャンセル | すべてのプラン | サイクル終了時 | N/A | サイクル終了時 | なし |
| アップグレード/ダウングレード/プラン切り替え | すべてのプラン | 即時 | あり | 即時 | N/A(代わりに按分) |
5. ネットワーク設定とセキュリティ
企業がファイアウォールやプロキシサーバーなどのセキュリティ対策を採用している場合、Copilotが正常に動作するために特定のURLをホワイトリストに追加する必要があります。
5.1 GitHub公開URL
| ドメイン/URL | 目的 |
|---|---|
https://github.com/login/* |
認証 |
https://github.com/enterprises/YOUR-ENTERPRISE/* |
Enterprise Managed Usersの管理ユーザーアカウント認証(EMUのみ必要) |
https://api.github.com/user |
ユーザー管理 |
https://api.github.com/copilot_internal/* |
ユーザー管理 |
https://copilot-telemetry.githubusercontent.com/telemetry |
テレメトリー |
https://collector.github.com/* |
分析テレメトリー |
https://default.exp-tas.com |
テレメトリー |
https://copilot-proxy.githubusercontent.com |
Copilot提案のAPIサービス |
https://origin-tracker.githubusercontent.com |
Copilot提案のAPIサービス |
https://*.githubcopilot.com/* |
Copilot提案のAPIサービス(全プラン) |
https://*.individual.githubcopilot.com |
Copilot Individualプラン |
https://*.business.githubcopilot.com |
Copilot Businessプラン |
https://*.enterprise.githubcopilot.com |
Copilot Enterpriseプラン |
https://*.SUBDOMAIN.ghe.com |
GHE.comのCopilotユーザー |
https://SUBDOMAIN.ghe.com |
GHE.comのCopilotユーザー |
5.2 Copilot Coding Agent推奨ホワイトリスト
Copilot Coding Agentには、デフォルトで有効になっている組み込みファイアウォールと推奨ホワイトリストが含まれています。
5.2.1 推奨ホワイトリストが許可するアクセス
- 一般的なOSパッケージリポジトリ(Debian、Ubuntu、Red Hat等)
- 一般的なコンテナレジストリ(Docker Hub、Azure Container Registry、AWS Elastic Container Registry等)
- 人気のあるプログラミング言語が使用するパッケージレジストリ(C#、Dart、Go、Haskell、Java、JavaScript、Perl、PHP、Python、Ruby、Rust、Swift)
- 一般的な認証局(SSL証明書検証を許可)
- Playwright MCPサーバー用のWebブラウザーダウンロードに使用されるホスト
5.2.2 主要カテゴリ別ホスト
5.3 プロキシサーバー設定
ユーザーは自分の環境も設定する必要があります。各ユーザーはCopilotに接続するために自身の環境を設定する必要があります。
6. 開発効率を上げるキーボードショートカット
GitHub Copilotは、各IDEでデフォルトのキーボードショートカットを提供しており、効率的な開発ワークフローを実現します。
6.1 Visual Studio Code(macOS)
| アクション | ショートカット | コマンド名 |
|---|---|---|
| インライン提案を受け入れる | Tab |
editor.action.inlineSuggest.commit |
| インライン提案を却下する | Esc |
editor.action.inlineSuggest.hide |
| 次のインライン提案を表示 | Option (⌥)+] |
editor.action.inlineSuggest.showNext |
| 前のインライン提案を表示 | Option (⌥)+[ |
editor.action.inlineSuggest.showPrevious |
| インライン提案をトリガー | Option (⌥)+\ |
editor.action.inlineSuggest.trigger |
| GitHub Copilotを開く(別ペインで追加提案) | Ctrl+Return |
github.copilot.generate |
| GitHub Copilotのオン/オフ切り替え | デフォルトなし | github.copilot.toggleCopilot |
6.2 Visual Studio Code(Windows / Linux)
| アクション | ショートカット(Windows) | ショートカット(Linux) | コマンド名 |
|---|---|---|---|
| インライン提案を受け入れる | Tab |
Tab |
editor.action.inlineSuggest.commit |
| インライン提案を却下する | Esc |
Esc |
editor.action.inlineSuggest.hide |
| 次のインライン提案を表示 | Alt+] |
Alt+] |
editor.action.inlineSuggest.showNext |
| 前のインライン提案を表示 | Alt+[ |
Alt+[ |
editor.action.inlineSuggest.showPrevious |
| インライン提案をトリガー | Alt+\ |
Alt+\ |
editor.action.inlineSuggest.trigger |
| GitHub Copilotを開く | Ctrl+Enter |
Ctrl+Enter |
github.copilot.generate |
| GitHub Copilotのオン/オフ切り替え | デフォルトなし | デフォルトなし | github.copilot.toggleCopilot |
6.3 チートシート:スラッシュコマンド
チャットプロンプトボックスで/に続けてコマンド名を入力することで、共通シナリオ用の複雑なプロンプトを書く手間を省けます。
| コマンド | 説明 |
|---|---|
/clear |
新しいチャットセッションを開始 |
/explain |
アクティブエディタのコードがどのように動作するかを説明 |
/fix |
選択されたコードの問題の修正を提案 |
/fixTestFailure |
失敗したテストを見つけて修正 |
/help |
GitHub Copilot使用のクイックリファレンスと基本 |
/new |
新しいプロジェクトを作成 |
/tests |
選択されたコードのユニットテストを生成 |
6.4 チートシート:チャット変数
チャットプロンプトボックスで#に続けてチャット変数を入力することで、特定のコンテキストをプロンプトに含めることができます。
| 変数 | 説明 |
|---|---|
#block |
現在のコードブロックをプロンプトに含める |
#class |
現在のクラスをプロンプトに含める |
#comment |
現在のコメントをプロンプトに含める |
#file |
現在のファイルの内容をプロンプトに含める |
#function |
現在の関数またはメソッドをプロンプトに含める |
#line |
現在のコード行をプロンプトに含める |
#path |
ファイルパスをプロンプトに含める |
#project |
プロジェクトコンテキストをプロンプトに含める |
#selection |
現在選択されているテキストをプロンプトに含める |
#sym |
現在のシンボルをプロンプトに含める |
6.5 チートシート:チャット参加者
チャットプロンプトボックスで@に続けて参加者名を入力することで、特定の専門知識を持つドメインエキスパートを指定できます。
| 参加者 | 説明 |
|---|---|
@azure |
Azureサービスとその使用、デプロイ、管理方法についてのコンテキストを持つ(パブリックプレビュー) |
@github |
GitHub固有のCopilotスキルを使用可能 |
@terminal |
Visual Studio Codeターミナルシェルとその内容についてのコンテキストを持つ |
@vscode |
Visual Studio Codeコマンドと機能についてのコンテキストを持つ |
@workspace |
ワークスペース内のコードについてのコンテキストを持つ。プロジェクト構造、コードの相互作用、デザインパターンを考慮 |
7. 監査とガバナンス
エンタープライズオーナーは、エンタープライズ監査ログにactor:Copilotフィルターを適用することで、過去180日間のエージェントアクティビティを表示できます。
7.1 エージェント監査ログの主要フィールド
| フィールド | 説明 | 例の値 |
|---|---|---|
action |
エージェントが実行したアクション(プルリクエスト作成など) | pull_request.create |
actor_is_agent |
アクターがAIエージェントかどうかを示す。エージェント監査ログイベントでは常にtrue
|
true |
agent_session_id |
イベントを生成した特定のエージェントセッションにリンクする一意識別子。エージェントセッションの結果であるイベントの場合のみ表示 | 012345a6-b7c8-9012-de3f-45gh678i9012 |
user |
エージェントイベントを開始した人 | yamada_taro |
7.2 Code Reviewから除外されるファイル
Copilot Code Reviewは、特定の種類のファイルをレビューから除外します。これには依存関係管理ファイル、ログファイル、SVGファイル、通常ベンダーファイルや自動生成ファイル用に予約された場所のファイルが含まれます。
7.2.1 除外されるファイルの例
.gitignore-
package-lock.json,yarn.lock -
jest.config.js,next.config.js,tailwind.config.js,tsconfig.json -
requirements.txt,Pipfile.lock -
Gemfile.lock,composer.lock,Cargo.lock -
go.sum,paket.lock,pubspec.lock - その他多数の設定・ロックファイル
7.2.2 除外されるパターン
**/*.svg**/*.log**/*.lock**/go.sum**/*.ipynb.raw.html**/dist/**/***/node_modules/**/***/*.min.js**/*.d.ts**/coverage/**/***/*.bundle.js**/*.map**/out/**/***/vendor/**/***/bin/**/***/generated/**/***/generated-sources/**/*
まとめ
GitHub Copilotは、単なるコード補完ツールの枠を超えた、包括的な開発支援プラットフォームです。
技術的強み
- 柔軟なモデル選択: OpenAI、Anthropic、Google、xAIの複数モデルから、タスクに最適なものを選択可能
- カスタマイズ性: YAMLベースのカスタムエージェント設定により、組織固有のワークフローに対応
- 可視性: 詳細な使用状況メトリクスとLoC測定により、投資対効果を定量化
- 柔軟な課金: シートベース、按分計算、Azure統合など、企業の調達プロセスに適応
- セキュリティ: きめ細かなネットワーク制御とゼロデータ保持契約
- ガバナンス: 監査ログによる透明性の高いエージェントアクティビティ追跡
実装のポイント
- IDEとプラグインを最新バージョンに保つことで、すべてのメトリクスとLoCデータを取得可能
- カスタムエージェントは階層的に設計し、組織の成熟度に応じて段階的に展開
- メトリクスダッシュボードを定期的に確認し、採用の障壁を早期に特定
- ネットワーク設定は包括的に行い、Coding Agentの推奨ホワイトリストを活用
GitHub Copilotは、開発者の生産性向上と組織のソフトウェアデリバリー加速を実現する、実践的で拡張性の高いプラットフォームです。本記事で紹介した機能を活用し、自組織に最適な形でCopilotを導入・運用してください。