サイバーエージェント Developer Productivity室の小塚です。みなさんはGitHub Coilotを利用しているでしょうか?弊社ではGitHub Copilot Businessを昨年から全社導入し、日本国内ではプロンプト送信行数と提案受け入れ数が1位(2023年12月時点)となるなど、現在約8割のエンジニアが積極的に実際のプロダクト開発において日々利用しています。
弊社ではUS時間の2/27にリリースされた生成AIを利用した機能群であるGitHub Copilot Enterpriseのクローズドベータに1月から参加させていただいておりました。クローズドベータ参加にあたり、GitHub社のVP of Product ManagementであるMario Rodriguez様からも今回ありがたいコメントをいただきました!
Mario Rodriguez, VP, Product Management at GitHub
We’re thrilled to enable organizations like CyberAgent with GitHub Copilot Enterprise, ushering them into the era of customizable AI. Tailored to an organization’s knowledge and codebase, GitHub Copilot Enterprise is our most advanced AI offering to date. Developers can ask questions about what’s happening across their organizations, build greater consistencies across engineering teams, and make sure that everyone has access to the same standards and work that’s previously been done. With GitHub Copilot Enterprise, we’re building on the proven productivity gains of GitHub Copilot, adding extensive customization to enable organizations and engineering teams to accomplish more, faster and happier.
マリオ・ロドリゲス、GitHubプロダクトマネジメント担当副社長
サイバーエージェント様のようなお客様にカスタマイズ可能なAIの時代の先駆けとしてGitHub Copilot Enterpriseをお使いいただけることを嬉しく思います。GitHubが提供する最も先進的なAIであるGitHub Copilot Enterpriseは、組織のナレッジやコードベースに合わせてカスタマイズできます。開発者は、組織全体で何が起きているのかChat形式で質問でき、エンジニアリングチーム間の一貫性を高め、全員が同じ基準やこれまでの作業にアクセスできるのです。GitHub Copilot Enterpriseでは、GitHub Copilotで実証した生産性向上をベースに、組織やエンジニアリングチームがより多くのことを、より速く、より幸せに達成できるよう、幅広いカスタマイズを追加しています。
GitHub Copilot EnterpriseはいただいたコメントにもあるようにGitHub Copilotをより強化した機能群になっており、組織に合わせた回答を返してくれるモデルのカスタマイズやgithub.com上でのコンテキストを理解したチャットやプルリクエストの要約などチームでの共同作業の生産性を向上させる機能群になっています。
本記事ではクローズドベータ中に検証も兼ねて実際の開発でGitHub Copilot Enterpriseの使い所やを試してみた感想をお伝えします。
GitHub Copilot Chat in GitHub.com
生成AIとのチャット機能がGitHub.com上で可能になりました。GitHub Copilot Enterpriseを有効にすると、Webのgithub.comの基本的にどのページでも右上にGitHub Copilotのロゴが表示されるようになります。
(注:クローズドベータから正式ローンチにあたり一部の機能の名称が変更されたため、一部スクリーンショットなどの表記が異なっています。ご了承ください)
これをクリックするとオーバーレイが出てきて、チャットで様々な質問が可能になります。
GitHub Copilotに対してはソフトウェア開発に関する質問をすることができます。例えば、アーキテクチャについての質問をしてみます。
更にCopilot Knowledge base(注: 本記事の作成段階のベータ版では「Copilot docset management」という名前で提供されていた機能になります。そのため以下の説明や画像の一部は現在とは表記が異なっています。)を使用すれば、指定したGitHub上のドキュメントファイルやリポジトリ全体を読み込ませて質問への回答時に検索した結果を含めて返してくれます。
github.comからGitHub Copilotを開き、リポジトリを選択します。
今回は私が現在実際に開発しているリポジトリである bucketeer-io/bucketeerを選びました。
少し待つとリポジトリのコンテンツに対してセマンティック検索が可能になりますので、早速リポジトリの内容について質問してみます。
回答内容からも分かる通り、ちゃんとリポジトリのREADMEから情報を取ってきています。リンクもあるので優しい。
さらに回答に利用できるドキュメントのセットは柔軟に設定することができ、選択した複数のリポジトリからdocsetを作成することも可能です。このようにすることで、より広範囲でより精度が高い回答が期待できそうです。
特定のコンテキストでの質問
GitHub Copilotはgithub.comの様々な場所で利用可能になっています。たとえばファイルのページにもでてきます。ロゴをクリックしてGitHub Copilotを起動します。
チャット画面がオーバーレイします。下部をに account.goと表示されており、表示していたファイルをコンテキストとして認識しています。
ファイルだけでなく特定のコードを選択してGitHub Copilotを起動することも可能です。コードを選択すると、GitHub Copilotのロゴが現れるのでクリックして起動します。
選択したコードに対しての質問にちゃんと回答できています。
GitHub Copilot pull request summaries
これも待ってましたという機能ですね。毎回PRを作るときにサマリーを書くのが辛かったのですが、今後はGitHub Copilotに書いてもらいます。PR作成または作成後の編集画面でのテキストエリア上部にGitHub Copilotロゴが出てきます。クリックするとサマリが生成されます。今のところ生成される言語の指定などはできなそうです。
まとめ
今回はGitHub Copilot Enterpriseの機能を触ってみました。実際に開発で使用した印象ですが、GitHub CopilotがGitHubというプラットフォームに統合され、さらに便利になってきていました。GitHub Copilot Chat自体はIDEで以前から利用可能だったのですが、github.comに統合されてクローンしてきていないリポジトリやブランチに対して質問ができるようになったので活用の幅が広がりそうです。またKnowledge basesの登場によって、ドキュメントを探したりせずにプロジェクトについて質問できるようになったので、新たに参加したエンジニアのオンボーディングなどで使えば学習がより早く進むと感じました。PRのサマリは単純に便利 😄
今年は昨年発表されたGitHub Copilot Workspaceのリリースも控えており、GitHub Copilotのさらなる進化に期待しています!