イベント

「GitHub Universe 2024」で披露されたAI関連の話題などをピックアップ

 米GitHubは年次イベント「GitHub Universe 2024」を、10月29日~30日(米国時間)に開催した。場所は、米国サンフランシスコのFort Mason Center for Arts & Culture。

 今回のGitHub Universe 2024では、全体的にGitHub CopilotなどAI関連の話題が多かった。本稿では、そうした中から、AI関連およびそれ以外の話題をいくつか紹介する。

GitHub Universe 2024会場入り口(初日のイベント終了ごろに撮影)
会場のFort Mason Center for Arts & Culture(開催前日撮影)。倉庫群を改装したイベント会場で、この複数の建物がGitHub Universeで使われた

GitHub Copilotで何ができるか新機能をまじえて紹介

 セッション「GitHub Copilot: Leading the AI revolution in software development」は、GitHub Copilotの機能を紹介するセッションだ。

 「For developers(開発者向け)」「For organizations(組織向け)」「Across SDLC(開発ライフサイクルにわたって)」の3分野に分けて、さまざまな機能が、新機能の発表をまじえてまとめられていたので、紹介したい。

マルチモデル対応や拡張機能、Xcode対応などを紹介

 「For developers」としては、コードサジェストなどの基本機能を紹介したうえで、新機能が紹介された。

 まず初日の基本講演で発表されたマルチモデル対応のデモとして、モデルにOpenAI o1を選んでチェスゲームを生成。その後、GPT-4oに代えてソフトの変更を実行した。これも新機能であるChatからの複数ファイル変更や、「@」で指定したエージェントへの指示、VSCodeのマーケットプレイスからのCopilot拡張機能のインストールをデモした。

 そのほか、これも初日の基調講演で発表された、GitHub CopilotがAppleの開発ツールである「Xcode」に対応したこともあらためてアナウンスされた。

モデルにOpenAI o1を選んでチェスゲームを生成
Chatからの複数ファイル変更
エージェントへの指示
VSCodeのマーケットプレイスからの、Copilot拡張機能のインストール
GitHub CopilotがXcodeに対応

Javaコードのアップデートを助ける機能を発表

 「For organizations」としては、組織ごとのGitHub Copilotのカスタマイズが紹介された。

 カスタマイズの1つは、GitHub Copilot Enterpriseのファインチューニング機能だ。組織が持つコードなどのデータを元にモデルをファインチューニングし、より組織にあったものにする。ファインチューニングを採用している企業の例も挙げられた。

 もう1つは、GitHub Copilot Chat内でサードパーティーのツールを呼び出す拡張機能「GitHub Copilot Extensions」だ。組織独自のプライベートの拡張機能を作ることもできる。

 その例として、AdobeのGurpartap Sandhu氏が登場。独自の「Adobe Developer Assistant (ADA)」によって、GitHub Copilot Chatのエージェント経由で自組織により合った回答を得られて生産性が向上したと語った。

GitHub Copilot Enterpriseのファインチューニング機能
ファインチューニングを採用している企業の例
GitHub Copilot Extensions
DataStaxの拡張機能により自然言語でデータベースを操作
AdobeのGurpartap Sandhu氏
AdobeでのGitHub Copilotによる効果
Adobe Developer Assistant (ADA)

 組織でのミッションクリティカルなシステムの開発に向けては、新たに「Upgrade assistant for Java」が発表された(テクニカルプレビュー)。既存のコードを分析し、Javaランタイムや依存ライブラリのアップデートに伴うコードの変更を助ける機能を持つ。

 そのほか組織開発に向けて、特定ファイルを除外する機能や、リファクタリングの機能なども紹介された。

Upgrade assistant for Java発表

Copilotによるコードレビューや、プルリクエストをCopilot Workspaceで確認する機能

 「Across SDL」としては、プルリクエスト、コミット、イシュー、議論、リリース、ファイル、リポジトリ、ドキュメントなど、GitHubでのさまざまなコンテキストがCopilotに理解されるようになっていると説明された。

 まず、GitHub.comでのCopilotが、すべてのプランで利用可能になったとアナウンスされた。

 そのうえでデモがなされた。まず、長いイシューやプルリクエストにたくさんのコメントが付いているようなときに、Copilotが要約を表示してくれる。また、GitHub Actionsでジョブが失敗したときも、Copilotに質問して悪かった場所を指摘してくれる。

 また、「GitHub Copilot Code review」のGitHub.com版とVisual Studio Code版が発表された(パブリックプレビュー)。指定したソースコードや、ソースコードの変更について、Copilotにレビューを依頼できるものだ。結果はプルリクエストとして返るため、それをマージして反映できる。

 そのほか、「Copilot Workspace in Pull Requests」の機能も発表された(パブリックプレビュー)。レビュー結果などのプルリクエストから、Copilot Workspaceに行き、プルリクエスト内容の確認や改善、実験環境でのビルドと実行などができる。

