Next ‘26 基調講演: 統合インテリジェンスのファブリック

1. はじめに

「Fabric of Unified Intelligence」Codelab へようこそ。この Codelab は、Google Cloud Next ‘26 の基調講演のデモの一部です。

このラボでは、Gemini Enterprise を使用して Cloud Run にデプロイされた複数のエージェントをオーケストレートし、コンテキストを共有してシームレスなハンドオフと効率的なワークフローを実現する方法について学びます。

架空のモダン家具ブランド「Organic Living」のプロダクト マネージャーであるとします。新しい商品ラインをリリースしたいが、標準的な市場調査と設計プロセスでは時間がかかりすぎる。このラボでは、このプロセスを自動化して加速するために、AI エージェントのチームをデプロイします。

  • プロダクト戦略エージェント: 市場データに基づいてプロダクトのコンセプトを洗練します。
  • 市場調査エージェント: トレンドと顧客からのフィードバックを分析します。
  • オーケストレーター エージェント: 他のエージェント間のワークフローを調整します。
  • Dev Agent: チケットとスキャフォールディング コードを作成して、プランをアクションに変換します。

このラボを終えると、Cloud Run にデプロイされ、Gemini Enterprise を使用してオーケストレーションされたマルチエージェント システムが完成し、統合インテリジェンスの威力を実感できます。

前提条件

  • Google Cloud コンソールと gcloud CLI の基本的な知識。

演習内容

  • Cloud Run にマルチエージェント システムをデプロイする。
  • Gemini Enterprise にエージェントを登録します。
  • Gemini Enterprise を使用して、次のワークフローを実行します。
    • データを分析し、データから分析情報を生成します。
    • Veo を使って商品の動画を作成します。
    • インサイトに基づいてウェブサイトを更新するための要件を開発チーム向けに生成します。

必要なもの

  • ウェブブラウザ(Chrome など)。
  • Google アカウント

2. 環境設定

プロジェクトの設定

Google Cloud プロジェクトの作成

  1. Google Cloud コンソールのプロジェクト セレクタ ページで、Google Cloud プロジェクトを選択または作成します。
  2. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

Cloud Shell をアクティブにする

Cloud Shell は、必要なツールがプリロードされた Google Cloud で動作するコマンドライン環境です。

  1. Google Cloud コンソールの上部にある [Cloud Shell をアクティブにする] をクリックします。
  2. Cloud Shell に接続したら、認証を確認します。
    gcloud auth list
    
  3. プロジェクトが構成されていることを確認します。
    gcloud config get project
    
  4. プロジェクトが想定どおりに設定されていない場合は、設定します。
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

環境変数ファイルを初期化する

Cloud Shell セッションが切断された場合に環境変数が保持されるように、環境変数をファイルに保存し、必要に応じてソースコードを取得します。

  1. Cloud Shell でファイルを作成し、プロジェクト ID を追加します。
    echo "export PROJECT_ID=$(gcloud config get-value project)" > ~/lab_env.sh
    source ~/lab_env.sh
    

AI Studio から Gemini API キーを取得する

市場調査エージェントは、Gemini Deep Research Interactions API をラップします。deep_research ツールは Gemini Deep Research Interactions API を呼び出します。この API は現在、AI Studio エンドポイントでのみ使用できます。vertexai=False を使用して別の genai.Client を作成し、GEMINI_API_KEY 環境変数に保存されている API キーを使用して認証します。

  1. Google AI Studio に移動します。
  2. Google アカウントを使用してログインします。
  3. [API キーを作成] をクリックします。
  4. キーに Unified Intelligence Agents という名前を付けます。
  5. [インポートしたプロジェクトを選択] で、プロジェクトを選択するか、インポートします。
  6. [キーを作成] をクリックします。
  7. 生成された API キーを詳細ペインからコピーします。
  8. Cloud Shell で、この鍵をラボ環境ファイルに保存します(YOUR_GEMINI_API_KEY は実際の鍵に置き換えます)。
    echo "export GEMINI_API_KEY=\"YOUR_GEMINI_API_KEY\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

