グーグルが生成AIで開発者ツールを強化–Google Cloud Next '23で発表された新機能
今回は「グーグルが生成AIで開発者ツールを強化–Google Cloud Next '23で発表された新機能」についてご紹介します。
関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Google Cloudが8月に開催した大規模カンファレンス「Google Cloud Next ’23」において、同社の幹部が行った多数の発表や、将来の見通しに関する発言は、開発者やIT管理者が将来のクラウドの拡張とイノベーションの計画を立てるうえで役立つ内容だった。
米ZDNET編集チームは総力を挙げてGoogleのさまざまな発表を取材し、その内容を米ZDNETで紹介している。筆者の担当は、開発者、データ、AIクラウドの分野におけるGoogleの取り組みを調べることだった。Googleはこの分野で多大な取り組みを実施して、開発者が次世代のクラウドベースのアプリケーションを構築し、適切なケースで生成AI機能を組み込めるようにしている。
5月の「Google I/O」では、「Duet AI」という開発者向けの新機能が発表された。Duet AIの開発者機能は、コードをGoogleのクラウドプラットフォーム上で作成できるようにすることを目的としている点で、Microsoft傘下のGitHubのAIツール「GitHub Copilot」と少し似ている。
今回のGoogle Cloud Next ’23では、Duet AIにさらに力を入れており、Duet AIで何ができるかということだけでなく、当初の前提をどのように拡張してきたかについても、より詳しい説明があった。
これらの機能を詳しく解説する前に、混乱の原因になりそうなことをはっきりさせておこう。Duet AIは開発者だけを対象としたものではない。Googleは5月に「Duet AI for Workspace」も発表しており、プレゼンテーションの作成、会議でのメモの作成、ドキュメントの作成、その他の用途を紹介している。本記事で詳しく取り上げるのが、「その他」の部分だ。GoogleはDuet AIをコードの作成やプロジェクトの構築にも利用している。
Googleは5月、Duet AIをコードやチャットレベルでのアシスタンスに利用できることを明らかにした。それ以来、「信頼できる開発者」(同社の言葉)がこの機能をテストし、Googleのエンジニアにフィードバックを提供している。Googleによると、Duet AIは開発ライフサイクル全体にわたってサポートを提供し、コード生成、ソース引用、テストカバレッジ、APIの設計と公開、アプリケーションの移行とモダナイズなどを支援するという。
開発者として筆者が非常に興味深いと思うことの1つは、Duet AIがプラグインや拡張機能によって提供され、一般的なコーディング環境で利用できることだ。これには、Microsoftの統合開発環境(IDE)である「Visual Studio Code」(VS Code)や、JetBrainsのIDEである「CLion」「GoLand」「IntelliJ」「PyCharm」「Rider」「WebStorm」などがある。この統合機能により、Duet AIの重要度が大幅に高まる。なぜならGoogleは、プログラマーがプラットフォームを切り替えなくてもDuet AIを利用できるようにしているからだ。
ここで、AIアシスタンスの潜在能力が真価を発揮する。AIコーディングはこれまで信頼性が低い傾向にあったという事実は無視して、Googleの開発者たちが長年にわたってパフォーマンスを向上させていくと仮定しよう。Google Cloud Platform and Technical InfrastructureのバイスプレジデントであるBrad Calder氏は、ブログ投稿「Duet AI in Google Cloud Preview」において、自然言語プロンプトを使用して、たとえば「この関数を『Go』に変換して『Cloud SQL』を使用してほしい」と伝えることで、1つの文によってコードを新しい言語で書き直して、APIを更新できることを紹介した(編集部注:本記事内のプロンプトは、原文にある英語のプロンプトを和訳して記載しています)。
移行作業は、開発者にとって特に大きな負担になり得る。筆者の場合、現行のPHP 8.x環境と互換性がないPHP 5.6向けに書かれた古いコードがある。これを手作業で移行するとなると、何週間も(場合によっては何カ月も)かけて、コードを最新の状態にするために変換が必要な部分をすべて見つけていかなければならない。だが、AIがそれを(失敗せずに)実行できるなら、作業負荷を数週間分、あるいは数カ月分削減できる可能性がある。この利点は非常に大きい。なぜなら、古い金属がさびるように仕様変更や非互換性が発生して、同じコードの移行と更新を何度も繰り返すことだけに時間を費やすのではなく、AIが開発者を解放して、新機能の追加やイノベーションに取り組めるようになるからだ。
Googleは「コンテキストアウェアなコード生成」と呼ばれるものも導入している。これについても誤解がないようにしたい。通常、コンテキストアウェアという用語は、現在画面上にあるものに基づく何らかのAIアクティビティーと関連がある。「Photoshop」の「コンテンツに応じた塗りつぶし」機能は、テクスチャ―を周囲のテクスチャ―に基づいて塗りつぶす。コンテキストアウェアなコードとは、現在の関数の内容に基づいてコードを生成することだと思うかもしれないが、Googleが使うこの言葉は、画面上のコンテキストではなく、企業のコンテキストを指している。