0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub Copilot Enterprise を検討している方へ -機能、制約、注意事項-

Last updated at Posted at 2024-11-21

はじめに

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 の設定ページを開くと以下のように表示されます

スクリーンショット 2024-10-28 111624.png

Copilot Enterprise を使いたい場合、画面上部に出ている Activate paid Enterprise をクリックして無償期間を終わらせましょう

スクリーンショット 2024-10-28 111633.png

無償期間を終わらせると、 Enterprise 内の Organization 毎に Copilot のプランを選択できるようになります

スクリーンショット 2024-10-28 112456.png

スクリーンショット 2024-10-28 112518.png

GitHub Copilot の共通機能

以下に、全プラン共通で(Copilot Indivisual から)使用できる機能を紹介します

Copilot in IDE

VSCode や Vim など、 IDE (統合開発環境)上でコードの補完やチャットへの応答ができます

例えば VSCode に GitHub Copilot プラグインを導入していると、以下の画像のようにコードの補完をしてくれます

random.gif

GitHub Copilot Chat プラグインを導入すると、コードに関する質問に答えてくれたり、コードを直接編集してくれます

copilot_chat.gif

copilot_edits.gif

ただし、 ChatGPT のような画像生成や画像説明はできません(あくまでもコーディング支援用のAIです)

スクリーンショット 2024-11-20 16.00.58.png

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 <コマンド> でコマンドの内容について説明してくれます

copilot_cli_explain.gif

説明は英語になってしまいます

gh copilot suggest <やりたいこと> でやりたいことを実行するコマンドを提案してくれます

copilot_cli_suggest.gif

日本語でも応えてくれますが、基本は英語です

Copilot in GitHub Mobile

モバイルアプリの中で Copilot とのチャットができます

copilot_mobile.gif

Copilot in github.com (preview)

ブラウザで GitHub を開いているとき、 Copilot とチャットできます

一般的な質問だけでなく、特定のリポジトリー内のコードやドキュメントについての質問にも対応しています

リポジトリ内の情報を検索できるようにするためにはリポジトリを index (索引作成)する必要があります

スクリーンショット 2024-11-20 16.31.29.png

copilot_dotcom.gif

Copilot Extensions

Copilot Chat に機能を追加します

Copilot in github.com 用の拡張機能

GitHub Marketplace で追加できます

例えば mermaind-chart の拡張機能を使うと、 Mermaid.js の形式で図を表現してくれます

スクリーンショット 2024-11-20 17.14.06.png

末尾の "Mermaid Chart Playground" をクリックすると、実際に図として表示できます

スクリーンショット 2024-11-20 17.17.08.png

VSCode 用の拡張機能

拡張機能を @tag:chat-participant で検索すると、 GitHub Copilot Chat を拡張できる機能が見つかります

スクリーンショット 2024-11-20 16.19.03.png

例えば "Regex Previewer" の拡張機能をインストールしていると、 GitHub Copilot Chat で @regex /new <正規表現にしたい内容> を入力することで該当する正規表現が生成されます

copilot_regex.gif

Pull Request の概要生成

Pull Request の作成時、変更内容の概要を文章として生成してくれます

copilot_pr.gif

英語でしか生成してくれないので、英語ネイティブなチームでないと使えません

モデルの選択 (preview)

デフォルトの GPT 4o 以外に、 Claude 3.5 Sonnet 、 o1-mini 、 o1-preview などのモデルが選択できるようになっています

copilot_models.gif

Copilot access to Bing (preview)

Copilot が Web 検索をして最新情報に基づいた回答をします

以下の画像の例だと、回答末尾のバージョン番号部分(v4.0.1)がリンクになっていて、 pre-commit のリリースページを参照しています

copilot_bing.gif

GitHub Copilot Business の機能

以下に Copilot Business 以上で利用可能となる機能(Indivisual では使えない機能)を紹介します

ユーザー管理

誰に GitHub Copilot を使用させるのか選択できます

スクリーンショット 2024-11-20 20.13.18.png

ポリシー設定の強制

Copilot の機能毎に有効かどうか選択できます

ポリシーの設定自体は個人でもできますが、 Organization に所属している個人には Organization のポリシーが強制的に適用されます

これにより、オプトインさせる(Copilot に入力を学習させない)かどうかなど、企業が社員の利用方法を制限できます

Copilot Business ではデフォルトでオプトインしないようになっています

スクリーンショット 2024-11-20 20.16.15.png

ただし、上位に Enterprise がいる場合、 Enterprise の方で有効無効を選択するため、 Organization では選択できません

監査ログ

Organization の Settings メニューの下の方にある "Logs" -> "Audit log" から、組織に対する操作のログが確認できます

スクリーンショット 2024-11-20 17.42.33.png

"action:copilot" で検索すると、 Copilot に対する操作が確認できます

スクリーンショット 2024-11-20 17.42.18.png

利用量取得

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 にアクセスさせないリポジトリやパスを指定できます

スクリーンショット 2024-11-20 20.24.33.png

GitHub Copilot Enterprise の機能

以下に Copilot Enterprise のみで利用可能となる機能を紹介します

Copilot knowledge base

リポジトリをナレッジ(知識体系)として参照できるようにします

例えば、以下のような社内手続文書を Markdown 形式としてリポジトリ内で管理します

Word や Excel 、 PDF などでは読み込めません

スクリーンショット 2024-11-20 20.31.33.png

リポジトリを knowledge base に登録します

スクリーンショット 2024-11-20 20.34.48.png

チャットで knowledge base を指定すると、リポジトリ内の情報を元に回答し、参照元へのリンクも提供してくれます

copilot_knowledge.gif

コードレビュー

GitHub Copilot が Pull Request をレビューします

開発ガイドラインを設定し、レビューをカスタマイズすることも可能です

ただし、まだ公開されていない機能であるため、 waitlist に入って待つ必要があります

というわけでまだ使えていません

モデルの Fine Tuning (微調整)

GitHub Copilot のモデルを自分たちのコードで微調整できます

独自フレームワークや独自コーディング規約などがある場合に有効です

こちらも waitlist に入って待つ必要があります

待てど暮らせど、使用許可のメールが来ません

まとめ

Copilot Indivisual や Copilot Business でもかなりのことができるため、まだコードレビューや Fine Tuning が未公開の現状では、急いで Copilot Enterprise にする必要はなさそうです

とにかく、早く waitlist から抜け出たい、、、

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?