Gemini 3 と ADK を使用して独自の「交渉する店主」エージェントを構築する

1. 概要

この Codelab では、楽しいものを作成します。AI エージェントが最も賢く、機知に富んだ店主であるデジタル バザールを想像してみてください。

新しい AI 店主、Raju のご紹介。彼は素晴らしいデジタル アーティファクトを販売していますが、入手するには彼と交渉する必要があります。

Gemini 3(脳)、ADK(Agent Development Kit - 体)、Google Cloud Run(店舗の場所)を使用して、Raju を実現します。

店主のラジュ

学習内容

最新のエージェント アプリケーションのスタック全体を構築します。

Raju エージェントのアーキテクチャ

  • ショップ(Cloud Run): アプリがインターネット上に存在する場所。
  • The Brain(Gemini 3): Raju の基盤となるインテリジェンス。
  • The Body(ADK): 頭脳とツールをつなぐフレームワーク。
  • 在庫(ツール): Raju が在庫を確認するために使用する Python コード。
  • ストアフロント(UI): お客様に表示されるインターフェース。

ここでは以下について学びます。

  • 「Digital Dukaan」(Google Cloud 環境)を設定します。
  • Raju を「雇用」します(Gemini 3 API キーを取得します)。
  • ラジュに交渉術を教える(システム指示とペルソナ)。
  • Raju にインベントリ(ADK ツール)を付与します。
  • ショップフロント(フロントエンド UI)を構築します。
  • ビジネス向けに公開(Cloud Run にデプロイ)。

必要なもの

  • Google Cloud プロジェクト。
  • ユーモアのセンス(交渉用)。
  • Python の基礎知識。

2. Dukaan(クラウド プロジェクト)を設定する

Raju を構築する前に、店舗の所在地が必要です。クラウドでは、これは 請求先アカウントを持つプロジェクトを意味します。

ステップ 1: 課金を有効にする

ステップ 1: お支払い情報を有効にする

  1. シークレット ウィンドウで特典利用リンクを開きます。
  2. 個人の Gmail アカウントでログインします。
  3. [クレジットにアクセス] ボタンをクリックします。
  4. メールアドレスを確認し、利用規約に同意してトライアルを有効にします。

ステップ 2: プロジェクトを作成する

ステップ 2: プロジェクトを作成する

  1. [プロジェクトの作成] ページに移動します。
  2. 一意のプロジェクト名を入力します(例: raju-shop-agent)。
  3. [請求先アカウント] プルダウンで、トライアルの請求先アカウントを選択します。
  4. [作成] をクリックし、プロジェクトの準備が整うまで待ちます。

ステップ 3: 請求先リンクを確認する

  1. リンクされた請求先アカウントのページに移動します。
  2. [請求先アカウントをリンク] オプションが表示されたら、クリックします。
  3. [Trial Billing Account] が選択されていることを確認します。
  4. これで、ビルドの準備が整いました。

概要

このステップでは、Google Cloud プロジェクトと請求先アカウントを設定し、アプリケーションの基盤を作成します。

次に、環境の準備でコードをビルドするワークスペースを設定します。

3. ストールを構築する(環境設定)

コードを実行する場所が必要です。これには次の 2 つの選択肢があります。

Cloud Shell とローカル ターミナルの比較

Cloud Shell は、必要なもの(Pythongcloud CLIgit)がすべてプリインストールされているブラウザベースのターミナルです。永続ストレージを備え、どこからでも作業できます。

1. Cloud Shell をアクティブにする

Google Cloud コンソールのヘッダーの右上にある [Cloud Shell をアクティブにする] アイコン(ターミナルのシンボル)をクリックします。

Cloud Shell をアクティブにする

Cloud Shell が初期化されます。これには以下が含まれます。

  • 承認: プロンプトが表示されたら、[承認] をクリックして、Cloud Shell がユーザーに代わって Google Cloud APIs を呼び出すことを許可します。
  • プロビジョニング: Cloud Shell は、セッション用の一時的な仮想マシンをプロビジョニングします。
  • 接続中: この VM に接続します。このプロセス全体には 1 ~ 2 分ほどかかることがあります。

コマンド プロンプト(user@cloudshell:~ $)が表示されるまで待ちます。

2. プロジェクトの設定を確認する

通常、Cloud Shell は現在のプロジェクトを自動的に選択します。念のため、次のことを確認してください。

gcloud config get-value project

