Gemini Code Assist で開発を加速する

1. 概要

このラボでは、Google Cloud の AI を活用したエージェントである Gemini Code Assist の活用に焦点を当てます。既存のコードベースの理解、ドキュメントと単体テストの生成、Python ウェブ アプリケーションの UI コンポーネントとバックエンド コンポーネントの両方のリファクタリングなど、一般的な開発者タスクに Gemini Code Assist を使用する方法を学びます。

学習内容

このラボでは、次の方法について学びます。

  • 一般的な開発タスクで Gemini Code Assist を使用する方法。

前提条件

  • このラボは、Cloud コンソール環境と Cloud Shell 環境に精通していることを前提としています。

2. 設定と要件

Cloud プロジェクトのセットアップ

  1. Google Cloud Console にログインして、プロジェクトを新規作成するか、既存のプロジェクトを再利用します。Gmail アカウントも Google Workspace アカウントもまだお持ちでない場合は、アカウントを作成してください。

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • プロジェクト名は、このプロジェクトの参加者に表示される名称です。Google API では使用されない文字列です。いつでも更新できます。
  • プロジェクト ID は、すべての Google Cloud プロジェクトにおいて一意でなければならず、不変です(設定後は変更できません)。Cloud コンソールでは一意の文字列が自動生成されます。通常は、この内容を意識する必要はありません。ほとんどの Codelab では、プロジェクト ID(通常は PROJECT_ID と識別されます)を参照する必要があります。生成された ID が好みではない場合は、ランダムに別の ID を生成できます。または、ご自身で試して、利用可能かどうかを確認することもできます。このステップ以降は変更できず、プロジェクトを通して同じ ID になります。
  • なお、3 つ目の値として、一部の API が使用するプロジェクト番号があります。これら 3 つの値について詳しくは、こちらのドキュメントをご覧ください。
  1. 次に、Cloud のリソースや API を使用するために、Cloud コンソールで課金を有効にする必要があります。この Codelab の操作をすべて行って、費用が生じたとしても、少額です。このチュートリアルの終了後に請求が発生しないようにリソースをシャットダウンするには、作成したリソースを削除するか、プロジェクトを削除します。Google Cloud の新規ユーザーは、300 米ドル分の無料トライアル プログラムをご利用いただけます。

環境設定

Gemini チャットを開きます。

bc3c899ac8bcf488.png

または、検索バーに「Gemini に相談」と入力します。

e1e9ad314691368a.png

Gemini for Google Cloud API を有効にします。

636114fa6e5f0abf.png

次の画面で GCA を有効にします。

8e234b2e282c4413.png

[Start chatting] をクリックし、サンプル質問のいずれかに沿って操作するか、独自のプロンプトを入力して試してみてください。

ed120d672468b412.png

プロンプトの例:

  • Cloud Run の 5 つの要点を説明します。
  • あなたは Google Cloud Run のプロダクト マネージャーです。Cloud Run について、5 つの短い要点を学生に説明してください。
  • あなたは Google Cloud Run のプロダクト マネージャーです。認定 Kubernetes デベロッパーに Cloud Run を 5 つの短いキーポイントで説明してください。
  • Google Cloud Run のプロダクト マネージャーとして、Cloud Run と GKE のどちらを使用すべきかを 5 つの短い要点にまとめてシニア デベロッパーに説明してください。

完了したら、Gemini Cloud Assist チャット ウィンドウを閉じます。

プロンプト ガイドで、より良いプロンプトを作成する方法をご確認ください。

Gemini for Google Cloud がデータを使用する方法

Google のプライバシーに関する取り組み

Google は、AI/ML のプライバシーに関する取り組みを業界で最初に発表した企業の 1 つです。この取り組みは、お客様はクラウドに保存されている自社のデータについて最高レベルのセキュリティとコントロールを得られるべきだという、Google の信念を概説したものです。

送信および受信するデータ

Gemini に尋ねる質問(Gemini に送信して分析または完成される入力情報やコードなど)は、プロンプトと呼ばれます。Gemini から受け取る回答やコード補完は、レスポンスと呼ばれます。Gemini がプロンプトやそのレスポンスをデータとして使用してモデルをトレーニングすることはありせん

プロンプトの暗号化

Gemini にプロンプトを送信すると、Gemini の基盤モデルへの入力としてデータが転送中に暗号化されます。

Gemini によって生成されたプログラム データ

Gemini は、ファーストパーティの Google Cloud コードと選択したサードパーティ コードでトレーニングされています。コードのセキュリティ、テスト、有効性については、ユーザー側の責任となります(Gemini によるコード補完、生成、分析など)。

詳しくは、こちらをご覧ください。

3. プロンプトをテストするオプション

既存のプロンプトを変更するには、いくつかの方法があります。

Vertex AI Studio は、生成 AI モデルの開発と使用を簡素化し、加速するために特別に設計された Google Cloud の Vertex AI プラットフォームの一部です。

Google AI Studio は、プロンプト エンジニアリングと Gemini API のプロトタイピングとテストを行うためのウェブベースのツールです。

