🔮

Check! GitHub Copilot Enterprise betaでできることまとめ

2024/01/17に公開

Prologue

こんにちは、@dz_ こと、岩永かづみです。

みなさんも大注目のGitHub Copilot Enterpriseについて、今のうちにキャッチアップしましょう!

現在はまだbeta公開ですが、今のうちに把握し試しておけば、General Available(GA)のタイミングですぐに導入に踏み切れます。

なお、GitHub Copilot Enterpriseは現在まだbeta公開であり、GA時点の製品・機能とは異なる可能性があります。

GitHub Copilot Enterprise betaをいち早く試すために

本記事を読んで気になった方はぜひ、ウェイトリストに登録していち早く試してみてください!

なお、ウェイトリストの登録は、GitHub Enterpriseの契約をお持ちである必要があります。エンタープライズの管理者じゃなくても登録できますが、その場合は管理者にリクエストが通知されるようです。管理者と相談の上進めるとスムーズかと思います。

GitHub Copilot Enterpriseの公開されている情報(2024年1月時点)

まず、GitHub Copilot Enterpriseの情報は、以下のGitHub Copilot製品ページとドキュメントにあります。

https://github.com/features/copilot

GitHub Copilot製品ページでは、「Copilot Enterprise」というタグがついた機能がたくさん並んでいますね。それぞれのメッセージから、GitHub Copilotにおけるドキュメントとの強力な連携プルリクエストへの機能拡張、エンタープライズのニーズに応えるためのファインチューニングについての意気込みが伺えます。

GitHub Copilot製品ページにおけるCopilot Enterprise関連のピックアップ
GitHub Copilot製品ページにおけるCopilot Enterprise関連のピックアップ

価格の表示とともに機能一覧が表示されています。beta公開の現時点では、これらの一部が提供され始めています。

GitHub Copilot Enterpriseの価格と機能一覧
GitHub Copilot Enterpriseの価格と機能一覧

  • Everything in Copilot, plus:
  • Chat personalized to your codebase
  • Documentation search and summaries
  • Pull request summaries
  • Code review skills
  • Fine-tuned models (*)
    * Currently in preview. Copilot Enterprise grants you access to customization for fine-tuned models (available in 2024).

これらの機能のうちいくつかはドキュメントに記載があるので、そちらもみてみましょう。

https://docs.github.com/ja/copilot/github-copilot-enterprise/overview/about-github-copilot-enterprise

ドキュメントでは以下の機能について解説されています。それぞれ、以降でご紹介いたします。詳細についてはドキュメントをご参照ください。

GitHub Copilot Enterprise betaでできること(2024年1月時点)

現時点で試用できる機能についてまとめます。

  • GitHub Copilot Enterpriseの有効化
  • GitHub Copilot Chat on GitHub.com
  • GitHub Copilot pull request summaries

GitHub Copilot Enterpriseの有効化

GitHub Copilot Enterprise betaが利用できるようになると、[GitHub] [エンタープライズ名] Welcome to GitHub Copilot Enterprise betaというタイトルのメールが届きます。

メールの案内に従い、Enterprise settingsのCopilotの画面から、有効化の設定を確認しましょう。

Enterprise settingsのCopilotのFeatures設定画面
Enterprise settingsのCopilotのFeatures設定画面

GitHub Copilot Enterpriseは、EnterpriseレベルもしくはOrganizationレベルで個別に有効化ができます。Organizationレベルで個別に有効化を設定する場合は、Enterpriseレベルの設定は「No policy」を選択します。「Enabled」を選択した場合は全てのOrganizationで有効化されます。

GitHub Copilot Enterpriseの有効化のいドロップダウンメニュー
GitHub Copilot Enterpriseの有効化のいドロップダウンメニュー

Organizationレベルの設定ではこのような画面です。

OrganizationレベルのCopilotのFeatures設定画面
OrganizationレベルのCopilotのFeatures設定画面

ここまで設定できれば、Enterprise配下のメンバーがGitHub Copilot Enterpriseの機能を利用できるようになります。

GitHub Copilot Chat on GitHub.com

GitHub Copilot Chat on GitHub.comは、これまでのIDE上ではなく、GitHub.comのウェブサイト上でGitHub Copilotとチャットができます。

https://github.com/copilot にアクセスするか、画面右上にあるアイコンからサイドバーとしてチャット画面を開けます。

GitHub Copilot Chat on GitHub.comの画面
GitHub Copilot Chat on GitHub.comの画面

GitHub Copilot Chatをサイドバーで開くボタン
GitHub Copilot Chatをサイドバーで開くボタン

GitHub Copilot Chat on GitHub.comをサイドバーで開いた状態
GitHub Copilot Chat on GitHub.comをサイドバーで開いた状態