プロジェクト ID(raju-shop-agent)が返されない場合は、手動で設定します。

gcloud config set project raju-shop-agent

オプション 2: ローカル ターミナル

ご自身のノートパソコンのターミナル(iTerm、PowerShell など)を使用する場合は、もう少し設定が必要です。

1. 前提条件をインストールする

以下がインストールされていることを確認します。

2. ログインして gcloud を構成する

Google Cloud CLI を初期化してアカウントにログインします。

gcloud auth login

プロジェクトを設定します(raju-shop-agent は実際のプロジェクト ID に置き換えます)。

gcloud config set project raju-shop-agent

アプリケーションのデフォルト認証情報を設定します(これにより、ローカルツールが Google Cloud と通信できるようになります)。

gcloud auth application-default login

概要

この手順では、開発環境(Cloud Shell またはローカル)を選択して構成しました。

次に、Meeting Gemini CLI で、より迅速な構築に役立つツールを紹介します。

4. アシスタント(Gemini CLI)のご紹介

AI 開発の新しい相棒、Gemini CLI をご紹介します。

Gemini CLI の概要

Gemini CLI は、次の作業に役立つ強力なコマンドライン インターフェースです。

  • ワークフローを自動化する: AI プロジェクトを効率的に管理します。
  • コード生成: コード、UI、ファイル全体を生成します。
  • 拡張機能エコシステム: さまざまな拡張機能(後で使用する Cloud Run など)を使用して機能を拡張します。

1. Gemini CLI をインストールする(ローカル ターミナルのみ)

ローカルのノートパソコンのターミナルを使用している場合:

npm install -g @google/gemini-cli

Google Cloud Shell を使用している場合:

Gemini CLI は Cloud Shell にプリインストールされているため、何もインストールする必要はありません。

2. 起動と認証

Cloud Shell(またはローカル ターミナル)で新しいターミナル ウィンドウ(またはタブ)を開き、Gemini CLI を起動します。

gemini

初回実行時の設定: 初めて実行する場合は、CLI が簡単な設定プロセスを案内します。

  • 認証: ログインを求められます。Gemini モデルで利用できる無料割り当てを最大限に活用するには、個人用 Gmail アカウントを使用することをおすすめします。
  • プロジェクトのコンテキスト: コードのコンテキストを理解できるように、プロジェクト フォルダ内から gemini を実行することをおすすめします。(まだフォルダを作成していないため、今のところホーム ディレクトリから実行しても問題ありません)。

3. 挨拶をしよう!

gemini> プロンプトが表示されたら、テストを行って脳が接続されていることを確認します。

Hi

モデルからフレンドリーなレスポンスが返されます。

4. 重要なコマンド

  • /quit: Gemini CLI を終了して標準のターミナルに戻るには、このコマンドを入力します。
  • /help: 使用可能なすべてのコマンドのリストを表示します。

概要

このステップでは、Gemini CLI をインストールして認証し、検証しました。

次に、Agent Development Kit(ADK)を使用して、ショップを開く(コード)でショップのスケルトンを構築します。

5. 棚に商品を並べる(プロジェクトの設定)

最初から構築する必要はありません(賢い店主は時間を節約します)。Agent Development Kit(ADK)を使用します。

ADK とは何ですか?

棚に商品を補充する

ADK は「ショップ管理システム」です。これは、次の処理を行う柔軟なフレームワークです。

  • オーケストレーション: 複雑なタスク(Raju がお客様と話しながら在庫を確認するなど)を管理します。
  • 状態管理: お客様の名前や 5 分前にリクエストされた内容を記憶します。
  • ツール: 外部システム(在庫データベースなど)に接続します。

Agent Starter Pack を使用して、本番環境に対応した「Dukaan」をすぐに設定します。安全でスケーラブルな基盤が提供されるため、販売に集中できます。

Cloud Shell ターミナル(またはローカル ターミナル)で次のコマンドを実行して、エージェントを生成します。

uvx agent-starter-pack create raju-shop

CLI で、ショップを構成するためのいくつかの質問が表示されます。次のオプションを選択します(番号を入力して Enter キーを押します)。

  1. エージェント タイプ: 1adk_base - ベースの ReAct エージェント)を選択します。
  2. Deployment Target: [2](Cloud Run - サーバーレス コンテナ実行)を選択します。
  3. Session Type: 1In-memory session - Simple and fast)を選択します。
  4. CI/CD ランナー: 3Skip - 当面は手動でデプロイします)を選択します。