Google Gemini ウェブアプリ(gemini.google.com)は、Google の Gemini AI モデルの機能を活用できるように設計されたウェブベースのツールです。

4. アプリケーションをダウンロードして調べる

検索バーの右にあるアイコンをクリックして、Cloud Shell をアクティブにします。

3e0c761ca41f315e.png

承認を求められたら、[承認] をクリックして続行します。

6356559df3eccdda.png

ターミナルで次のコマンドを実行して、Git リポジトリのローカル クローンを作成します。

git clone https://github.com/gitrey/calendar-app-lab
cd calendar-app-lab

「Cloud Shell エディタ」を起動します。

18ca8f879206a382.png

calendar-app-lab」フォルダを開きます。

7cef847802b51038.png

Cloud Shell エディタで新しいターミナルを起動します。

3336bea9c0e999b9.png

環境は次のスクリーンショットのようになります。

ae9475871b7d28a6.png

Gemini Code Assist チャット ウィンドウで、次のプロンプトを送信します。

Don't suggest any changes. Explain this codebase to me.

出力例:

9839a7ff8c04f6a7.png

5. アプリケーションをローカルで起動する

チャット ウィンドウで、次のプロンプトを送信します。

How do I set up a virtual environment and run this app locally?

ターミナルで推奨コマンドを実行します。

2d78c7ae8e2f0e5.png

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

c300d4a00537fcb2.png

アプリを起動します。

f98f49a19f4015ed.png

リンクをクリックして、アプリケーションをプレビューします。

dc0a8b15a6c5386f.png

出力例:

e9f986d9088b4419.png

d2bb703195b4f99.png

6. ドキュメントの追加

チャット ウィンドウで、次のプロンプトを送信します。

Add docstrings to all files

提案された変更内容を確認し、チャットで承認します。

d66c0d004ed65f87.png

チャット ウィンドウで、次のプロンプトを送信します。

update .gitignore and add venv/* folder

続いて次のプロンプトを入力します。

update .gitignore and add __pycache__ folder

出力例:

b06dae44f82cfa95.png

[Source Control] ビューに切り替えて、これまでの変更を確認します。

2c41f8b842573384.png

7. 単体テストの追加

calendar.py ファイルを開き、コンテキスト メニューから Gemini Code Assist >> Generate Unit Tests を選択します。

6d21534189f9d18d.png

Gemini Code Assist チャット ウィンドウで Enter キーを押します。変更内容を確認して同意します。

dc0bac41d481fd34.png

Gemini にテストの実行方法を尋ねます。

How do I run the tests?

ターミナルで推奨コマンドを実行し、出力を確認します。

9ce654d02951888.png

8. バグを確認する

calendar.py ファイルを開き、チャット ウィンドウで次のプロンプトを送信します。

Are there any bugs in the conversion logic?

提案された変更内容を確認し、チャットで承認します。

1ff4c84d70cd4a79.png

単体テストを再実行して、変更を検証します。

python3 test_calendar.py

エラー メッセージが表示された場合は、エラーを選択して Gemini のコンテキストに追加し、トラブルシューティングと修正に役立てることができます。

70e77fd68358a29a.png

9. UI のリファクタリング

チャット ウィンドウで次のプロンプトを送信します。

Refactor UI to use bootstrap library

変更内容を確認して承諾します。

b5fd026c01c88d26.png

アプリがすでに実行されている場合は、アプリを起動するか、ページを再読み込みします。

ターミナルで、アプリが実行されていない場合は起動します。

python3 main.py

ページを再読み込みして、変更内容を確認します。

b52a709e902040e3.png

54664e527bcd9227.png

負の数を送信して、エラーページを確認してみます。

f426b129e8aa64b7.png

604f16773e868060.png

10. バックエンドのリファクタリング

チャット ウィンドウで次のプロンプトを送信します。

Store requests in memory and create a page to display conversion history. Add links on all pages to view the history.

チャットで変更内容を確認して承諾します。

8c1c2a1b79432490.png

ターミナルで次のコマンドを実行して、アプリケーションを起動します。

python3 main.py

アプリケーションにアクセスし、履歴ページを確認する前に複数のリクエストを送信します。

ac5639d18b341b0a.png

変換リクエストの履歴を確認します。

9ca680e193510640.png

11. Gemini Code Assist の結論

これで、Gemini Code Assist が、既存のコードの理解からドキュメント、単体テストの生成、UI とバックエンドの両方のコンポーネントのリファクタリングまで、さまざまな開発タスクを大幅に効率化できることがわかりました。コンテキストを理解して関連性の高い提案を行うことができるため、デベロッパーにとって強力なツールとなります。

Gemini Code Assist をさらに試してみることをおすすめします。さまざまなプロンプトを試したり、独自のコードベースで機能を試したりして、日々の開発ワークフローをどのように強化できるかを確認してください。使えば使うほど、生産性を高め、コード品質を向上させる可能性が広がります。

12. 完了

お疲れさまでした。これでこの Codelab は終了です。

学習した内容

  • 一般的な開発タスクでの Gemini Code Assist の使用

次のステップ:

  • 今後もハンズオン セッションが開催される予定です。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。

プロジェクトの削除

課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。

©2024 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。