API を有効にする

  1. Cloud Shell で、このラボに必要な API を有効にします。
    gcloud services enable \
      cloudresourcemanager.googleapis.com \
      aiplatform.googleapis.com \
      storage.googleapis.com \
      run.googleapis.com \
      bigquery.googleapis.com \
      cloudbuild.googleapis.com \
      iam.googleapis.com \
      discoveryengine.googleapis.com \
      geminidataanalytics.googleapis.com \
      cloudaicompanion.googleapis.com \
      secretmanager.googleapis.com
    

リポジトリのクローンを作成する

データセットとエージェントを設定する前に、ソースコードとデータ スクリプトを含むリポジトリのクローンを作成する必要があります。

  1. Cloud Shell で next-26-keynotes リポジトリのクローンを作成します。
    cd $HOME
    git clone https://github.com/GoogleCloudPlatform/next-26-keynotes.git
    

3. データとリソースの構成

BigQuery データとエージェントを設定する

このステップでは、BigQuery データセットを作成し、家具の在庫と販売のモックデータを入力して、このデータを分析する BigQuery Data Agent を作成します。

  1. Cloud Shell で、data ディレクトリに移動します。
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/data
    
  2. アプリケーションのデフォルト認証情報で認証し、次のコマンドを実行して、プロンプトに従います。
    gcloud auth application-default login
    
  3. 設定スクリプトを実行して、データセット、テーブル、ビューを作成します。
    chmod +x setup_bigquery.sh
    ./setup_bigquery.sh
    
    このスクリプトは次のものを作成します。
    • データセット: unified_intelligence_fabric_demo
    • テーブル: furniture_stock
    • テーブル: furniture_sales
    • ビュー: dead_stock_view
  4. Python スクリプトを実行して、uv を使用してテーブルにサンプルデータを入力します。
    uv run --with google-cloud-bigquery ./populate_tables.py
    
  5. BigQuery Data Agent を作成する:
    • Cloud コンソールの BigQuery エージェント ハブに移動します。
    • [エージェント カタログ] で [新しいエージェント] をクリックします。
    • [エージェント名] を Unified Intelligence Data Agent に設定します。
    • ナレッジソースを、作成したデータセットのテーブル(furniture_stockfurniture_sales)に設定します。
      • furniture と入力してテーブルを検索します。
      • Return キーを押します。
      • 2 つのテーブル(furniture_stockfurniture_sales)を選択します。
      • [追加] をクリックします。
    • [公開] をクリックします。
    • エージェントの共有を求められたら、[キャンセル] をクリックします。後のステップで、Compute サービス アカウントにロールを追加します。
  6. エージェントをテストする:
    • 右側のテストチャットで、次のような質問をします。What are the furniture items with the highest stock?
    • サンプルデータに基づいて結果が返されることを確認します。出力に次のような表が表示されます。agent-output
  7. Save Data Agent ID:
    • 画面の左側に、作成したエージェントの ID が表示されます。agent_ba43c386-ae82-45e0-a2b5-1928440f0926 のようになります。
    agent-id
    • ID をコピーします。
    • Cloud Shell で次のコマンドを実行して保存します。YOUR_AGENT_ID は実際の ID に置き換えます。
    echo "export BQ_DATA_AGENT_ID=YOUR_AGENT_ID" >> ~/lab_env.sh
    source ~/lab_env.sh
    

共有フォルダを作成する

