GitHub Universe'24 の参加レポートと考察
はじめに
この度、2024年10月29~30日の2日間でサンフランシスコにて開催された GitHub Universe'24 に現地参加してきました。GitHub Universe は毎年秋頃に開催されている、GitHub 最大の開発者向けカンファレンスで、今年でちょうど10周年の開催となりました。私自身、人生で一度は参加してみたいと思っていた海外カンファレンスだったのと、普段活用している GitHub のイベントということもあって非常に刺激的な経験でした。
本記事では GitHub Universe の現地の様子と、主なセッションの紹介、さらに現在私たち開発者を取り巻くツールや生成 AI の観点から考察してみます。
GitHub Universe'24
AM 9:00 の Opening Keynote は専用チケットになりますが、早朝からたくさんの沢山の参加者が来場し会場は大賑わいでした。また、コーヒースタンドはもちろん、出店のカフェが3店舗ほど、他にもドリンクやドーナツ、昼食などすべて無料(参加費に含まれる)で配布されておりました。
サンフランシスコに来てびっくりするくらいコーヒー(カフェイン)を接種する習慣があるようで、私もスターバックスでいう Venti 5杯分くらいは毎日飲んでいた気がします。
GitHub Universe'24のエントランス
Keynote前の会場の様子
会場は Fort Mason Center for Arts & Cultures という場所だったのですが、イベントの規模にしてはこじんまりしており会場内の移動も比較的ラクにできました。メインステージで Keynote などを進行しつつ、他の会場ではデモや展示ブースやワークショップ、ディスカッションなど用途ごとに分かれて並行して開催されていました。
会場マップ
個人的に面白いなと思ったのが、入場に必要な会員バッジです。このバッチには背面にマイコンボードが搭載されており、USB 差し込みでコードを編集すれば印字されている氏名やロールを自由に変更できる遊び心がありました。
GitHub Badge
編集方法は YouTube ショートや GitHub にもあがっており、当日の会場にも専用のブースがあるなどこういうちょっとした所もしっかり準備されているのが良いですね。
New Features
セッションの内容については公式 GitHub Blog にまとまっておりますので、こちらを読めば大体のアップデートは把握できたりします。
また、Keynote はじめ一部のセッションについては GitHub の YouTube チャンネルに公開されておりますので、こちらでもキャッチアップができます。
内容を軽く見ていただくとわかりますが、ご存知の通りで実態はほとんど Copilot のカンファレンスでした(3,4年前くらいからそのようです)。
GitHub CEO の Thomas Dohmke による Opening Keynote
メインどころは前述のブログなどでも取り扱われているため二番煎じになってしまいますが、周辺情報を補足しながら少し紹介します。
また、個人的にどの機能がすぐに利用できて、どの機能がまだ利用できないのかが若干わかりづらかったので、以下の表にしました(2024年11月11日時点)。
FEATURE | STAGE |
---|---|
GitHub Spark | Technical Preview |
Multi-model | Public Preview |
Copilot Edit | Preview |
GitHub Copilot Workspace | Public preview |
GitHub Spark
Thomas Dohmke の Opening Keynote からも、今年のカンファレンスのメインは GitHub Spark だったように思います。各社メディアや記事も GitHub Spark の内容を大々的に取り扱っているので、キャッチアップされている方も多そうですね。
自然言語によりノーコードでソフトウェアを作る、という点だとすでに発表されている GitHub Copilot Workspace と似ていますが、Spark はマイクロアプリケーションに特化という位置づけとなっています。個人的な解釈ですが、Copilot Workspace は開発者と一緒になりながら、Issue→Specification→Plan→Implement のように AI と伴走するようなイメージで、GitHub Spark はアプリケーションの開発からデプロイまで全部お任せのような解釈をしています。
VS Bolt.new
正直 GitHub Spark の発表を聞いたときに、目新しさや驚きはあまりなく(これはこれで感覚が鈍っているのですが)、Vercel の v0 や StackBlitz の Bolt.new、Create.xyz などと同じような体験だなという印象でした。v0と Bolt.new については以下のスクラップでもざっとまとめています。
v0は React.js や shadcn/ui ベースの Web フロント開発限定でデプロイまではまだ提供なかったので優位性はありますが、Bolt.new に関してはアプリケーション開発→依存関係の解決→Netlify への自動デプロイなどがすでに機能として提供されているので、自然言語でアプリケーションが開発できる機能単体で見ればそこまで差分はないように感じませんでした。
Bolt.new はすでに結構使ってますが、Spark はまだ使ったことがないので、同じプロンプトで生成されるアプリケーションにどのように違いが生じるのかは見てみたいです。
生成する際のモデルを自由に選択できたり、履歴が保持されたり、テンプレートが用意されたりは機能として提供されていそうで、他にもまだ私が把握しきれていない部分がありそうです。GitHub Next の開発チームなので今後の改善も早そうですし期待が持てますね。
Multi-model
これまで Copilot は問答無用で GPT しか使えなかったですが、Anthropic、Google とパートナーシップを締結したことで Claude 3.5や Gemini 1.5 Pro も選択できるようになりました。OpenAI も対応を進め o1-preview や o1-mini も使えるようになったとのことです。ただし、エディタ目線でみれば Cursor はすでにマルチモデルに対応しており自由にモデルを選択できるので、その辺りを意識したアップデートに感じました。また、最近自分の周りでは Claude 3.5 Sonnet を常用している人が増えている実感がある(個人的にも一番欲しい返答を返してくれる実感がある)ので、今回の対応はシンプルに嬉しいです。2024年11月現在、マルチモデルは Public Preview です。
VS Codeでのモデル選択プルダウン
Claude 3.5 Sonnet にも記載がありますが、GitHub Copilot は Amazon Bedrock 上の Claude 3.5 Sonnet を間接的に使っており、プロンプトやメタデータは Bedrock へ送信されますが、プロンプトの保存や学習への利用、第三者配布などは一切行われないそうです。
Amazon Bedrock doesn't store or log your prompts and completions. Amazon Bedrock doesn't use your prompts and completions to train any AWS models and doesn't distribute them to third parties.
Copilot Edits
Copilot Edits は VS Code の中でも目玉として発表された機能で、プロンプト指示で複数ファイルのコード変更・生成ができるというものです。UI 的には Copilot Chat の隣にアイコンが追加され、Chat ⇔ Edits を切り替えながらシームレスな開発体験を提供します。Cursor の機能と非常に似ていて、Cursor にあって VS Code + Copilot にはなかった機能が追いついてきた感じがあります。VS Code と Copilot が最新版であればすぐに利用できます。
機能は以下の VS Code ドキュメントにまとまっております。
以下の記事でも取り上げられていますが、Add a theme switcher controlと依頼すれば、Workspace 内の関連ファイルを参照しコンポネントの作成や CSS ファイルなど、必要なコードを生成・変更してくれます。あとは Code Completions の体験と同様に Accept / Discord を選択して完了です。
Keyboard shortcuts に記載のあるショートカットは、Demo Stage でも紹介されるほど生産性をあげる Tips として紹介されておりましたので、覚えておくと捗りそうです(Cursor とショートカット統一してほしい…)。
個人的には Cursor も好みで、自分が不慣れな言語やフレームワークで開発する際にはいつもお世話になってました。VS Code + Copilot でも同様の機能・体験が提供されるのであれば、ますますエディタがどっちつかずになりそうで悩ましいです。個人的な感触ですが、Cursor の方がまだ使い勝手は良い感じがします(IF などトータルでみて)。
GitHub Copilot Workspace
2024年5月にテクニカルプレビューで発表された GitHub Copilot Workspace がさらに進化しました。公式ブログで「AI-native = GitHub Copilot Workspace + Code Review + Copilot Autofix」と紹介されている通り、Copilot による Code Review や Autofix、サードパーティの Copilot Extension を組み合わせてソフトウェアの AI-native 開発を提供します。
Copilot Workspace は仕様が決まった後にイシューやタスクを分解するものだと思っていたのですが、Brainstorm Agent なるアイデア出しを支援してくれるエージェントもいるみたいで、Planning から一気通貫でできる点が面白いと思いました。
ソフトウェア開発の全工程にCopilot
上記の図を見るとわかるのですが、Copilot はソフトウェア開発におけるすべての工程に存在します。個別の機能でみれば、例えばエディタは Cursor が、Text-to-app なら Bolt.new、 といったようにそれ単体で見れば優れているツールはあるかもしれません。しかし、GitHub というエコシステム全体でみたときに、それは断片的な機能でしかなく、ソフトウェア開発トータルでみるとそのシームレスさは強みになるなと思いました。結局は GitHub でコード管理してチームコミュニケーションをとる以上 GitHub を使わないといけないですし、一貫性という意味ではオールインワンの強みはありますね。
まとめ
2日間のイベントでしたが、非常に刺激的でお祭り感もあり楽しめたカンファレンスでした。セッション内容は公式ブログや日本でも Recap が開催されたりしますが、海外のエンジニアの方と会話すること、同じ空気を吸うこと自体めったに無い機会でしたので、そういった意味でも現地参加できたのは自分のモチベーションにもなりました。
Appendix の本社ツアーで Microsoft 社員(業務実態は GitHub)とネットワーキングの時間に少し会話したのですが、GitHub は Copilot Workspace はじめ開発者だけではなくより非エンジニア向けのツールへも拡大していくという話がありました。大手日系企業や SIer(いわゆる JTC)には、コードを書く人が少なく、ビッグテックやベンチャー企業にスピード感で遅れをとってきましたが、潮流も変わるのかもしれません。いわゆるウォーターフォールのように要件をきっちり言語化できる人・的確な指示を出せる人が良いソフトウェアを作ることができる。当然、生成されたコードのチェックは必要なのでレビュアーとしての機能・スキルは持っていなければならないですが、いずれにしても今後のソフトウェア開発の変遷が楽しみですし、自分も必死に喰らいついていかなければと気を引き締めました。
Appendix: GitHub本社オフィスツアー
GitHub 日本法人の方からご招待いただき、GitHub Universe の前日に本社のオフィスツアーへ参加しました。参加者は私たち含め30名ほどおり、GitHub Universe の日本人出席者の約半数だと言及されていたため、イベント自体は日本人が50~60名ほど参加していたみたいです。
参加している方の所属会社は、NTT データや富士通など私たちと同じような大手の会社さんが多く、いずれも全社へ GitHub を導入する CCoE のような立場の方が多く参加されている印象でした。弊社では、CCoE チームが積極的に動いてくれていたため、Copilot などは早めに使う環境が整っておりますが、他社の状況的に大手全体でみるとあまり普及していないようでした。
入口に圧倒的存在感を構えるOctacatのオブジェ
オフィスの様子(アーロンチェアばかり)
Microsoft 系列は基本リモートワークのようで、平日でしたが当日も出社して働いている人はほぼいませんでした。
GitHub社員が自分たちで提供するカフェ
参考
- New from Universe 2024: Get the latest previews and releases - The GitHub Blog
- [速報]GitHub、自然言語による指示だけでアプリケーションを生成する「GitHub Spark」テクニカルプレビュー公開 - Publickey
- GitHub Copilot overview
- GitHub Copilot Extensions公開ベータ開始:GitHub Copilotエコシステムを強化 - GitHubブログ
- GitHub Copilot Extensions (Chat Extention?) を自作し隊 – クラウドを勉強し隊
- GitHub Copilot Workspace で我々のアプリ開発がどう変わるのか? - Speaker Deck
- GitHub Copilot Extensionsのご紹介:パートナーとのエコシステムで無限の可能性を引き出す - GitHubブログ
- GitHub Copilot Extensions公開ベータ開始:GitHub Copilotエコシステムを強化 - GitHubブログ
- 「GitHub Universe 2024」で披露されたAI関連の話題などをピックアップ(クラウド Watch) - Yahoo!ニュース
- 843: Copilot Kills Cursor? Reacting to Github Universe Keynote - Syntax - Tasty Web Development Treats | Podcast on Spotify
Discussion