GitHubでのさまざまなコンテキストがCopilotに
GitHub.comでのCopilotがすべてのプランで利用可能に
Copilotがイシューやプルリクエストのサマリーを表示
GitHub Actionsのタスクが失敗したときもCopilotが原因究明を助けてくれる
「GitHub Copilot Code review」発表
レビュアーとして「Copilot」を選べる
Copilot Workspace in Pull Requestsの発表

GitHub Workspace開発の内幕を語る

 セッション「How GitHub Next took Copilot Workspace from concept to code」では、GitHubのR&D部門であるGitHub NextによるCopilot Workspace開発の内幕が語られた。

 Copilot Workspaceの源流となった1つが「SpecLang」プロジェクトだ。SpecLangは、自然言語で仕様を書いてコードを生成するというものだ。

 もう1つが「Extract, Edit, Apply(EEA)」プロジェクトだ。これはコードから仕様をExtract(抽出し)、そのコードをEdit(編集)し、さらにそれをコードにApply(適用)するというものだ。

 これらを元にCopilot Workspaceが作られた。Copilot Workspaceでは、タスクから計画、コード、反復のプロセスを扱う。GitHub Nextでは自らドッグフーディング(自分たちで実際に使うこと)し、Copilot Workspaceの開発にCopilot Workspaceを使っているという。

 セッションではこの後、Copilot Workspaceを使ったソフトウェア開発の各段階の作業が、デモをまじえて解説された。

Copilot Workspaceの歩み
SpecLangプロジェクト
Extract, Edit, Apply(EEA)プロジェクト
上から、SpecLang、EEA、Copilot Workspaceの流れ
Copilot Workspaceの最初のテクニカルプレビュー版

Ladybirdブラウザーが実動展示

 GitHub Universe 2024では、講演などのセッションのほか、1館以上のスペースを使って各社の展示ブースが多数設けられていた。

 その中の「Open Source Zone」コーナーのブースの1つとして、独立して開発されているWebブラウザーとして注目される「Ladybird」の展示があり、実物が動作しているところがデモされていた。こぼれ話になるが、紹介したい。

 Ladybirdは、従来のWebブラウザから独立して、ブラウザエンジンからスクラッチで開発されているオープンソースソフトウェアだ。GitHub上にプロジェクトを置いて開発中で、アルファ版のリリースが2026年に予定されている。LinuxやmacOS、その他のUNIX系OSで動く。

 Ladybirdの開発元としては、非営利団体のLadybird Browser Initiativeが2024年に設立され、専任の開発者も置いている。なお創設者は、元GitHub創業者兼CEOで、Atomテキストエディタのオリジナル開発者でもあるChris Wanstrath氏だ。

 ブースではLadybirdの意義として、独占の弊害や、Web標準の重要性について説明がなされていた。

Labybirdの展示

開発者や政府などとのかかわりについて聞く

 GitHub Universe 2024の会場で、GitHubのDeveloper Relations担当バイスプレジデント、Developer Policy担当バイスプレジデント、アクセシビリティ責任者にインタビューする機会を得た。ここではその内容をお伝えする。

次世代の開発者を支援

 Martin Woodward氏は、Developer Relations担当バイスプレジデントだ。

 Developer Relationsとは自社製品と開発者の関係を作る仕事だが、GitHubの場合はユーザーが皆開発者であるのが特徴だ。日本でも開発者コミュニティや、影響力のある開発者を表彰するGitHub Stars受賞者と協力し、成功を支援しているという。

 Woodward氏によると、日本にはGitHub Copilotの利用者が多いという。その使い方の1つとして、英単語ベースのコードとコメントについて、Copilot Chatで「これを説明していただけますか」と日本語で質問することで、日本語で説明を得られることを氏は挙げ、その場で実演してみせた。これによって、学習中の学生などが日本語と英語のギャップを埋めることができるわけだ。

 また、プログラミング教育のチームもDeveloper Relationsに含まれ、世界の教員や学生を支援しているという。さらに近年ではソフトウェア開発の専門家だけでなく、例えば物理学者などの専門外の人もソフトウェアに触れ広義の開発者となり、GitHubを使う。その支援も含まれる。

 そうした中、今回の2日間の基調講演では「10億人の開発者」を作るという言葉が掲げられていた。その1つが今回発表された、自然言語の要求からアプリケーションを作る「GitHub Spark」だ。GitHub Sparkについても、Woodward氏は「私のために三目並べゲームを作ってください」という日本語からアプリケーションが作られるところをデモしてみせた。

 今後について尋ねると、「次世代の学習者を支援するのを楽しみにしている」とWoodward氏は答えた。学生もそうだが、開発途上国の人がプログラミングを学ぶことでIT業界で職を得ることも含まれる。