プロセスが完了するまで待ちます。完了したら、ショップ ディレクトリを入力して依存関係をインストールします。

cd raju-shop
make install
source .venv/bin/activate

エージェントを探索して構成する

スターター パックの設定が完了したので、構造を確認します。

1. フォルダ構造を確認する

ショップの構成を確認するには、次のコマンドを実行します。

tree .

次のような構造が表示されます。

.
├── app
   ├── __init__.py
   ├── agent.py
   ├── app_utils
      ├── telemetry.py
      └── typing.py
   └── fast_api_app.py
├── Dockerfile
├── GEMINI.md
├── Makefile
├── pyproject.toml
├── README.md
├── tests
   ├── integration
      ├── test_agent.py
      └── test_server_e2e.py
   └── unit
       └── test_dummy.py
└── uv.lock

最も重要なファイルは app/agent.py です。ここが Raju の脳です。

2. コードをひととおり確認する

Cloud Shell エディタ(またはローカル IDE)で app/agent.py を開き、簡単に確認します。

  • root_agent = Agent(...): AI を定義します。model(脳)と tools(手)があります。
  • ツール: get_weather などの Python 関数が表示されます。エージェントが使用できるツールが表示されます。
  • app = App(...): エージェントをウェブサーバーにラップして、エージェントと通信できるようにします。

ローカルでテストする

Cloud Shell ターミナル(またはローカル ターミナル)で、エージェントを実行します。

adk web

このコマンドは、ポート 8000 でローカル ウェブサーバーを起動します。

Cloud Shell を使用している場合:

  1. [ウェブでプレビュー] ボタン(右上、目のアイコン)をクリックします。
  2. [ポートを変更] を選択します。
  3. 8000」と入力し、[変更してプレビュー] をクリックします。

ローカル ターミナルを使用している場合:

  1. ブラウザを開いて http://localhost:8000 にアクセスします。

UI が開いたら:

  1. [app] を選択: 左上のプルダウンで、[app] という名前のエージェントが選択されていることを確認します(root_agent または test_agent が表示されても無視してください)。
  2. 挨拶する: 「こんにちは」と入力して、返信があるかどうかを確認します。

完了したら、ターミナルで Ctrl+C を押して adk web サーバーを停止します。

概要

このステップでは、プロジェクトをスキャフォールディングし、Gemini API 用に構成して、最初のエージェントをローカルで正常に実行しました。

次に、Training Raju (The Persona) でエージェントに個性と名前を付けます。

6. Raju(ペルソナ)のトレーニング

今のところ、エージェントは退屈です。個性を与えましょう。

Raju Persona の起動

コードを記述する代わりに、Gemini に必要な内容を伝えます。

1. ペルソナを定義する

ターミナルで次のコマンドを実行して、Raju に自分の名前を教えます。

gemini "In agent.py, update the root_agent instruction. You are Raju, a bargaining shopkeeper in a digital bazaar. You sell: Brass Lamp (50 coins), Silk Scarf (500 coins). Your goal is to sell high and be funny. Speak with an Indian-English flair."

2. コードを確認する

app/agent.py を開きます。Gemini がシステム指示を作成したことがわかります。

3. ローカルでテストする

それでは、ラジュとチャットしてみましょう。Cloud Shell ターミナル(またはローカル ターミナル)で、次の操作を行います。

adk web

ウェブ UI (ウェブ プレビュー ポート 8000 または localhost:8000)を開き、アプリ エージェントを選択して、次のプロンプトを試します。

  • 「真鍮のランプが欲しいけど、50 コインは高すぎる!」
  • 「何を売っているの?」

彼の反応を見てみましょう。面白くてドラマチックな人物ですが、安売りはしません。

概要

このステップでは、エージェントのシステム指示をカスタマイズして、独自の個性を持つ交渉上手な店主「Raju」を作成しました。

次に、Raju が The Inventory(Adding Tools)で実際の在庫を確認できるようにします。

7. インベントリ(ツールの追加)

Raju は、実際に在庫があるものを把握する必要があります。彼に「データベース」とそれをチェックするツールを提供します。

Raju Level Up

1. ツールを作成する

次のコマンドを 1 回実行して、インベントリとツールを作成し、Raju に接続します。

