はじめに
2024/11/20 時点の情報です
以前、 GitHub Copilot の導入に関する記事を書きました
個人は Copilot Individual を使用すれば VSCode などの IDE で AI によるコーディング支援を受けることができます
企業では Copilot Business を使用することで、 Copilot を使用する社員の管理や、機能制限をかけることができます
しかし、更に上位のプランである Copilot Enterprise はまだ使ったことがなかったので、検証してみました
GitHub Copilot とは
GitHub Copilot は AI によるコーディング支援サービスです
3種類のプランがあります
- Copilot Individual
- 個人用
- 月額 1 ユーザーあたり $10
- 個人のアカウントで契約する
- Copilot Business
- 企業、組織用
- 月額 1 ユーザーあたり $19
- GitHub Organization で契約する
- 所属している個人アカウントのうち、誰に Copilot を使わせるか管理できる
- 所属している個人アカウントに対して Copilot の利用方針(ポリシー)を制限できる
- Copilot Enterprise
- 大企業用
- 月額 1 ユーザーあたり $39
- GitHub Enterprise で契約する
- 所属している Organization のプランを Business と Enterprise から選択できる
- 所属している Organization に対して Copilot の利用方針(ポリシー)を制限できる
GitHub の契約
GitHub Copilot Enterprise は GitHub Enterprise の契約が前提になっています
GitHub Copilot の前提となる GitHub 本体の契約について確認しておきましょう
GitHub Enterprise と Organization と各個人のアカウントは以下のような関係になっています
上位のアカウントが下位のアカウントを管理する構造になっています
個人アカウントの上位が Organization アカウント、 さらにその上位が Enterprise アカウントです
上位アカウントは下位アカウントに対して権限管理やポリシーによる制約を課すことができます
料金は以下の通りです
- Free
- 無料
- 個人アカウントと Organization で契約する
- Team
- 月額 1 ユーザーあたり $4
- 個人アカウントと Organization で契約する
- Enterprise
- 月額 1 ユーザーあたり $21
- Enterprise の場合は必ずこの契約になる
料金の例を示します
- 個人 Free プラン + Copilot Individual: 月額 $10
- Organization Team プラン 3 人 + うち 2人 Copilot Business: 月額 $50
- Enterprise 3 人 + うち 2人 Copilot Enterprise: 月額 $141
注意点
個人や Organization で Copilot Enterprise を使うことはできないため、
必ず GitHub Enterprise(月額 $21) + Copilot Enterprise(月額 $39) = 月額 $60
が掛かります
$\huge{GitHub Enterprise には 1 ヶ月の無償プランがありますが、}$
$\huge{無償期間中は Copilot Enterprise が使用できません}$
なので、試すだけでも月額一人当たり $60 を覚悟する必要があります
無償期間中に Copilot Enterprise の設定ページを開くと以下のように表示されます
Copilot Enterprise を使いたい場合、画面上部に出ている Activate paid Enterprise
をクリックして無償期間を終わらせましょう
無償期間を終わらせると、 Enterprise 内の Organization 毎に Copilot のプランを選択できるようになります
GitHub Copilot の共通機能
以下に、全プラン共通で(Copilot Indivisual から)使用できる機能を紹介します
Copilot in IDE
VSCode や Vim など、 IDE (統合開発環境)上でコードの補完やチャットへの応答ができます
例えば VSCode に GitHub Copilot プラグインを導入していると、以下の画像のようにコードの補完をしてくれます
GitHub Copilot Chat プラグインを導入すると、コードに関する質問に答えてくれたり、コードを直接編集してくれます
ただし、 ChatGPT のような画像生成や画像説明はできません(あくまでもコーディング支援用のAIです)
Copilot in the CLI
GitHub CLI で Copilot に指示を出すことができます
macOS の場合、 GitHub CLI は以下の Homebrew でインストールできます
brew install gh
GitHub Copilot を契約しているアカウントにログインしましょう
gh auth login
GitHub Copilot プラグインをインストールします
gh extension install github/gh-copilot
gh copilot explain <コマンド>
でコマンドの内容について説明してくれます
説明は英語になってしまいます
gh copilot suggest <やりたいこと>
でやりたいことを実行するコマンドを提案してくれます
日本語でも応えてくれますが、基本は英語です
Copilot in GitHub Mobile
モバイルアプリの中で Copilot とのチャットができます
Copilot in github.com (preview)
ブラウザで GitHub を開いているとき、 Copilot とチャットできます
一般的な質問だけでなく、特定のリポジトリー内のコードやドキュメントについての質問にも対応しています
リポジトリ内の情報を検索できるようにするためにはリポジトリを index (索引作成)する必要があります
Copilot Extensions
Copilot Chat に機能を追加します
Copilot in github.com 用の拡張機能
GitHub Marketplace で追加できます
例えば mermaind-chart の拡張機能を使うと、 Mermaid.js の形式で図を表現してくれます
末尾の "Mermaid Chart Playground" をクリックすると、実際に図として表示できます
VSCode 用の拡張機能
拡張機能を @tag:chat-participant
で検索すると、 GitHub Copilot Chat を拡張できる機能が見つかります
例えば "Regex Previewer" の拡張機能をインストールしていると、 GitHub Copilot Chat で @regex /new <正規表現にしたい内容>
を入力することで該当する正規表現が生成されます
Pull Request の概要生成
Pull Request の作成時、変更内容の概要を文章として生成してくれます
英語でしか生成してくれないので、英語ネイティブなチームでないと使えません
モデルの選択 (preview)
デフォルトの GPT 4o 以外に、 Claude 3.5 Sonnet 、 o1-mini 、 o1-preview などのモデルが選択できるようになっています
Copilot access to Bing (preview)
Copilot が Web 検索をして最新情報に基づいた回答をします
以下の画像の例だと、回答末尾のバージョン番号部分(v4.0.1)がリンクになっていて、 pre-commit のリリースページを参照しています
GitHub Copilot Business の機能
以下に Copilot Business 以上で利用可能となる機能(Indivisual では使えない機能)を紹介します
ユーザー管理
誰に GitHub Copilot を使用させるのか選択できます
ポリシー設定の強制
Copilot の機能毎に有効かどうか選択できます
ポリシーの設定自体は個人でもできますが、 Organization に所属している個人には Organization のポリシーが強制的に適用されます
これにより、オプトインさせる(Copilot に入力を学習させない)かどうかなど、企業が社員の利用方法を制限できます
Copilot Business ではデフォルトでオプトインしないようになっています
ただし、上位に Enterprise がいる場合、 Enterprise の方で有効無効を選択するため、 Organization では選択できません
監査ログ
Organization の Settings メニューの下の方にある "Logs" -> "Audit log" から、組織に対する操作のログが確認できます
"action:copilot" で検索すると、 Copilot に対する操作が確認できます
利用量取得
API から利用量が取得できます
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/enterprises/oec-enterprise/copilot/metrics
結果は以下のように、何日にどのツールからどの言語でどれくらい使ったか、などが分かるようになっています
[
...
{
"date": "2024-11-15",
"copilot_ide_chat": {
"total_engaged_users": 0
},
"total_active_users": 1,
"copilot_dotcom_chat": {
"total_engaged_users": 0
},
"total_engaged_users": 1,
"copilot_dotcom_pull_requests": {
"total_engaged_users": 0
},
"copilot_ide_code_completions": {
"editors": [
{
"name": "vscode",
"models": [
{
"name": "default",
"languages": [
{
"name": "elixir",
"total_engaged_users": 2,
"total_code_acceptances": 6,
"total_code_suggestions": 11,
"total_code_lines_accepted": 7,
"total_code_lines_suggested": 19
},
{
"name": "unknown",
"total_engaged_users": 2,
"total_code_acceptances": 2,
"total_code_suggestions": 4,
"total_code_lines_accepted": 2,
"total_code_lines_suggested": 4
},
{
"name": "markdown",
"total_engaged_users": 2,
"total_code_acceptances": 2,
"total_code_suggestions": 5,
"total_code_lines_accepted": 5,
"total_code_lines_suggested": 10
}
],
"is_custom_model": false,
"total_engaged_users": 2
}
],
"total_engaged_users": 2
}
],
"total_engaged_users": 2
}
},
...
]
コンテンツの除外(preview)
GitHub Coplilot にアクセスさせないリポジトリやパスを指定できます
GitHub Copilot Enterprise の機能
以下に Copilot Enterprise のみで利用可能となる機能を紹介します
Copilot knowledge base
リポジトリをナレッジ(知識体系)として参照できるようにします
例えば、以下のような社内手続文書を Markdown 形式としてリポジトリ内で管理します
Word や Excel 、 PDF などでは読み込めません
リポジトリを knowledge base に登録します
チャットで knowledge base を指定すると、リポジトリ内の情報を元に回答し、参照元へのリンクも提供してくれます
コードレビュー
GitHub Copilot が Pull Request をレビューします
開発ガイドラインを設定し、レビューをカスタマイズすることも可能です
ただし、まだ公開されていない機能であるため、 waitlist に入って待つ必要があります
というわけでまだ使えていません
モデルの Fine Tuning (微調整)
GitHub Copilot のモデルを自分たちのコードで微調整できます
独自フレームワークや独自コーディング規約などがある場合に有効です
こちらも waitlist に入って待つ必要があります
待てど暮らせど、使用許可のメールが来ません
まとめ
Copilot Indivisual や Copilot Business でもかなりのことができるため、まだコードレビューや Fine Tuning が未公開の現状では、急いで Copilot Enterprise にする必要はなさそうです
とにかく、早く waitlist から抜け出たい、、、