この手順では、Google ドライブにフォルダを作成し、Cloud Run サービス アカウントと共有します。このフォルダは、エージェントがファイル(生成された要件など)を保存して共有するために使用されます。

  1. Google ドライブに移動します。
  2. [新規] > [新しいフォルダ] をクリックし、Unified Intelligence Lab という名前を付けて、[作成] をクリックします。
  3. 新しく作成したフォルダを右クリックし、[共有] > [共有] を選択します。
  4. Cloud Shell で次のコマンドを実行して、デフォルトの Compute Engine サービス アカウントのメールアドレスを取得します。
    PROJECT_NUMBER=$(gcloud projects describe $(gcloud config get-value project) --format="value(projectNumber)")
    echo "${PROJECT_NUMBER}-compute@developer.gserviceaccount.com"
    
  5. 出力からメールアドレスをコピーします。
  6. Google ドライブの共有ダイアログで、このメールアドレスを追加します。
  7. ロールを [編集者] に設定します。
  8. フォルダを開き、URL から ID をコピーします。URL は https://drive.google.com/drive/folders/YOUR_FOLDER_ID のようになります。URL の末尾にある英数字の文字列(/folders/ の後に表示される文字列)をコピーします。
  9. Cloud Shell で、この ID をラボ環境ファイルに保存します(YOUR_FOLDER_ID は実際の ID に置き換えます)。
    echo "export GOOGLE_DRIVE_FOLDER_ID=YOUR_FOLDER_ID" >> ~/lab_env.sh
    source ~/lab_env.sh
    

GCS バケットを作成する

Cloud Shell で次のコマンドを実行して、アーティファクト/タスク、キャンペーン動画、ログ用の GCS バケットを作成します。

gcloud storage buckets create gs://$(gcloud config get-value project)-artifacts --location=us-central1
gcloud storage buckets create gs://$(gcloud config get-value project)-videos --location=us-central1
gcloud storage buckets create gs://$(gcloud config get-value project)-logs --location=us-central1

動画バケットを公開する

ウェブサイトが動画にアクセスできるようにするには、動画バケットを公開します。

gcloud storage buckets add-iam-policy-binding gs://$(gcloud config get-value project)-videos --member=allUsers --role=roles/storage.objectViewer

IAM ロールを付与する

このセクションでは、ユーザーと複数のサービス アカウント/エージェントに IAM ロールを付与します。

ユーザーにロールを付与する

ディスカバリー エンジン(検索と会話)機能を使用するには、Cloud Shell で次のコマンドを実行して、ユーザー アカウントにディスカバリー エンジン ユーザーのロールを付与します。

source ~/lab_env.sh

echo "export USER_ACCOUNT=$(gcloud config get-value account)" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="user:$USER_ACCOUNT" \
  --role="roles/discoveryengine.user"

Compute Engine サービス アカウントにロールを付与する

Cloud Shell で次のコマンドを実行して、Compute Engine サービス アカウントにロールを付与します。

source ~/lab_env.sh

PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
echo "export PROJECT_NUMBER=${PROJECT_NUMBER}" >> ~/lab_env.sh
echo "export COMPUTE_SA=\"${PROJECT_NUMBER}-compute@developer.gserviceaccount.com\"" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/storage.objectAdmin"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/aiplatform.user"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/cloudtrace.agent"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/geminidataanalytics.dataAgentUser"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/geminidataanalytics.dataAgentStatelessUser"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/bigquery.dataViewer"

gcloud iam service-accounts add-iam-policy-binding $COMPUTE_SA \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/iam.serviceAccountTokenCreator" \
  --project=$PROJECT_ID

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/cloudbuild.builds.builder"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/run.invoker"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/secretmanager.secretAccessor"

Discovery Engine サービス アカウントにロールを付与する

Cloud Shell で次のコマンドを実行して、Discovery Engine サービス アカウントにロールを付与します。

source ~/lab_env.sh

echo "export DISCOVERY_ENGINE_SA=\"service-\${PROJECT_NUMBER}@gcp-sa-discoveryengine.iam.gserviceaccount.com\"" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$DISCOVERY_ENGINE_SA" \
  --role="roles/run.invoker"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$DISCOVERY_ENGINE_SA" \
  --role="roles/aiplatform.user"

AI Platform Reasoning Engine サービス エージェントにロールを付与する

Cloud Shell で次のコマンドを実行して、AI Platform Reasoning Engine サービス エージェントにロールを付与します。

source ~/lab_env.sh

echo "export AI_PLATFORM_RE_SA=\"service-\${PROJECT_NUMBER}@gcp-sa-aiplatform-re.iam.gserviceaccount.com\"" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AI_PLATFORM_RE_SA" \
  --role="roles/storage.objectViewer"

4. エージェントを構成してデプロイする

この Codelab に必要なすべてのカスタム エージェントを構成してデプロイします。