gemini "In agent.py, create a dictionary INVENTORY with items: Brass Lamp (price 50, stock 5), Silk Scarf (price 500, stock 2), Taj Mahal (price 2000, stock 0). Then create a tool function check_inventory(item_name) that checks this dict. Finally, update the root_agent to use this tool and remove the default weather tools."

2. Magic を確認する

app/agent.py を再度開きます。Gemini が次のことを行っていることがわかります。

  1. INVENTORY 辞書を作成しました。
  2. check_inventory Python 関数を作成しました。
  3. エージェント定義の tools=[...] リストを更新しました。

3. インベントリをテストする

  1. サーバーを再起動します(Ctrl+C、adk web)。
  2. Ask Raju:
    • 「タージマハルはありますか?」(在庫は 0 なので、NO と答えるべきです)。
    • 「シルクのスカーフはいくらですか?」(実際の価格を確認する必要があります)。

概要

このステップでは、check_inventory ツールを実装し、デフォルトのクラッターを削除して、ツールをエージェントに接続しました。

次に、Raju's Shop Goes Live(バックエンドのデプロイ)で Raju をクラウドに移行します。

8. Raju's Shop Goes Live(バックエンドのデプロイ)

世界に向けて公開しましょう。店舗を構築する前に、Raju の脳と在庫(エージェント)をクラウドにデプロイします。

Raju Goes Live

重要: ターミナル管理

前の手順で、現在のターミナルで adk web が実行されている可能性があります。

  • ローカルでのテストを継続する場合は、実行したままにします
  • 以降のデプロイ手順のために、新しいターミナル ウィンドウまたはタブを開きます
  • 注: agent.py を変更するたびに、変更を有効にするには、停止(Ctrl+C)して adk web を再起動する必要があります。

1. Gemini CLI を準備する

新しいターミナル ウィンドウで、次の操作を行います。

  1. Gemini CLI 内にいるかどうかを確認します(gemini> プロンプトを探します)。
  2. ログインしている場合は、/quit と入力して標準シェルに戻ります。
  3. プロジェクト フォルダにいることを確認します。
    cd raju-shop
    

2. Cloud Run 拡張機能をインストールする

Cloud Shell ターミナル(またはローカル ターミナル)で、Gemini CLI 用の Cloud Run 拡張機能をインストールします。

gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp

3. Gemini CLI を再起動する

Gemini CLI を再度起動して、新しい拡張機能を使用します。

gemini

Gemini CLI プロンプトが表示されます。

4. エージェントをデプロイする

Gemini CLI 拡張機能を使用する方法は 2 つあります。

オプション 1: スラッシュ コマンド(手動)コマンドとフラグを明示的に入力できます。

/deploy --source . --name raju-agent --region us-central1 --allow-unauthenticated

オプション 2: 自然言語(推奨): こちらの方が簡単で強力です。Gemini に依頼するだけで、MCP サーバーを使用して適切なツールが呼び出されます。

次のプロンプトを Gemini CLI に貼り付けてみてください。

Deploy this agent app to cloud run on google cloud using the cloud-run MCP server.
Use project raju-shop-agent in us-central1 region.
Name the service raju-agent.
IMPORTANT: Make sure to allow unauthenticated invocations so my frontend can talk to it.

CLI で cloud-run ツールを使用するための確認を求められることがあります。Enter キーを押す(または y と入力する)と承認されます。

魔法を待ちます: 2 ~ 3 分かかります。完了すると、次のような成功メッセージが表示されます。

 I've successfully deployed your agent app to Cloud Run.

  Service Details:
   * Service Name: raju-agent
   * Project: raju-shop-agent
   * Region: us-central1
   * URL: https://raju-agent-xyz123-uc.a.run.app
   * Console: View in Google Cloud Console (...)

5. デプロイを確認する

デプロイが完了すると、Gemini CLI からサービス URL が提供されます。この URL をコピーします。

ブラウザのチェック(利用可能な状態か?)ブラウザに URL を貼り付けます。

  • 成功: FastAPI ドキュメント(Swagger UI)または汎用 ADK ランディング ページが表示されます。これにより、Cloud Run サービスが実行中でアクセス可能であることが確認されます。
  • 失敗: 403 Forbidden エラーが表示された場合は、デプロイのプロンプトで「未認証の呼び出し」を許可するのを忘れた可能性があります。

次のステップでは、適切なフロントエンドを構築して、実際の交渉ロジックをテストします。

概要

このステップでは、Gemini CLI 拡張機能を使用してエージェント バックエンドを Google Cloud Run にデプロイし、公開 URL を使用してアクセスできるようにしました。