GitHub Copilot Chat on GitHub.comでは、通常のGitHub Copilotとの会話だけでなく、"docset"やリポジトリを指定することで、ドキュメンテーションやコードベースを認識させて会話できるようになっています。

また、リポジトリのコード画面で、選択した部分を説明させたり、選択部分を参照させた状態で会話できます。(後述)

docsetはリポジトリに含まれるドキュメントを読み込ませられる

docsetは、1つまたは複数のリポジトリに含まれるドキュメンテーション(.mdまたは.mdxのMarkdownファイル)を読み込ませたうえで、GitHub Copilot Chatを利用できる機能です。

docsetは2024年1月の更新で、ユーザ定義もできるようになりました。

新しいdocsetを作成する画面
新しいdocsetを作成する画面

リポジトリをインデックスするとsemantic searchもできるようになる

GitHub Copilot Chat on GitHub.comではリポジトリを指定して会話できるのですが、現状は、インデックスが生成されていないとリポジトリの内容をもとに会話できないような挙動です。(本来の動作か不明です)

しかし、ひとたびインデックスが生成されていればsemantic searchが有効になり、リポジトリのコードベースをもとに会話でき、これがとても便利です!

2024年1月の更新で、GitHub Copilot Enterpriseが適用されたEnterpriseまたはOrganization配下のリポジトリに対して、明示的にインデックスを生成させられるようになりました。

指定したリポジトリのインデックスを生成する
指定したリポジトリのインデックスを生成する

以下はインデックスを生成したリポジトリを指定してGitHub Copilotと会話したキャプチャです。リポジトリのドキュメンテーションやコードベースがしっかり取り込まれ、具体的な会話ができることがわかります。

インデックスが生成されたリポジトリを指定してのGitHub Copilotとの会話
インデックスが生成されたリポジトリを指定してのGitHub Copilotとの会話

リポジトリのコード画面で選択した部分について会話できる

リポジトリのコード画面において、1行または選択した部分にマウスカーソルを乗せると、GitHub Copilotのアイコンが表示されます。「Ask Copilot about this snippet」(「Attach to current thread」も同様)や「Explain」を選択することにより、その部分にフォーカスしてGitHub Copilotと会話できます。

リポジトリのコード画面で選択した行にオンカーソルすることでGitHub Copilotに連携する
リポジトリのコード画面で選択した行にオンカーソルすることでGitHub Copilotに連携する

コード選択部分におけるGitHub Copilot連携のプルダウンメニュー
コード選択部分におけるGitHub Copilot連携のプルダウンメニュー

「Explain」を選択するとその選択部分について解説してくれます。(現段階では会話の言語を選べず、英語で返されます)

「Explain」を選択するとサイドバーでGitHub Copilot Chatが開き選択部分を解説してくれる
「Explain」を選択するとサイドバーでGitHub Copilot Chatが開き選択部分を解説してくれる

「Ask Copilot about this snippet」や「Attach to current thread」を指定すると、選択部分が参照としてアタッチされた状態になります。「Ask Copilot about this snippet」を選択すると自動的にサイドバーが開きます。「Attach to current thread」は参照の添付が行われるがサイドバーは開かないので、右上のGitHub Copilot Chatアイコンを選択してチャット画面を開いて会話を進めます。

選択部分が参照としてアタッチされた状態
選択部分が参照としてアタッチされた状態

この状態で会話をすれば、アタッチされた参照にフォーカスして会話をしてくれます。

アタッチされた参照に応じて回答がなされている様子
アタッチされた参照に応じて回答がなされている様子

GitHub Copilot pull request summaries

プルリクエストのdescription編集において、そのプルリクエストに含まれる変更差分からサマリ(概要)を生成してくれる機能です。

プルリクエストのdescription編集フィールドでGitHub Copilotにサマリを書かせる
プルリクエストのdescription編集フィールドでGitHub Copilotにサマリを書かせる

GitHub Copilotは変更差分からサマリを生成してくれます。現在は英語でしか生成されないようなので、将来的に言語を指定できるよう改善を期待したいですね。

GitHub Copilotが書いてくれた変更差分のサマリ
GitHub Copilotが書いてくれた変更差分のサマリ

Epilogue

beta版の利用ができるようになった直後は「GitHub Copilot ChatがGitHub.comで使えるんだ、ふーん」くらいだったのですが、2024年1月の更新でdocsetやリポジトリのインデックス生成ができるようになったことで、ぐっと利用の優位性が高まりました。

また、GitHub Copilot Enterpriseの発表が行われたGitHub Universe 2023では「GitHub Copilot Workspace」の構想も発表されており、より一層期待が高まりますね!

Discussion