プロダクト戦略エージェントを構成してデプロイする

このステップでは、Product Strategy Agent を Cloud Run にデプロイし、Gemini Enterprise アプリに登録します。このエージェントは、市場データに基づいてプロダクト コンセプトを絞り込む役割を担います。

前提条件

ただし、最初に Product Strategy Agent の環境変数を構成します。

  1. Cloud Shell で、Product Strategy Agent ディレクトリに移動します。
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/product-strategy
    
  2. 次のコマンドを実行して、.env.sample ファイルを .env にコピーします。
    cp .env.sample .env
    
  3. Cloud Shell で次のコマンドを実行して、プロジェクトの詳細を .env ファイルに入力します。
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s/YOUR_VEO_GCS_BUCKET/${PROJECT_ID}-videos/" .env
    sed -i "s/YOUR_GOOGLE_DRIVE_FOLDER_ID/${GOOGLE_DRIVE_FOLDER_ID}/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

プロダクト戦略エージェントをデプロイする

  1. Cloud Run にデプロイする Cloud Shell で、エージェントを Cloud Run にデプロイします。リポジトリには、このプロセスを簡素化する Makefile が含まれています。
    make deploy
    
    デプロイが完了すると、プロダクト戦略エージェントの URL が表示されます。
  2. Cloud Shell で次のコマンドを実行して、デプロイされたサービスの URL を取得し、ラボ環境ファイルに保存します。
    source ~/lab_env.sh
    PRODUCT_STRATEGY_URL=$(gcloud run services describe product-strategy --region us-central1 --format 'value(status.url)')
    echo "export PRODUCT_STRATEGY_URL=\"${PRODUCT_STRATEGY_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

市場調査エージェントを構成してデプロイする

このステップでは、市場調査エージェントを Cloud Run にデプロイし、Gemini Enterprise アプリに登録します。このエージェントは、トレンドと顧客フィードバックを分析します。

前提条件

まず、Deep Research ツールの API キーなど、市場調査エージェントの環境変数を構成します。

  1. Cloud Shell で、market-research ディレクトリに移動します。
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/market-research
    
  2. 次のコマンドを実行して、.env.sample ファイルを .env にコピーします。
    cp .env.sample .env
    
  3. Cloud Shell で次のコマンドを実行して、プロジェクトの詳細を .env ファイルに入力します。
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

Secret を作成する

GEMINI_API_KEY 変数は Secret Manager に保存され、デプロイ時に Cloud Run リビジョンにマウントされます。

  1. Cloud Shell で、GEMINI_API_KEY.env ファイルに追加します。
    source ~/lab_env.sh
    echo "GEMINI_API_KEY=${GEMINI_API_KEY}" >> .env
    
  2. 次のコマンドを実行して、ローカル .env から Secret Manager にシークレット値を push します。
    make create-secrets
    
  3. 次のコマンドを実行して、Cloud Run にシークレットへのアクセス権を付与します。
    make grant-secret-access
    

市場調査エージェントを Cloud Run にデプロイする

  1. Cloud Shell で、Makefile を使用してエージェントをデプロイします。
    make deploy
    
    デプロイが完了すると、市場調査エージェントの URL が表示されます。
  2. Cloud Shell で次のコマンドを実行して、デプロイされたサービスの URL を取得し、ラボ環境ファイルに保存します。
    source ~/lab_env.sh
    MARKET_RESEARCH_URL=$(gcloud run services describe market-research --region us-central1 --format 'value(status.url)')
    echo "export MARKET_RESEARCH_URL=\"${MARKET_RESEARCH_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

Orchestrator エージェントを構成してデプロイする

このステップでは、Orchestrator エージェントを Cloud Run にデプロイし、Gemini Enterprise アプリに登録します。このエージェントは、他のエージェント間のワークフローを調整します。

前提条件

