【アプリ開発未経験】Vertex AIを使ってGeminiにコード作成を丸投げ!Google CloudサーバーレスでAIアプリケーションを公開してみる

全くの未経験者がアプリケーション開発手法を習得するまでに、どのくらい時間がかかるでしょうか?
まずプログラミング言語、動作のロジックを学び・・・最低でも2~3年の修業期間が必要そうですよね。
未経験者である自分は時間も根気も足らず長年手を出せずにいましたが、「AIに全部やってもらったら出来るのでは?」ということでGeminiとGoogle Cloudを使ってみたところ、なんと数時間で出来てしまいました。
この記事では、未経験者の自分がアプリ開発するために使った手法と、Google Cloudのサービスをご紹介します。
知識経験ゼロだけどやってみたい!という方の参考になれば幸いです。
※最新情報については公式ドキュメントをご参照ください。

AIアプリケーション開発の道のり

前提として、自分はアプリ開発の経験なし、コーディング経験もほぼなしのインフラエンジニアです。
こんな状態でのスタートでしたが、Geminiに丸投げしてみたところ開発の順序と具体的な方法を提示してくれたので、実際その通りに進めることでアプリ開発ができました。
以下が今回試してみた流れです。
1.作成したいアプリを考える
2.Vertex AI(Gemini)でコード生成する
3.Cloud Shellでファイル作成し、コードを転記する
4.Cloud Runへデプロイする
→アプリケーション公開完了!

 

実際に作ってみる

作成したいアプリを考える

まずは「どんなアプリケーションを作るか」です。日常の困りごとから考えてみました。
我が家は1週間分の食材をまとめ買いしているのですが、週の後半になるにつれて食材の種類が減っていくので献立を考える難易度が上がっていきます。
この困りごとを解消するアイディアをGeminiに壁打ちし、
「食材とジャンル(和洋中)を入力すると、Geminiが即座にレシピを提案する Web アプリ」に決定しました!

 

Vertex AI(Gemini)でコード生成する

コードはVertex AI Studioのチャット機能で一から作成することが可能です。
Vertex AIとは、Google Cloudが提供する機械学習(ML)のための統合プラットフォームです。
開発者が高性能なAIモデル(Geminiなど)を利用し、アプリケーションに組み込むことができます。

今回のアプリ作成においては「レシピ考案する」というアプリの頭脳となる部分を担うのと同時に、「コードの生成」もしてもらいます。

まず、Vertex AI Studioの[チャット]から、必要なコードを作成してもらうための依頼をします。
コード作成を頼すると、ファイル構成やファイルの中身のコードを回答してくれます。

ただ、こちらをそのままアプリのコードとして利用したところ、こちらが伝えたい内容が上手くVertex AIに伝わらなかったようで、
思った通りにアプリを動かすのにかなり時間がかかりました。
精度を高めるためには、あらかじめ別のGeminiに作りたいアプリと仕様について伝えた上で「Vertex AIでコード生成するための依頼文」を作成してもらい、
それをVertex AIへの依頼文として採用する形が手っ取り早くおススメです。

Geminiに事前にやりたいことを相談した上でVertex AIに依頼したのが以下の画面です。具体的に指示を出すことで、コード生成の精度が上がりました。

Vertex AIからの回答で、アプリケーションの土台となる PythonとHTMLのコードを一式生成出来ました。

 

Cloud Shellでファイル作成し、コードを転記する

コードが出来たので、アプリにデプロイするための環境を準備します。これにはCloud Shellを使います。

Cloud Shellは、Webブラウザ上で動作する統合開発環境です。
特別な環境を用意しなくとも、すぐにターミナル・エディタが利用できます。

Google Cloud コンソールのツールバーにあるエディタボタンにカーソルを当てると「Cloud Shellをアクティブにする」という文字とともに承認確認画面が表示され、承認することでCloud Shellが起動します。
エディタ画面でフォルダを新規作成し、新規ファイルにVertex AIが生成したコードをコピー&ペーストします。
必要に応じてプロジェクト IDやリージョンなどの設定を修正し保存します。
(Vertex AIのコードには、コメントアウトで「環境に合わせてプロジェクトIDとリージョンを設定してください」とメモが残されていました。わかりやすい!)

 

Cloud Runへデプロイ