次に、ショップフロントの構築(フロントエンド UI)で、顧客が Raju と会話するための美しいストアフロントを構築します。

9. ショップの装飾(フロントエンド UI)

テキスト ターミナルは退屈です。活気のあるショーウィンドウにしたいのです。

ショップ UI のモックアップ

ADK API の仕組み

カスタム UI を構築するには、エージェントのバックエンドと通信する方法を理解する必要があります。2 ステップのフローに従います。

  1. セッションを初期化する: チャットを開始する前に、セッション ID(ショッピング カートなど)を作成する必要があります。
    • POST /apps/app/users/{user_id}/sessions/{session_id}
  2. メッセージを送信: 会話するには、テキストを run エンドポイントに送信します。
    • POST /run(ペイロードには appNameuserIdsessionIdtext が含まれます)。
  3. 詳細: ADK ランタイム APIPython API リファレンスのドキュメントをご確認ください。

このロジックを使用してフロントエンドを構築します。

このインターフェースを構築する方法は 2 つあります。

ローカルマシンで作業している場合は、Google Antigravity を使用するのが最適です。これは、UI 全体を「バイブ コード」できる AI ネイティブ IDE です。

1. ダウンロードとインストール

Google Antigravity のダウンロード ページから OS 用のインストーラをダウンロードしてインストールします。

2. ワークスペースを開く

Antigravity を起動します。raju-shop フォルダを Workspace として開きます。これにより、AI はプロジェクト全体に関するコンテキスト情報を取得します。

3. Agent Manager で UI を生成する

コードを 1 行ずつ記述する代わりに、エージェント マネージャーを使用して、AI エージェントにコードの記述を依頼します。

  1. エージェント マネージャーのチャット インターフェース(通常は右側)を見つけます。
  2. 次のプロンプトをチャットに貼り付けます。
Create a single file HTML chat interface named `index.html`. It should have a colorful header that says 'Raju's Royal Artifacts'. It should look like an Indian market stall with orange and pink colors.

**Backend Integration:**
The chat should send messages to my deployed agent at: <YOUR_DEPLOYED_AGENT_URL>

**API Logic:**
1. **On Load:** Generate a random userId and sessionId. Call `POST /apps/app/users/{userId}/sessions/{sessionId}` to initialize.
2. **On Send:** Call `POST /run` with a JSON payload containing `appName: "app"`, `userId`, `sessionId`, and `newMessage: { role: "user", parts: [{ text: userInput }] }`.
3. **Display:** Show the user's message and the agent's response (from `content.parts[0].text`).

(プレースホルダの URL は、デプロイ ステップの実際のサービス URL に置き換えてください)。

  1. エージェントがコードを記述する様子をご覧ください。エディタビューに切り替えると、ファイルがリアルタイムで作成される様子を確認できます。

4. ショップ フロントをテストする

Google Antigravity にはプレビュー機能が組み込まれています。[プレビュー] ボタン(目のアイコン)をクリックすると、ショップフロントのライブ配信が表示されます。または、python3 -m http.server 8000 を使用してローカルで提供します。

オプション 2: Gemini CLI(Cloud Shell と互換性あり)

Cloud Shell を使用している場合は、信頼できる Gemini CLI を使用して、数秒でフロントエンドを構築できます。

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

gemini "Create a single file HTML chat interface named index.html. Header: 'Raju\'s Royal Artifacts', Indian market theme (orange/pink). Backend: <YOUR_DEPLOYED_AGENT_URL>. Logic: On load, generate random user/session IDs and POST to /apps/app/users/{uid}/sessions/{sid}. On chat, POST to /run with appName='app', userId, sessionId, and newMessage structure. Parse the JSON response to show the agent text." > index.html

(実際の Cloud Run URL に置き換えてください)

概要

このステップでは、Google Antigravity を使用して、ライブ エージェント バックエンドに接続するカスタム HTML フロントエンドを「バイブコード」しました。

次に、ショップフロントを公開するで、このショップフロントをウェブでホストして全体像を完成させます。

10. グランド オープニング(フロントエンドのデプロイ)

Raju はオンライン(バックエンド)ですが、ショップにはパブリック アドレス(フロントエンド)が必要です。Google Antigravity に UI をクラウドにデプロイするよう依頼します。

フロントエンドのデプロイ

1. エージェント マネージャーにデプロイを依頼する