まず、Orchestrator エージェントの環境変数を構成します。前の手順でデプロイしたプロダクト戦略エージェントと市場調査エージェントの URL を把握する必要があります。

  1. Cloud Shell で、orchestrator ディレクトリに移動します。
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/orchestrator
    
  2. 次のコマンドを実行して、.env.sample ファイルを .env にコピーします。
    cp .env.sample .env
    
  3. Cloud Shell で次のコマンドを実行して、プロジェクトの詳細と BigQuery Data Agent の構成を .env ファイルに入力します。
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s|http://localhost:8002|${MARKET_RESEARCH_URL}|" .env
    sed -i "s|http://localhost:8001|${PRODUCT_STRATEGY_URL}|" .env
    sed -i "s/YOUR_BQ_DATA_AGENT_PROJECT/${PROJECT_ID}/" .env
    sed -i "s/YOUR_BQ_DATA_AGENT_ID/${BQ_DATA_AGENT_ID}/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

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

  1. Cloud Shell で、Makefile を使用して Orchestrator エージェントをデプロイします。
    make deploy
    

デプロイが完了すると、オーケストレーター エージェントの URL が表示されます。

  1. Cloud Shell で次のコマンドを実行して、デプロイされたサービスの URL を取得し、ラボ環境ファイルに保存します。
    source ~/lab_env.sh
    ORCHESTRATOR_URL=$(gcloud run services describe orchestrator --region us-central1 --format 'value(status.url)')
    echo "export ORCHESTRATOR_URL=\"${ORCHESTRATOR_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

Dev エージェントを構成してデプロイする

このステップでは、Dev Agent を Cloud Run にデプロイし、Gemini Enterprise アプリに登録します。このエージェントは、タスクとスキャフォールディング コードを作成して、計画をアクションに変換します。Dev Agent は Jira と統合してチケットを作成できます。これは基調講演のデモで示されています。ただし、このコードラボでは Jira 統合をスキップし、エージェントがタスクを Google Cloud Storage に保存するようにします。

前提条件

ただし、最初に Dev Agent の環境変数を構成します。

  1. Cloud Shell で、dev-agent ディレクトリに移動します。
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/dev-agent
    
  2. 次のコマンドを実行して、.env.sample ファイルを .env にコピーします。
    cp .env.sample .env
    
  3. Cloud Shell で次のコマンドを実行して、プロジェクトの詳細を .env ファイルに入力します。
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s/YOUR_ASSET_BUCKET_NAME/${PROJECT_ID}-artifacts/" .env
    sed -i "s/YOUR_VEO_GCS_BUCKET/${PROJECT_ID}-videos/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

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

  1. Cloud Shell で、Makefile を使用して Dev エージェントをデプロイします。
    make deploy
    

デプロイが完了すると、開発エージェントの URL が表示されます。

  1. Cloud Shell で次のコマンドを実行して、デプロイされたサービスの URL を取得し、ラボ環境ファイルに保存します。
    source ~/lab_env.sh
    DEV_AGENT_URL=$(gcloud run services describe dev-agent --region us-central1 --format 'value(status.url)')
    echo "export DEV_AGENT_URL=\"${DEV_AGENT_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

5. Gemini Enterprise を設定してエージェントを登録する

この Codelab では、Gemini Enterprise を使用してエージェントを登録して管理し、Workspace や他のエンタープライズ システムとやり取りできるようにして、ユーザーが操作できるようにします。

この Codelab では、Gemini Enterprise Plus のトライアルに登録する必要があります。また、エージェントの登録に使用するアプリも作成します。

Gemini Enterprise の無料試用にお申し込みください

Discovery Engine API はすでに有効になっているため、トライアルを明示的に開始する必要はありません。代わりに、最初のアプリを作成するための別のボタンが表示されます。

  1. Google Cloud コンソールの [Gemini Enterprise] ページに移動します。
  2. ウェルカム画面が表示されます。[初めてのアプリを作成する] をクリックします。gemini-enterprise-app

アプリケーションを作成する

  1. アプリ名として「n26-unified」と入力します。画面に表示された無料トライアルのバナーを確認します。trial-banner
  2. 他のフィールドはデフォルトのままにして、[作成] をクリックします。
  3. ウェルカム画面が表示されます。[プレビュー] リンクをクリックします。gemini-enterprise-app-preview
  4. Gemini Enterprise ウェブ アプリケーションを含む新しいウィンドウがポップアップ表示されます。画面上部の URL バーにある URL をメモします。この URL は、今後のセクションでアプリケーションにアクセスするために必要になります。https://vertexaisearch.cloud.google.com/home/cid/ebb52d4a-b33b-4007-a180-91d02fa124e1 のようになります。gemini-enterprise-web-app