ファイルの準備が整ったのでいよいよデプロイです。
インフラエンジニアには馴染のないデプロイですが、こんなに簡単にアプリケーション作成して公開できるものなの?という疑念は残ります。
ここで実施するのは、Cloud Shell上でデプロイコマンドを実行することのみです。
こんな簡単にできるのか・・・!?これを実現するのがCloud Runというフルマネージドのサーバーレスプラットフォームです。

Cloud Runは、Webアプリケーションをコンテナとして実行するためのフルマネージド環境を一括で提供します。
作ったアプリをイメージ化してそのままCloud Runに載せるだけで公開できます。

本来、Cloud Runでアプリケーションを動かすには、コードを コンテナイメージ に変換し、レジストリサービスにファイルを登録する作業が必要です。
ですが、このデプロイコマンドに–sourceなどのオプションのコマンドを組み込むことによって、デプロイに必要な関連するリソース作成・設定などをデプロイと同時に自動でおこなってくれるのです。
なんという便利さ・・・!

Cloud Shellのターミナルから「gcloud run deploy」のコマンドを実行し、Cloud Runに対して「このフォルダ(–source .)にあるコードを使って
recipe-app-blogという名前のサービスとして公開してほしい」と命令します。

デプロイが成功し、サービスURLが発行されました。

デプロイ完了後、Cloud Runのサービス画面に遷移すると、先ほどデプロイコマンドで指示した通り「recipe-app-blog」というリソースができています。

URLが生成されるので、このURLを開くとアプリケーションが見れるはず・・・!

URLを開くと、アプリケーションが表示されました!
早速、冷蔵庫に余っている食材と食べたいジャンルを入力すると・・・

レシピを提案してくれました。アプリケーション作成成功です!
Webアプリの中身を修正したい場合は、Cloud Shellのターミナル画面でgeminiコマンドを実行することで直接Geminiを呼び出し対話形式でコードを修正することも可能です。

 

トラブルシューティング奮闘編

上記の流れで簡単にアプリ公開ができたように見えますが(実際簡単ではありましたが)、いくつか引っかかったポイントがあったのでトラブルシューティングに使えるサービスもご紹介します。

 

デプロイの中のビルドが失敗

Cloud Shellでのデプロイ実行時に、ビルドが失敗した旨のエラーが発生しました。
デプロイの処理の中に含まれているビルドの段階で失敗した場合は、ビルドに使用されるサービスであるCloud Buildの履歴からエラー内容を見ることができます。

ステータスが失敗になっているビルドのログを見ると、ビルドの中のどのステップで何が原因で失敗したのかを見ることができます。


自分の場合は、作成した一部のファイルの中身に余計な文字列が入ってしまいビルドが失敗していたようでした。

 

デプロイ成功したのに、URLが開けない

続いて、デプロイは成功したのに、URLを開いてみるとアプリケーションが表示されない、という事象です。

このような場合はCloud Runのエラーログ確認が有効です。
Cloud Runの[オブザーバビリティ]>[ログ]で重大度を「エラー」に絞り、ログを見てみます。

ぱっと見で中身が分からなかったのでGeminiに聞いてみたところ、Pythonの構文エラーということが判明し、場所を特定後修正すると解消されました。

 

URLは開けたが、アプリケーション動作が失敗する

最後は、アプリで回答を得ようとすると肝心の回答が返ってこずにエラーとなるパターンです。


これはぱっと見で権限エラーっぽいことがわかりました。
詳細をGeminiで確認したところ、アプリがVertex AI にアクセスするための許可が不足している様子です。

必要な権限を確認し、アプリを動かすサービスアカウントにVertex AIで必要な権限を追加します。

権限不足はあらゆる場所で発生しかなり引っかかったポイントなので、エラーが発生した場合は真っ先に疑うと良いと思います。

 

おわりに

今回初めてアプリ開発をしてみて、AIへの指示(プロンプト)をいかに的確におこなえるかが、作業を効率化・品質を高める鍵となることがよくわかりました。
そして何より、全くの未経験でもアプリ開発ができるすごさ!!わからないところはGeminiに教えてもらい自分の知識も深めながら、トライ&エラーで手軽にアプリ開発ができました。

さらに今回は、Google Cloudの無料トライアル(90日、クレジット300ドル) の範囲でまかなうことができ、コスト面でも安心して挑戦できました。

「作りたいものはあるけど実現する技術がない・・・」と諦めていた方は、ぜひVertex AI と Cloud Run を使ってアイディアを形にしてみてください!

最後までお読みいただきありがとうございました。

タイトルとURLをコピーしました