【Google Cloud Next’24 Las Vegas セッションレポート】Gemini Code Assistを活用したソフトウェア開発支援とは?
2024.05.21
Googleが主催する世界的なイベント「Google Cloud Next」が、2024年4月9日~4月11日にかけてアメリカのラスベガスにて開催されます。本ブログでは、 Google Cloud Next '24 in Las Vegas に実際に参加したエンジニアから、イベントの様子やKeynote(基調講演)の現地レポートをいち早くお届けします。
今回は、4/11(水) 09:00~09:45(現地時間)に実施されたMayank Chandra, Marcos Grappeggia, Andrew Hockmanによる基調講演の内容をお伝えします。
Google Cloud Next とは?
Google Cloud Next とは、Google Cloud のインスピレーション、イノベーション、教育の世界的な展示会です。
意思決定者、開発者、そしてアクセシブルでスケーラブル、かつ社会的責任のあるクラウドに情熱を燃やすすべての人々が一堂に会し、課題、ソリューション、10 倍のアイデア、ゲームを変えるテクノロジーを共有する場です。
Gemini とは?
Gemini とは、2023年12月にGoogle社によって開発されたマルチモーダル大規模言語モデル(=文章や画像、音声等の様々なデータを一度に処理することが可能なAIモデル)です。
Google Cloudの既存サービスとの統合も進められており、今回のGoogle Cloud Next’24においては、最新モデルとなるGemini 1.5 Proのリリースが発表されました。
セッションレポート(Day3:Mayank Chandra, Marcos Grappeggia, Andrew Hockman)
今回は、4/11(水) 09:00~09:45に開催されたセッション「Get developer assistance customized to your organization code with Gemini(DEV214)」をリポートします。
公式サイト上のセッション紹介を日本語訳すると、以下のような内容になります。
“開発チームの生産性を向上させるために、人工知能(AI)による支援を導入したいとお考えでしょうか?コードエディタでGeminiを使用し、アプリケーションのデリバリーを迅速にする方法をご紹介します。また、組織のライブラリやコーディング規約に深く合わせたAI支援で、あなた自身のプライベートコードベースでGeminiをカスタマイズできるようになった方法や、あなたのチームへの効果を理解するのに役立つインサイトをGeminiがどのように提供できるかを学びます。また、Geminiがお客様のチームにどのような効果をもたらすかを理解するのに役立つ洞察をどのように提供できるかをご紹介します。“
引用元:Google Cloud Next Las Vegas ’24公式サイト
登壇者
登壇者はこちらの方です。
会社名 | 登壇者 | 役職 |
---|---|---|
Capgemini | Mayank Chandra | Senior Director, Cloud Native Practice Leader for NA |
Google Cloud | Marcos Grappeggia | Senior Product Manager |
Andrew Hockman | Product Manager |
内容
■Gemini Code Assistとは?(スピーカー:Marcos Grappeggia氏)
最初に、開発者向けの支援を目的としたAI活用サービスであるGemini Code Assist(旧Duet AI for Developers)について紹介されました。
総合開発環境(IDE)上でのコード補完機能、各種コードエディタ上で質問できるチャットボット、コードの一部から単体テストの生成やコードの解説作成を自動化するスマートアクションなど、エンタープライズ対応のガバナンスとセキュリティを兼ね備えたサービスとして2023年12月の公開以来、5,000以上の企業が開発に利用していることが明かされました。
また、Gemini Code Assistが解消しようとしている、現時点でのソフトウェア開発のデリバリー速度における4つの課題として、以下が挙げられました。
・開発者のオンボーディングにかかる時間の長さ(チームに加わった開発者がコードの読み書き、レビューができるようになるまでの時間の長さ)
・過剰なコンテキストスイッチ(開発時、開発者が参照する情報元が複数に跨ることにより生じる膨大なコンテキストスイッチ)
・メンテナンスコストの高さと技術的負債(時間経過とともに複雑化・肥大化していくコードベースなど)
・反復的なタスクの多さ(ソースコードのコメント作成、テストの記載、可読性を目的としたリファクタリングなど)
■ソフトウェア開発ライフサイクルに対するAI支援
Gemini Code Assist はIntelliJ、PyCharm、VS Code、Cloud Workstations、Cloud Shell Editorなどの複数のコードエディタやIDE、Surfacesをサポートしています。
しかし、Geminiによって提供される支援はコードエディタに限らず、ソフトウェア開発のライフサイクル全体に対するものであると説明されました。
01.設計段階:チャットボットと会話することで、基本的なアプリのブレインストーミングとプロトタイプを作成
02.ビルド:コードの自動生成
03.テスト:ユニットテストまたは結合テストの自動生成
04.デプロイ:Terraform、Kubernetes、Google CloudといったIaC(コードによるインフラストラクチャの管理)を想定し様々なサービスやツールとの統合可能
■Googleのノウハウで開発を支援
最初の顧客としてGoogle社内の何千人もの社員が日々の開発タスクにGemini Code Assistを使用することでタイトなフィードバックループを実現し、そのフィードバックを元に、エンタープライズ向けにより安定し、より信頼できる機能が実装されたことが説明されました。 更に、Gemini Code AssistにはGoogleが公開したSREやソフトウェアエンジニアリングに関する書籍などのいくつかのサンプルが統合されており、これにより生産性の向上を促すことができることが述べられました。
■Google Cloud Next’24で明かされた新機能
Gemini Code Assistに導入された新機能として、本項では以下が明かされました。
・Gemini Pro:すべての顧客がGemini Pro 1.0のチャットやコード生成機能を利用可能
・Code Customization:組織のプライベートコードリポジトリや、ローカル上のワークスペースのファイルを参照AIモデルをカスタマイズを実現
・Code Transformations:既存のコードを取得し、自然言語プロンプトからコードの可読性や効率化を目的としたコードの補完やリファクタリングを実現
■Code Customization(スピーカー:Andrew Hockman氏)
現在プレビュー版の機能であるCode Customizationが紹介されました。
通常、既存のAIモデルは大量のコードでトレーニングされており、顧客の環境固有の状況や意図を理解したうえでの提案を行うことはできません。更に、AIモデルをカスタマイズするには、新しいモデルに切り替える場合に限らず継続的な再トレーニングや、組織内によって異なるチームやプロジェクト単位の権限やコードの微調整が必要でした。
しかし、Code Customizationを活用することにより、顧客の開発とコーディング規約に特化したコードを提案するようになります。
・ローカルコンテキストのサポート
(IDEで開いているファイルやローカル上のフォルダーの情報を取得)
・リモートコンテキストのサポート
(Developer Connectを利用して安全にプライベートリポジトリと接続し、ローカル環境上のコードとの統合可能)
この時、開発者のアクセスは特定のソースリポジトリのみに制限されるため、コード自体が公開されることはないそうです。エンタープライズ向けの利用にも安心ですね。
出典:Mayank Chandra, Marcos Grappeggia, Andrew Hockman,「Get developer assistance customized to your organization code with Gemini」Google Cloud Next‘2024■Capgemini社による生産性の測定(スピーカー:Mayank Chandra氏)
Capgemini社のMayank Chandra氏によるGemini Code Assistを利用した開発効率の変化についてのスピーチが有りました。
Capgemini社では2023年初頭、ソフトウェアエンジニアリングの生産性、品質、セキュリティ、開発体験(Developer Experience)に対する生成AIの影響を測定することを目的としたプログラムが開始されました。
最終的に、Gemini Code Assistの導入に速度、セキュリティ、単体テストのカバレッジ率を含む全ての測定項目で改善が見られ、全体的なコードの品質が大きく向上したことが明かされました。また、純粋な生産性のみならず、開発者の学習速度の向上や満足度を含む、開発体験(Developer Experience)においてポジティブな結果が報告されたことが述べられました。
同氏は2027年までに開発者の70%が生成AIを使用するようになると予測しており、ソフトウェアエンジニアリングにおいて生成AIを採用することの戦略的な必要性と、生成AIの導入による生産性、効率性、開発者の幸福度の向上というメリットを説明しました。
まとめ
今回はGoogle Cloud Next Las Vegas ’24で開催されたセッション「Get developer assistance customized to your organization code with Gemini」をご紹介しました。 エンジニアである筆者としては、非常に心が惹かれたサービスの一つでした。
Capgemini社による先行開発に関し、具体的な測定方法や指標に関してはセッション内でも詳しく説明されていますので、是非Google Cloud Next公式サイト上のセッションアーカイブも御覧ください。