カスタム エージェントを登録する

Gemini Enterprise でエージェントを使用するには、Gemini Enterprise アプリケーションにエージェントを登録する必要があります。Cloud Run にデプロイされたカスタム エージェントは、A2A(Agent-to-Agent)インテグレーションに登録できます。

  1. コンソールの別のウィンドウで、Gemini Enterprise アプリの画面に移動します。
  2. n26-unified という名前のアプリをクリックします。
  3. 左側のナビゲーションで [エージェント] をクリックします。

プロダクト戦略エージェントを登録する

  1. エージェントカードを取得するには、Cloud Shell で次のコマンドを実行します。
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $PRODUCT_STRATEGY_URL/.well-known/agent-card.json  | jq
    
  2. [+ エージェントを追加] をクリックします。
  3. [A2A によるカスタム エージェント] をクリックします。
  4. 前の手順で取得したエージェント カードの JSON をテキスト ボックスに貼り付けます。
  5. [エージェントの詳細をプレビュー] をクリックします。
  6. [次へ] をクリックします。
  7. エージェントの承認で [スキップして終了] をクリックします。
  8. [ユーザー権限] タブで、[すべてのユーザー] に [エージェント ユーザー] ロールを付与します。
  9. [保存] をクリックします。

Market Research Agent を Gemini Enterprise アプリケーションに登録する

  1. エージェントカードを取得するには、Cloud Shell で次のコマンドを実行します。
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $MARKET_RESEARCH_URL/.well-known/agent-card.json  | jq
    
  2. [+ エージェントを追加] をクリックします。
  3. [A2A によるカスタム エージェント] をクリックします。
  4. 前の手順で取得したエージェント カードの JSON をテキスト ボックスに貼り付けます。
  5. [エージェントの詳細をプレビュー] をクリックします。
  6. [次へ] をクリックします。
  7. エージェントの承認で [スキップして終了] をクリックします。
  8. [ユーザー権限] タブで、[すべてのユーザー] に [エージェント ユーザー] ロールを付与します。
  9. [保存] をクリックします。

オーケストレーター エージェントを登録する

  1. エージェントカードを取得するには、Cloud Shell で次のコマンドを実行します。
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $ORCHESTRATOR_URL/.well-known/agent-card.json  | jq
    
  2. [+ エージェントを追加] をクリックします。
  3. [A2A によるカスタム エージェント] をクリックします。
  4. 前の手順で取得したエージェント カードの JSON をテキスト ボックスに貼り付けます。
  5. [エージェントの詳細をプレビュー] をクリックします。
  6. [次へ] をクリックします。
  7. エージェントの承認で [スキップして終了] をクリックします。
  8. [ユーザー権限] タブで、[すべてのユーザー] に [エージェント ユーザー] ロールを付与します。
  9. [保存] をクリックします。

Dev Agent を登録する

  1. エージェントカードを取得するには、Cloud Shell で次のコマンドを実行します。
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $DEV_AGENT_URL/.well-known/agent-card.json  | jq
    
  2. [+ エージェントを追加] をクリックします。
  3. [A2A によるカスタム エージェント] をクリックします。
  4. 前の手順で取得したエージェント カードの JSON をテキスト ボックスに貼り付けます。
  5. [エージェントの詳細をプレビュー] をクリックします。
  6. [次へ] をクリックします。
  7. エージェントの承認で [スキップして終了] をクリックします。
  8. [ユーザー権限] タブで、[すべてのユーザー] に [エージェント ユーザー] ロールを付与します。
  9. [保存] をクリックします。

6. 第 1 幕: Gemini Enterprise の戦略とオーケストレーション

このラボのセクションでは、「Organic Living」のマーチャンダイジング担当 VP の役割を担い、売上が伸び悩んでいる商品ラインの活性化を担当します。

