Googleの最新AI技術「Duet AI in Google Cloud」とは

Googleの最新AI技術「Duet AI in Google Cloud」とは

  • AI活用
  • AWS
  • Copilot
  • GitHub
  • google
  • IT・情報通信業

今回は「GitHub Copilot」や「AWS CodeWhisperer」の対抗サービスとなるGoogleの「Duet AI」を検証してみました。

(前の記事:何が変わった?「Windows Copilot」から「Copilot in Windows」へ

Duet AIとは

Duet AIは、2023年8月にGoogle Cloud の年次カンファレンス「Google Cloud Next ’23」で発表された 開発者向けのAI支援サービスです。

Duet AI in Google Cloudのアイコン

生成AIであるGoogle Bardと同じ言語モデルの 「PaLM2」がベースで使われおり、コーディング支援、SQLクエリー作成、チャット機能など搭載されています。

またDuet AIはVisual Studio Code、JetBrains IDE、Colab Enterpriseなどの複数IDEで利用できる点と20種類以上のプログラミング言語をカバーしていることが特徴です。

Duet AIの料金

2023年11月現在はPreviewバージョンのため 無料で利用できます。

Duet AIの料金

ただしDuet AIを利用するためにGoogle Cloud上でリソースを作成する場合(Cloud Workstationsなど)はその料金が発生するため要注意です。

Duet AIの始め方

Duet AIの場合は「GitHub Copilot」や「AWS CodeWhisperer」と違って少し手順が複雑です。

申請手順

まずはこちらの手順を参考に登録します。

Set up Duet AI for a project

申請が完了するとこの画面が表示されます。

Duet AIの始め方①

するとメールが届くので「Get Started」を押してプロジェクト番号(※)を追加します。

Duet AIの始め方②

※Google Cloudで作成したプロジェクト番号でDuet AIを利用する際にプロジェクトに紐づける必要があります

そしてこのメールが届いたら申請作業は完了です。

Duet AIの始め方③

セットアップ手順

次にgcloud services enable コマンドを使用して、Duet AI の Cloud AI Companion API を有効にします。
(gcloud services enable cloudaicompanion.googleapis.com)

Duet AIの始め方④

自分のアカウントに以下のロールを付与します。

Cloud AI Companion User (cloudaicompanion.user)
Service Usage Viewer (serviceusage.serviceUsageViewer)

Duet AIの始め方⑤

最後にVSCodeの拡張機能から「Google Cloud Code」で検索してインストールして完了です。

Duet AIの始め方⑤

Duet AIの使い方

基本的な見方

Duet AIのUI

①:Duet AIの状態(アクティブ)
②:Duet AIが使えるGoogle Cloudのプロジェクト
③:Duet AIのチャット欄

主な使い方

1.コード生成支援
2.チャットでコード生成
3.コードの説明
4.リファクタリング
5.コンソール機能
6.BigQuery

1.コード生成支援

コメントもしくは関数名からユーザーの意図を把握してコードの完成形を提示してくれます。

コメントからのコード生成

Duet AIでコード生成①

関数名からのコード生成

Duet AIでコード生成②

2.チャットでコード生成

GitHub Copilot Xのようにチャットからでもコードを生成してくれます。

Duet AIでのチャット機能でコード生成

GCPでCloud ShellからIAMのロールを付与するコードに関する作成依頼をしたところ、コード生成だけでなく説明もしてくれました。

3.コードの説明

コードの説明機能も当然あります。

Duet AIでコードの説明

ユーザーが描いたコードを選択すると「Explain this」と「Generate tests」ボタンがチャット側に現れます。「Explain this」を選択するとコードについて説明してくれます。

4.リファクタリング

ユーザーが作成したコードをリファクタリングしてくれます。

Duet AIでコードのリファクタリング

上記のように分かりづらいコードをシンプルなコードに修正してくれました。

5.コンソール機能

「GitHub Copilot」や「AWS CodeWhisperer」にはなかった「Duet AI」の特徴として、Googleのコンソール上でもDuet AIを使うことができます。

Google Cloudのコンソール画面を開いてトップバーにあるDuet AIアイコンをクリックします。

Duet AIのコンソール機能①

Duet AIのチャット欄が右側に出てくるのでここで質疑応答ができます。

Duet AIのコンソール機能②

初期メッセージは英語になっていますが日本語のプロンプトも対応しています。
※ここではクラウドの使い方や設定方法など全般的なことについて質問できます

一つの例として、「Cloud Shell Editorを起動する方法について教えてください。」
というプロンプトを入力したところ、実行方法とCloud Shell Editorについて教えてくれました。

Duet AIのコンソール機能③

6.BigQuery

Googleならではの機能として2023年11月現在は英語版のみですがBigQueryにも対応しています。

テーブル「company」から社員番号と社員名を取得するというコメントを書いたところ、2行目にSQLのクエリを2行目に生成してくれました。

Duet AIのBicQuery①

カラム「name」に‘test’という値を入れる方法についてコメントに書いたところ、 SQL文を生成してくれました。

Duet AIのBicQuery②

Duet AIでコーディング検証

最後にDuet AI Chatにサポートを受けつつ「クライアントとサーバー間でチャットができるプログラム」をコーディングしてみました。

まずはプロンプト入力してDuet AIにコードを生成してもらいましたが、エディターに貼り付けて実行してみるとエラーが表示されました

Duet AIでコーディング検証イメージ①

エラーの内容としては「websocket」モジュールが見つからないというメッセージです。

エラーを解消するために次にnpmコマンドでwebsocketをインストールしました

しかし再度実行しても同じエラーメッセージが出力されます

これに関してDuet AIに質問したところ「websocket」モジュールをインストールしてくださいと回答がありました…。

インストールしてもエラーの解消にならなかったため、再度質問しても同じ回答を繰り返しています…

Duet AIでコーディング検証イメージ②

websocketモジュールのインストール方法について質問して、回答通りに実行してもエラーが解消されませんでした…。

念のため英語で質問しても同様でしたので断念します

Duet AIでコーディング検証イメージ③

まだプレビュー版のため回答の精度には課題があるのかと思われます。

コーディングサポートAI 4サービス比較

最後に先に検証した「GitHub Copilot」「GitHub Copilot X」「AWS Code Whisperer」と今回の「Duet AI in Google Cloud」の性能を主観的に比較してみました。

AWS CodeWhispererとGitHub Copilot とGitHub Copilot X(Chat)とDuet AI in Google Cloudの性能比較画像

率直な感想として開発で使うとなると使い勝手の面で「GitHub Copilot」と「GitHub Copilot X」をハイブリッドで使うのが良さそうです。

しかし「Duet AI」はプレビュー版にも関わらずコード生成能力もチャット機能も他と引けを取らない性能でした。

(参考:まるで電動アシスト自転車!?開発者の強い味方「GitHub Copilot」とは
(参考:GitHubのChatGPTでコーディング!?「GitHub Copilot X(Chat)」とは
(参考:AmazonのAIでコーディング??「AWS CodeWhisperer」とは

まとめ

今回は「GitHub Copilot」「GitHub Copilot Chat」「AWS CodeWhisperer」に続き「Duet AI in Google Cloud」を検証してみました。

実際に使ってみて「Duet AI in Google Cloud」の強み弱みはこのような感じかと思います。

強み

  • コンソールからでも利用できる
    • Cloud Shell EditorやVSCodeだけでなくGCPのコンソールからでも利用できるためクラウド周りの設定が便利
  • チャット機能も搭載
    • GitHub CopilotとGitHub Copilot Xが統合されたような機能なので使い勝手がいい

弱み

  • 日本語に弱い
    • BigQueryのSQLワークスペースをはじめ英語のみをサポートしている箇所がある
  • 利用するまでの手順が少し複雑
    • GitHub CopilotやAWS CodeWhispererのようにインストールしてすぐ使えるわけではない
  • 使い勝手はGitHubの方がよい
    • コードの正確性や提案力はGitHub CopilotやGitHub Copilot Xの方が優れていると感じる

全体感を通して2023年11月現在はプレビュー版ですが大きな可能性を感るサービスです。

特にコンソール操作が便利なのでGCPに関わる開発で真価を発揮しそうだと感じました。

これで4つのコーディングサポートAIを試したことになりますが、それぞれ特徴がありましたので開発環境に合わせていずれかを選択するのがいいかと思いました。

次回は「ChatGPT」の最新モデルについて解説します。
ChaGPTの進化が止まらない。話題の「GPT-4 Turbo」「GPTs」とは

今回のコラムに関連のある資料

SIer様・ベンダー様向けAzure OpenAI Service開発支援サービス

SIer様・ベンダー様向けAzure OpenAI Service開発支援サービス

Azure OpenAI Service開発支援サービスの紹介資料です。 AI業界の市場動向や主な課題、船井総合研究所のAI開発の特徴や事例などがご確認いただけます。

CONTACT お問い合わせ

クラウドとAIのことなら船井総合研究所まで
まずはお気軽にご相談ください