コンテンツに移動
デベロッパー

Gemini Code Assist を利用して要件ドキュメントからアプリケーションのプロトタイプを作成

2025年5月28日
Giovanni Galloro

EMEA Solutions Lead, Application Modernization

Try Gemini 2.5

Our most intelligent model is now available on Vertex AI

Try now

※この投稿は米国時間 2025 年 4 月 24 日に、Google Cloud blog に投稿されたものの抄訳です。

次のプロジェクトを開始する際、多くの場合は詳細な製品要件を記述したドキュメントがすでにあります。このような場合に、ドキュメント全体を読み、手動でコーディングを開始(またはテストケースや API 仕様を定義)して必要な機能を実装する代わりに、AI を利用して、要件ドキュメントから実行可能なアプリケーションのプロトタイプを作成するまでの工程を短縮できないでしょうか。

この記事では、Gemini Code Assist を使用して、Gemini Code Assist ツールに組み込まれている Google ドキュメントとの統合を通じてコードエディタから離れることなく要件ドキュメントにアクセスし、いくつかの自然言語プロンプトを使用するだけで、要件から実行可能なアプリケーションを作成する例をご紹介します。

前提条件

準備

アプリケーションを作成するにあたり、まず要件分析ドキュメントが必要になります。任意の要件分析ドキュメントで構いません。ここでは、週末の予定のアイデアを生成するアプリを例として使用します。

この例を使用する場合は、こちらのドキュメントをダウンロードして Google ドライブの Google ドキュメントで開き、Google ドキュメントとして保存してください。使用しない場合は、アプリケーションの機能要件を含む任意のドキュメントを使用できます。

このドキュメントは、週末の過ごし方のアイデアをユーザーが投稿、閲覧、投票、コメントできる、週末の過ごし方のアイデア アプリケーションの機能仕様を詳しく説明しています。このアプリケーションは、カテゴリベースのフィルタリング、リアルタイムの投票更新、スコアと投票数に基づく動的なランク付け機能を備えています。

アプリのコーディング

1. VS Code を開きます。

2. 空のフォルダを作成し、VS Code のワークスペースで開きます。

3. Gemini Code Assist と Google ドキュメントとの統合を使用してドキュメントを探します。VS Code で Gemini とのチャット モジュールを開き、以下を入力します(上記のドキュメントのコピーを使用している場合)。

読み込んでいます...

4. ドキュメントからアプリケーション要件を取得します。異なるドキュメントを使用している場合は、そのドキュメント名を使用します。

読み込んでいます...

5. 以下のスクリーンショットに示すように、Gemini によってアプリケーションの機能と技術要件の要約が生成されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_Rg2TCpJ.max-1100x1100.png

6. ここでは、要件から実行可能なプロトタイプを作成するために、Python、Flask、SQLAlchemy を使用していますが、別の言語やフレームワークを選択することもできます。その場合は、手順が若干異なります。次に、Gemini Code Assist にドキュメントからコードを生成するようリクエストします。以下のように入力してみます。

読み込んでいます...

Gemini がプロジェクトの構造を提案します。回答には、各ファイルの内容も含まれています。このサンプル アプリケーションに対しては、以下の構造が提案されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_modEEPm.max-1300x1300.png

提案された構造を確認し、各ファイルの内容を見てみます。主なクラスと属性が、要件の要約に記載されているとおりに実装されていることを確認します(このサンプル アプリケーションの場合は、アイデア、コメント、投票、カテゴリ)。また、循環インポートの問題を示す顕著な証拠がないか、テンプレート フォルダがルートと同じフォルダにあるかを確認します。

不足しているものがある場合は、それを含むコードを再生成するよう Gemini にリクエストできます。以下はその例です。

読み込んでいます...

データベースのスキーマ変更が必要になる可能性が高い重要なポイントに注目します。この段階では問題を発見することはできませんが、アプリケーションのテスト時に問題が発生した場合でも、後で修正できます。UI などの要素は、後の段階で簡単に修正できます。

7. 次に、プロジェクト構造全体の作成を自動化してみます。

読み込んでいます...

8. 作成されたスクリプトと手順を確認します。内容が正しいと思われる場合は、手順に沿って、空のフォルダ内の新しいファイルに Bash スクリプトの内容をコピーし、スクリプトを実行可能にしてスクリプトを実行します。

9. ほとんどの場合、スクリプトにより、新しいフォルダは作成したフォルダ内に作成されます(上の画像では「weekend_ideas」)。シェル プロンプトでそのフォルダに移動します。フォルダ構造を確認し、不足しているものがないか確認します。

10. Bash スクリプトはもう必要ないので閉じます。

11. requirements.txt が見つからない場合、以下のように Gemini にリクエストします。

読み込んでいます...

12. 通常、スクリプトの実行または前のプロンプトからの出力には、仮想環境を使用してアプリケーションをローカルで実行する方法も含まれています。その内容を確認して、手順に従います。

13. 仮想環境を作成する手順が記載されていない場合、以下のように Gemini にリクエストします。

読み込んでいます...

14. 表示された手順に沿って仮想環境を作成し、有効にします。Linux または Mac では通常、以下のようになります。

読み込んでいます...

15. 依存関係をインストールします。

読み込んでいます...

16. スクリプトの指示に従って、または前のプロンプト(すべてのコードを生成するように要求したとき)の回答に従ってアプリケーションを実行します。通常、メインのアプリケーション ファイルを次のように実行する必要があります。

読み込んでいます...

17. すべてが正常に動作した場合、Flask がマシン上でローカル サーバーを起動します。以下のような出力が表示されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_hrx5YNg.max-900x900.jpg

18. エラーが発生した場合は、Gemini に修正方法を尋ねます。以下はその例です。

読み込んでいます...

19. アプリケーションが正常に実行されたら、主な機能が実装されているかどうかを確認します。サンプル アプリケーションでは、以下のようになります。

  1. アイデアの作成

  2. アイデアの一覧表示

  3. 投票

  4. コメントの追加

  5. 投票数 / スコアで並べ替え

  6. カテゴリでフィルタ

20. 不足しているものがある場合は、Gemini に修正するようリクエストできます。以下はその例です。

読み込んでいます...

21. AI アシスタントを活用したアプリケーションの構築は、通常、反復的なプロセスです。一回ですべてが想定どおりに機能するわけではありません。要件を満たしていない点があれば、それを修正するための詳細とコンテキストを提供して Gemini にリクエストします。

今回のテストでやりたかったことの一つは、UI をより見やすいものにすることでした。最初に生成された UI が満足のいくものでなかった場合、以下のプロンプトを試すことができます。

読み込んでいます...

22. Gemini が更新されたファイルを提案します。提案されたファイルと既存のファイルを比較するには、以下の例に示すように <-> ボタンを使用します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/4_dUbyxLA.max-2200x2200.png

23. 変更が適切に動作しているようであれば、その変更を適用します。Gemini が変更を提案するすべてのファイルに対して、これを繰り返します。

24. 変更が完了したら、アプリケーションを停止して再起動し、想定どおりに動作するかを確認します。UI は主観的なものであるため、目的の結果を得るには、繰り返し調整が必要になる場合があります。

25. これで、実行可能なアプリケーションのプロトタイプが完成しました。

使ってみる

Gemini Code Assist をさらにテストしたい場合は、以下のリソースをご確認ください。

-アプリケーション モダナイゼーション担当 EMEA ソリューション リード Giovanni Galloro

 

  •  
投稿先