人気のない商品ラインを復活させるために、エージェントにトレンドの分析、倉庫内のデッドストックの特定、再ローンチ キャンペーンの調整を依頼します。Gemini Enterprise が複数のエージェントをオーケストレートして、1 つの複雑なプロンプトに回答する様子を確認します。

これは、ステップ 4: Gemini Enterprise を設定してエージェントを登録するでメモした URL です。URL がない場合は、次の手順で取得できます。

  1. Gemini Enterprise アプリの画面に移動します。
  2. n26-unified という名前のアプリをクリックします。
  3. https://vertexaisearch.cloud.google.com で始まる URL をクリックします。

タスクのサポートをエージェントに求める

  1. ホームページのチャット ボックスに入力するか、左側のナビゲーションで [新しいチャット] をクリックして、新しいチャットを開始します。
  2. 次のプロンプトを追加します。
    Analyze current interior design trends and identify dead stock in our warehouse that matches the trend. Orchestrate a relaunch campaign
    
  3. [送信](紙飛行機のアイコン)をクリックして、Orchestrator エージェントの動作を確認します。

出力を確認する

1 つのプロンプトで、複数のエージェントが数時間ではなく数分で一連のタスクを完了します。

  • Deep Research を活用した Market Research Agent が、Google 検索の最新情報を分析して、最新のデザイン トレンドを見つけます。
  • Data Insights Agent は、グローバルな商品データに接続し、調査結果を内部カタログにフィードして、これらのトレンド条件に一致する「デッドストック」(低速在庫)アイテムを特定します。
  • プロダクト戦略エージェントは、他のエージェントの調査とデータに基づいて、再ローンチ キャンペーン戦略を生成します。

プランを承認して出力を確認する

  1. Yes と回答してプランを承認します
  2. 出力を確認する
    • 市場調査エージェントの分析情報から始まり、ウェブサイトのリブランディングを含む広範なプランが含まれます。
    • これには、以前に設定した BigQuery Data Agent を使用して商品データから取得したデータが含まれます。
    • 出力の下部にソースが記載されているため、分析と推奨事項を信頼できます。

新しいオーガニック リビング スタイルに基づいて動画を生成する

  1. チャットで、プロダクト戦略エージェントに動画の生成を依頼します。まず、「@Product」と入力し、リストから [Product Strategy Agent] を選択します。
  2. 次のプロンプトを追加します。
    generate three videos for the landing page
    
  3. Gemini はプロダクト戦略エージェントを使用して動画アセットを生成し、その URL を提供します。

開発チームと連携する

基調講演のデモでは、Dev Agent が開発チームに Google Chat 通知を送信しました。ただし、個人用 Gmail アカウントでは受信ウェブフックが対象外となるため、このステップは codelab から削除しました。代わりに、Dev Agent は Google Cloud Storage でのタスクの作成に重点を置きます。

  1. チャットで、開発エージェントに開発チームのタスクを作成するよう依頼します。まず、「@Dev」と入力し、リストから [Dev Agent] を選択します。
  2. 次のプロンプトを追加します。
    create a task for the dev team to get started on the new product landing page.
    
  3. 出力を確認します。Dev Agent は、タスクを作成したことを確認し、タスク ID(例: TASK-A3F7B2C1)を提供します。このタスク ID は第 2 幕で必要になるため、メモしておいてください。

7. 第 2 幕: Gemini CLI で構築する

この操作では、デベロッパーの役割に切り替えます。第 1 幕で作成されたタスクに沿って、新しいキャンペーンのランディング ページを構築してリリースするよう割り当てられました。

Gemini CLI を使用して、タスクファイルにある設計仕様に基づいて「Organic Living」ウェブサイトを構築します。Gemini CLI は、Gemini の機能をコマンドラインから利用できるオープンソースの AI エージェントです。これは Cloud Shell 環境にプリインストールされています。

