GitHub Universe 2024から、Copilotの新機能を紹介するセッションを紹介
![](https://thinkit.co.jp/sites/default/files/styles/main_image_730x/public/main_images/37912_main.jpg?itok=WObDYPZq)
ここ最近のGitHub UniverseのメインのトピックはAI、およびその実装形であるCopilotと言っても過言ではないだろう。今やGitHubだけではなく、親会社のMicrosoftもそのブランディングに乗っているほどのトレンドだ。今回はそのCopilotの新機能を紹介するセッション、「GitHub Copilot:Leading the AI revolution in software development」というセッションを紹介する。
登壇したのは、GitHubのProduct ManagementのVPであるShuyin Zhao氏、MicrosoftのVisual Studio Codeの開発チームからHarald Kirschner氏、AdobeのDeveloper PlatformのGurpartap Sandhu氏、GitHubのProduct ManagementのシニアディレクターSimina Pasat氏の4名だ。MC役をZhao氏が担当し、それぞれMicrosoft、Adobeの登壇者を紹介し、最後にGitHub.comでのCopilotの新機能を解説するという流れになっている。動画は以下を参照してほしい。
●動画:GitHub Copilot: Leading the AI revolution in software development
MC役のZhao氏は「Copilotが大きな成功を収めていること」「すでに7万7000社のユーザーが利用していること」などを挙げて、Copilotが広く支持されていることを説明した。そしてこのセッションでは3つの軸に沿って解説を行うとしてその項目を挙げた。
その軸とはデベロッパー向けには「品質と体験」、エンタープライズ向けには「カスタマイズ性と信頼性」、そしてソフトウェア開発のライフサイクルの視点では「GitHubとの統合」となり、それを順に解説するというのがこのセッションの大筋である。
プログラミングのアシスタントとしてコード生成とコードの修正が最初の機能としてCopilotにおいて実装されたが、それをさらに進化させて特定のプログラミング言語に特化したコード生成を行うというのが最初に紹介された機能だ。
.NETをこの機能の最初の対象として選んだ理由は何も説明されておらず、さりげなく語られているが、親会社であるMicrosoftの企業ユーザーが.NETのアプリケーションを多数保有しており、すでにレガシーとなりつつあることを考えると、システムの保守や脆弱性などの改修のためにCopilotの力を借りたいと思うのは妥当だろう。
またプログラミングのコンテキストに対応した自動修正の部分では、C++のコード修正の際に対応するヘッダーファイルをVisual Studio Codeでオープンしていなくても、自動的にヘッダーファイルに対しても修正を加えるという機能が動画で紹介された。
Visual Studio Code特化の機能紹介
ここでMicrosoftのHarald Kirschner氏が紹介され、ここからVisual Studio Codeに特化した機能の解説に移った。
最初に紹介したのはVisual Studio Codeで利用するモデルを選択できることだ。動画のデモではGPT 4oだけではなくClaude 3.5 Sonnet、Gemini 1.5 Proなどから利用するモデルを選択できることが示されている。
そして最初のデモとしてCopilotに3Dのチェスゲームのコードを生成させ、即座にそれが実行できることを見せた。使っているモデルはOpenAIのChatGPT o1-previewであり、このモデルはGPT 4oに比べてプログラミングコードの生成においてGPT 4oよりも高い性能を持っていることで知られている。
さらにそのコードに対して修正を加えるデモを見せた。ここではGPT 4oにモデルを切り替えてチェスの駒に影を追加するコードを生成、即座に実行してそれが動いていることを説明した。
次にゲームではなくより業務に近いアプリケーションとして、マラソンの記録を表示するというアプリケーションを紹介。ここではCopilotのコード生成に個別のルールを追加するカスタムインストラクションの機能をデモで見せた。
これはマークダウン形式でCopilotに対してプロンプトを与える形式になっており、概要、利用するライブラリーの指定(ここではSvelteKit 4)、データベースの種類、テストの種類などが設定されている。短かなプロンプトでは表現できない内容を設定し、Copilotに与えられる点が強みだろう。
また単一のソースコードだけではなくアプリケーション構築に必要な複数のファイルに対してコードを追加、修正する機能を見せた。これはZhao氏が見せたC++のソースコードに手を加えることで、同時にヘッダーファイルをCopilotが修正したことと同じ機能だ。UIフレームワークのSvelteのコードに対しても行えることを示して、現実のアプリケーションにおいて有効な機能であることを示したと言える。これはEdit with Copilotというプレビュー段階の機能となる。
実際にコードが修正され、マラソンランナーの上位リスト表示が改善されたことを見せた。
またテストの結果から修正すべきコードを指摘するデモを見せた。ここではユーザーの入力に対してエラーを返す部分において、エラーメッセージが適切ではないという部分を指摘し、それを修正するという内容だ。
次に見せたのはVisual Studio Code Extensionsだ。これはVisual Studio Codeを拡張するためのプラグインであり、すでにマーケットプレイスとしてさまざまな拡張機能が公開されている。その中からMermaidというエクステンションを使ったデモを見せた。Mermaidは、JavaScriptの構造をマークダウンからダイアグラムとして表示するというものだ。
ここまでがEdit with Copilotのデモとして実行され、単にコード生成だけではなくより広い範囲で使えることを示したと言える。
最後にまとめとして複数のモデルから選択できること、Editモードで使うCopilot、エクステンションの利用などを説明してMC役のZhao氏と交代した。
交代したZhao氏が説明したのはApple謹製の開発環境であるXcodeにおいて、Copilotがパブリックプレビューとなったことだ。GitHubユーザー、特にオープンソースコミュニティにはAppleユーザーが多いという想定の元、Xcodeユーザーも忘れていないという意思表明だろう。2023年のGitHub UniverseではJetBrainのIDEサポートが表明されたのと同様に、ここでもコミュニティに対するGitHubの気の遣い方が垣間見えたとも言える。
Copilotで企業向けモデルを利用する
次に解説したのは、企業向けにファインチューンされたモデルをCopilotが利用する機能だ。この機能はすでにAMDやLyft、アルゼンチンのEC企業であるMercado Libreなどで使われていると説明。デモでは実際にモデルとプログラミング言語を選択し、企業の自家製ライブラリーやAPIに特化したコードが生成されるところを動画で見せた。またMicrosoftがVisual Studio Code Extensionsを紹介したのと同様に、Copilot Extensionsも紹介。Visual Studio Codeと同様にCopilot自体もプラグインで拡張できることを訴求した。ここではAtlassianとDataStaxのエクステンションを紹介。また企業向けにはプライベートなエクステンションを利用できるとして紹介したのがAdobeだ。
ここでAdobeのGurpartap Sandhu氏と交代。ここからはすでに大規模にCopilotを使っているユーザーとしてのAdobeが自社での事例を解説するフェーズとなった。Sandhu氏は13,000人のデベロッパーの55%がCopilotを使っていること、毎日7万行のコードがCopilotを使って生成されていることなどを説明し、Adobeでの導入がスムーズに進んでいることを説明した。
Adobeのソフトウェア開発の生産性のプリンシパルの説明から、一般的なLLMではなく自社の状況に応じたコードを生成する必要があることを語った。Adobeで利用されているコーディングアシスタントはADA(Adobe Developer Assistant)と呼ばれ、一般的なコーディングに関する知識ではなく、自社製ライブラリーやコンポーネントに特化したデータが集約されていることをデモで示した。ここでは素のCopilotとADAに同じ質問を入力して、その違いを見せるという内容となっている。
この機能は「新たにチームに加わったエンジニアが開発のための環境を準備するためにはなにが必要か?」といった質問にも答えることが可能になっているとして、デベロッパーのオンボーディングにも利用できることを説明した。
JavaのアップグレードにもCopilotを利用
Zhao氏が交代し、次に説明したのはJavaのアップグレードのためのアシスタント機能だ。.NETと同様に、多くの企業で使われているJavaの開発環境をアップグレードするためにCopilotを使うというものだ。デモではJDK21にアップグレードするために既存の環境を分析し、どのモジュールを何のバージョンにアップグレードすれば良いのかを提案するところを紹介。これも企業ユーザーのペインポイントを癒すための新機能となる。アップグレードのために必要なステップをリストアップするなど、ユーザーが途中で迷わないような配慮もされ、エラーが発生したらその修正部分を提案するところなども動画では紹介されている。この機能はテクニカルプレビューとして公開され、利用するためには登録が必要となる。
Copilotが利用するデータを制限する
ここまでカスタムインストラクション、ファインチューンされたモデルの利用、Javaのアップグレードと企業向けの機能が続いて説明されたが、次に言及されたのはモデルに利用されるデータを排除するためのコンテントエクスクルージョンの機能だ。
同様の機能として、Copilotが引用するコードの引用元、そのライセンスなどをCopilotが表示するCode Referencingも紹介。ここでも企業内でCopilotを使う際に、ライセンスの問題をなるべく排除したいという企業ユーザーの要望が形になったという機能になる。
最後に、ここで紹介した機能以外にもエンタープライズ向けには多くの新機能が用意されているとして紹介したのが次のスライドだ。
ここではEnhanced Metrics API、Engagement Dashboards、Usage Dataset、System-level Outcomesなどが、今後実装される機能であると説明。これらについては来年のGitHub Universeに期待して欲しいという意味だろう。
CopilotとGitHub.comの連携機能
最後に登壇したSimina Pasat氏はCopilotがGitHub.comと連携する機能の紹介を行った。
Pasat氏はCopilotがGitHub Issuesと連携して問題のスレッドを要約したり、Actionsで発生したテストエラーをCopilotに説明させる機能を紹介。またCopilotをコードレビューの担当者として利用することで、コードレビューに必要な工数を減らすことができることなどを説明し、Copilotを使った開発をGitHub.comとともに使って欲しいという訴求を行った。GitHub Workspacesに関する細かな機能追加も含めて、主にGitHub Enterprtise Cloudのユーザーにとっては最も魅力的な機能と言えるだろう。ここでも企業向けのメッセージを届けたいという意図を感じるセッションだったと言える。
多くの機能はプレビューの段階だが、これまで企業ユーザーから求められていた機能を着実に実装していることを印象付けた内容と言える。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- GitHub Universe 2024開催。初日のキーノートはデモ満載でCopilotの拡がりを見せつける内容に
- GitHub Universe 2023、MSのCEOもサプライズで登壇した初日のキーノートを紹介
- GitHub Universe 2023、GitHubのCOO、Kyle Daigle氏にインタビュー
- AI駆動型開発ツールに関する勉強会を取材。「まず使ってみることが大事」
- GitHub、AIによってコーティングを支援するチャットボット「GitHub Copilot Chat」の一般提供を開始
- 「GitHub Universe 2022」からAIペアプログラミングのCopilotの未来を語るセッションを紹介
- CI/CD Conference 2021 MicrosoftとGitHubの連携をMSKKのアーキテクトが解説
- AI_dev Europe 2024から、GitHubによるCopilotをコードのセキュリティ向上のためのツールとして解説したセッションを紹介
- コードエディタ「Visual Studio Code 1.95」リリース
- AIサービスの進化とその裏に潜むセキュリティリスク