IDE を離れる必要はありません。エージェント マネージャーにデプロイを依頼してください。

このプロンプトをチャットに貼り付けます。

index.html を静的ウェブサイトとして Google Cloud Run にデプロイして。サービスに raju-shop-frontend という名前を付けます。一般公開されていることを確認してください。」

2. 魔法を見る

エージェントは次のことを行う可能性があります。

  1. 静的ファイル(nginx や python の使用など)をサービングするための Dockerfile または構成を作成します。
  2. コンテナ イメージをビルドします。
  3. gcloud run deploy コマンドを実行します。

3. ショップにアクセスする

エージェントが終了すると、URL(例: https://raju-shop-frontend-xyz.run.app)をクリックします。

これで完了です。これで、AI を活用した交渉ショップ店員アプリが完全にデプロイされました。リンクを友だちに送信して、割引を受けられるかどうか試してみましょう。

概要

このステップでは、Antigravity Agent Manager を使用してフロントエンド アプリケーションをコンテナ化し、Cloud Run にデプロイしました。

これでフルスタックが完成しました。閉店時間(まとめ)で締めくくります。

11. 終了時間(結論)

ミッション完了

おめでとうございます!「Bargaining Shopkeeper」エージェント チャレンジを完了しました。あなたは、単なるアイデアだった Raju を、デジタル バザールで完全にデプロイされたインタラクティブな AI 店主にしました。エージェント開発の力を直接体験しました。

これまでの流れ:

  • Google Cloud: プロジェクトと請求先アカウントを設定し、エージェントを Cloud Run にデプロイしました。
  • Gemini 3: Raju のペルソナと交渉スキルを支えるインテリジェントな脳。
  • Agent Development Kit(ADK): 組み込みのオブザーバビリティ(テレメトリー)を備えた本番環境対応の基盤を提供するフレームワーク。エージェントを最初から堅牢に構築できます。
  • Gemini CLI: 迅速なタスク、テスト、拡張機能のためのコマンドライン アシスタント。
  • Google Antigravity: UI を「バイブコード」し、デプロイをオーケストレートする次世代の IDE。

Digital Dukaan の次のステップ:

  • テストの失敗を修正する: コードを変更しましたが、テストはどうでしょうか?デフォルトのテスト(tests/unit/test_agent.py)では、引き続き天気情報が検索されます。Gemini CLI を使用して自動的に更新します。試してみる: gemini "Update the tests in tests/unit/test_agent.py to test the new check_inventory tool instead of weather."
  • Dynamic Inventory: 商品が「販売済み」になったときに、Raju の在庫数を更新します。「購入」が成功した後に INVENTORY 辞書の stock を減らすロジックを追加できますか?
  • Payment Gateway ツール: モック process_payment ツールを実装します。Raju は、取引が成立したときにこのツールを呼び出すことができます。
  • Antigravity を詳しく見る: Antigravity のエージェント マネージャーワークスペースについて詳しく学びます。index.html を調整してライブ領収書を表示するようエージェントに依頼できますか?
  • ショップを共有する: Raju のショップがインターネットで公開されました。フロントエンドの URL を友達と共有して、友達があなたよりもお得な価格で商品を購入できるかどうかを確認しましょう。

リソース

12. クリーンアップ

この Codelab で使用したリソースについて、Google Cloud アカウントに不要な料金が発生しないようにするには、次の手順を行います。

1. Cloud Run サービスのデプロイ解除(オプションの費用削減)

プロジェクトや他の構成をそのままにして、デプロイされたサービスに関連する料金の発生を停止する場合は、Cloud Run サービスをデプロイ解除できます。

Cloud Shell ターミナル(またはローカル ターミナル)を開き、次の gcloud コマンドを実行します。

# Undeploy the backend agent

gcloud run services delete raju-agent --region us-central1

# Undeploy the frontend shop (if you deployed it)

gcloud run services delete raju-shop-frontend --region us-central1

2. Google Cloud プロジェクトを削除する(費用の完全な停止)

追加の費用が発生しないようにし、この Codelab で作成したすべてのリソースを完全に削除するには、Google Cloud プロジェクト全体を削除するのが最も確実な方法です。

  1. Google Cloud コンソールの [プロジェクト] ページに移動します。
  2. プロジェクト(raju-shop-agent)を選択し、[削除] をクリックします。
  3. プロンプトに沿ってプロジェクトの削除を確認します。