Gemini CLI を構成する

  1. Cloud Shell で、ウェブサイト プロジェクト用の新しいディレクトリを作成してそのディレクトリに移動します。
    mkdir -p $HOME/website
    cd $HOME/website
    
  2. クローンを作成したリポジトリから作業ディレクトリに GEMINI.md の手順と設計イメージをコピーします。
    cp $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/gemini-cli/GEMINI.md .
    cp $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/gemini-cli/Organic_Living_Website_Design.png .
    
  3. エージェント構成ディレクトリを作成し、dev-agent.md ファイルを作成します。
    source ~/lab_env.sh
    mkdir -p ~/.gemini/agents
    cat > ~/.gemini/agents/dev-agent.md <<EOF
    ---
    kind: remote
    name: dev-agent
    agent_card_url: ${DEV_AGENT_URL}/.well-known/agent-card.json
    description: "Task assistant. Use for: creating/looking up/starting APPDEV tasks."
    auth:
      type: google-credentials
    ---
    EOF
    

プロンプトを開始する

  1. gemini-cli を実行してインタラクションを開始します。
    source ~/lab_env.sh
    gemini
    
  2. [このフォルダ内のファイルを信頼しますか?] というメッセージが表示されます。オプション 1 を選択します。信頼フォルダ(ウェブサイト)
  3. Gemini CLI プロンプトで「auth」と入力して Return キーを押します。
  4. [Gemini API キーを使用する] を選択します。これにより、lab_env.sh から読み込んだ GEMINI_API_KEY 環境変数が自動的に使用されます。
  1. gemini> プロンプトで、第 1 幕で作成したタスクに取り組むことをエージェントに伝えます(TASK-A3F7B2C1 は、メモした実際のタスク ID に置き換えます)。
    @dev-agent let me work on TASK-A3F7B2C1
    
    エージェントが GCS でタスクを検索し、概要と計画を提示します。
  2. 次に、エージェントにウェブサイトの構築を依頼します。
    Build and deploy it
    
    Gemini は現在のディレクトリにある GEMINI.md ファイルを読み取り、仕様に従ってウェブサイトの構築を開始します。
  3. ビルドとデプロイが完了すると、エージェントはデプロイされた Cloud Run サービスの URL などの結果を出力します。
  4. 指定された URL をクリックして、新しい「Organic Living」ウェブサイトを新しいタブで開き、デザイン仕様と一致していることを確認します。

8. まとめ

この Codelab では、さまざまなロールと環境にまたがる複雑なマルチステップ ワークフローを完了することで、「統合インテリジェンスのファブリック」の力を実証しました。

  1. マルチエージェント システムをオーケストレートした: Gemini Enterprise で、1 つのプロンプトを使用して、トレンドの分析、在庫の特定、再リリース戦略の策定を行うために、エージェントのチーム(市場調査、データ分析、プロダクト戦略)を連携させました。1 つのプロンプトで、各タスクを個別に完了する必要なく、さまざまな作業を完了できます。
  2. 生成されたマルチメディア アセット: 商品戦略エージェントを使用して、新しい商品ラインの動画アセットを生成しました。
  3. クロスロール ハンドオフのシミュレーション: Dev Agent を使用して GCS でタスクを生成し、ビジネスチームから開発チームへのハンドオフをシミュレートしました。システムが共有コンテキストを維持するため、ユーザーが直接共有する必要はありません。
  4. Gemini CLI を使用してウェブサイトを構築する: Cloud Shell で、デベロッパー ロールに切り替え、Gemini CLI を使用して、前の手順で作成したタスクと GEMINI.md の設計仕様に基づいてランディング ページを構築してデプロイしました。

このワークフローは、Gemini Enterprise がさまざまなツール、データソース、ロールを接続して、複雑なビジネス プロセスを効率化する方法を示しています。

9. クリーンアップ

このラボでは多くのリソースが作成されるため、長いクリーンアップ手順を回避するために、プロジェクト全体を削除することをおすすめします。

  1. Cloud Shell で次のコマンドを実行して、Google Cloud プロジェクト全体を削除します。
source ~/lab_env.sh
gcloud projects delete "${PROJECT_ID}"

10. 完了

おめでとうございます!「Fabric of Unified Intelligence」の Codelab を完了しました。