「私は北アイルランドに住んでいます。北アイルランドには高給なコンピューターの仕事はありませんが、GitHubやCopilotのようなツールを使えば、グローバルな舞台で競争できます。それが私にとって最もエキサイティングなことです」(Woodward氏)

GitHubのMartin Woodward氏(VP, Developer Relations)
ソースコードをGitHub Copilotに日本語で説明してもらった例
GitHub Sparkで日本語の要求からアプリケーションを作ってもらった例

各国のIT関連の法規制との調整

 Mike Linksvayer氏はDeveloper Policy担当バイスプレジデントだ。

 ここでいう「policy」とは著作権やサイバーセキュリティ、AI規制などの国の政策を指す。その中でLinksvayer氏は、「規制が開発者を妨げるのではなく、育成するように働いている」という。同時に、利用規定などのGitHubのポリシー策定にも関係しているとのことだった。

 ちなみにLinksvayer氏のバックグラウンドとしては、GitHubに入社する前は、ソフトウェアエンジニアをしながらNGOのクリエイティブ・コモンズでpolicyを担当していたという。

 具体的に対象となる政策としては、IoTなどデジタル機器のサイバーセキュリティ要件を定めるEUのサイバーレジリエンス法や、各国のAI関連法規制などがある。このような法規制について、オープンソース開発者が規制されるのではなく保護されることを確認するのだという。そして、法案などについて正しいものにするための手助けをする、とLinksvayer氏は説明した。

 こうした大きな取り組みのため、親会社であるMicrosoftの政府関連のチームと協力しつつ、例えばThe Linux Foundationなどのオープンソースの団体とも協力して仕事をしているとのことだった。

 なおLinksvayer氏は日本のAIに関する著作権規制について、先進的でバランスが取れたものだと評価する。

 そのほか、筆者が各国のAI規制の取り組みについて考えることをLinksvayer氏に質問した。氏は、AIにとってオープンソースが重要であることを認識すること、AIに対する希望や恐怖に反応するのではなく根拠にもとづいて政策を考えること、開発者が何ができるか早めに明確にすることで利益とイノベーションを保護できること、一歩先を行くEUのAI法と根拠なく大きく異なる法規制を作ると世界中のAI規制に準拠するのが難しくなることの、4点を答えた。

GitHubのMike Linksvayer氏(VP, Developer Policy)

障害を持つ人でも使えるようにし、将来への影響を与える

 Ed Summers氏は、アクセシビリティ責任者だ。氏自身も視覚に障害があり、盲導犬を連れてインタビューに現れた。

 アクセシビリティ部門の役割は「製品やドキュメント、トレーニング、イベントなど、GitHubと人々とのすべての接触点において、障害を持つ人々が利用できるようにすること」とSummers氏は説明する。

 「世界には約80億人いて、そのうち約16%にあたる約13億人が何らかの障害を持っています。一方で現在では、例えば仕事に応募するにもテクノロジーを使うのが避けられません。ですから、GitHubを含めて全人類が使うテクノロジーを作る人は、より多くの人が利用できるようにする必要があります」(Summers氏)。

 そして、インクルーシブにするためには、障害者が何を必要としテクノロジーとどう関わるのかを理解するために、テクノロジーを作る人々のグループに障害者を含める必要がある、とSummers氏は言う。GitHubも、このような考えから、アクセシビリティ部門を設立したときに、意図して障害を持つ幹部の席を用意した。そして、LinkedIn経由でSummers氏に連絡をとり、氏もGitHubがアクセシビリティに明確なコミットメントを持っていると感じて入社した。「私たち障害者は、自分に影響を与える決定に貢献できる必要があると考えています」と氏は言う。

 アクセシビリティ部門の具体的な活動の例としては、GitHubの開発者やデザイナーに対して、一般的な種類の障害を理解するためのトレーニングを行ってきたという。視覚に障害がある人が使えるようにするには、手に障害があってキーボードやマウスが使えない人はどうするかなどを考え、それに対する代替手段を設計するわけだ。

 これからのアクセシビリティへの取り組みについて尋ねると、職場のアクセシビリティ、製品やトレーニングなどGitHubの提供するもの、障害者コミュニティからのフィードバックを意識的に求めることの3つの柱を挙げた。そして今後のもう1つの柱として、Summers氏らの活動による影響、つまり障害を持つ開発者の例を示すことで障害者を持つ若者などがソフトウェア開発者に進むのを助けるといった影響を及ぼすことを氏は挙げた。

GitHubのEd Summers氏(Head of Accessibility)