Next ‘26 主旨演讲:统一情报的基石

1. 简介

欢迎学习“统一智能结构”Codelab!此 Codelab 是 Google Cloud Next ‘26 主题演讲演示的一部分。

在本实验中,您将探索如何使用 Gemini Enterprise 来编排部署在 Cloud Run 上的多个代理,共享上下文以实现无缝切换和简化的工作流程。

假设您是虚构的现代家具品牌“Organic Living”的产品经理。您想推出一条新产品线,但标准的市场调研和设计流程耗时过长。在本实验中,您将部署一组 AI 智能体来自动执行并加快此流程:

  • 产品策略代理:根据市场数据优化产品概念。
  • 市场研究代理:分析趋势和客户反馈。
  • 编排器代理:协调其他代理之间的工作流。
  • 开发代理:通过创建工单和脚手架代码将计划转化为行动。

在本实验结束时,您将拥有一个在 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 Agents Hub
    • 代理目录下,点击新建代理
    • 代理名称设置为 Unified Intelligence Data Agent
    • 知识来源设置为您刚刚创建的数据集中的表格(furniture_stockfurniture_sales)。
      • 输入 furniture 搜索表格。
      • 按回车键。
      • 选择这两个表格(furniture_stockfurniture_sales)。
      • 点击添加
    • 点击发布
    • 当系统提示您分享代理时,点击“取消”。您将在后续步骤中向 Compute 服务账号添加角色。
  6. 测试代理
    • 在右侧的测试聊天中,提出如下问题:What are the furniture items with the highest stock?
    • 验证它是否会根据示例数据返回结果。您应该会在输出中看到类似如下所示的表格。agent-output
  7. 保存数据代理 ID
    • 在屏幕左侧,您应该会看到刚刚创建的代理的 ID。它将显示为 agent_ba43c386-ae82-45e0-a2b5-1928440f0926
    agent-id
    • 复制 ID。
    • 在 Cloud Shell 中运行以下命令以保存该 ID,并将 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. 打开相应文件夹,然后从网址中复制 ID。网址将类似于 https://drive.google.com/drive/folders/YOUR_FOLDER_ID。复制网址末尾的字母数字字符串(显示在 /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 角色。

向用户授予角色

如需使用 Discovery Engine(搜索和对话)功能,请在 Cloud Shell 中运行以下命令,向您的用户账号授予 Discovery Engine User 角色:

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 Service Agent 授予角色

在 Cloud Shell 中,运行以下命令以向 AI Platform 推理引擎服务代理授予角色:

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 所需的所有自定义代理。

配置和部署产品策略代理

在此步骤中,您将把产品策略代理部署到 Cloud Run,并将其注册到 Gemini Enterprise 应用。此代理负责根据市场数据优化产品概念。

前提条件

不过,首先您需要为产品策略代理配置环境变量。

  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
    
    部署完成后,您将获得产品策略代理的网址。
  2. 在 Cloud Shell 中,运行以下命令以获取已部署服务的网址,并将其保存到实验环境文件中:
    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
    

创建密文

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. 运行以下命令,将 Secret 值从本地 .env 推送到 Secret Manager:
    make create-secrets
    
  3. 运行以下命令,以向 Cloud Run 授予对相应 Secret 的访问权限:
    make grant-secret-access
    

将市场研究智能体部署到 Cloud Run

  1. 在 Cloud Shell 中,使用 Makefile 部署代理:
    make deploy
    
    部署完成后,您将获得市场研究代理的网址。
  2. 在 Cloud Shell 中,运行以下命令以获取已部署服务的网址,并将其保存到实验环境文件中:
    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 代理部署到 Cloud Run,并将其注册到 Gemini Enterprise 应用。此代理负责协调其他代理之间的工作流。

前提条件

但首先,您将为 Orchestrator 代理配置环境变量。它需要知道您在之前步骤中部署的“产品策略”和“市场研究”代理的网址。

  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
    

部署完成后,您将获得 Orchestrator 代理的网址。

  1. 在 Cloud Shell 中,运行以下命令以获取已部署服务的网址,并将其保存到实验环境文件中:
    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
    

配置和部署开发代理

在此步骤中,您将把开发代理部署到 Cloud Run,并将其注册到 Gemini Enterprise 应用。此代理通过创建任务和基架代码将计划转化为行动。开发代理可以与 Jira 集成以创建工单,这是主旨演讲演示中展示的内容。不过,在此 Codelab 中,我们将跳过 Jira 集成,让智能体将任务保存到 Google Cloud Storage。

前提条件

但首先,您需要为开发代理配置环境变量。

  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
    

部署开发代理

  1. 在 Cloud Shell 中,使用 Makefile 部署开发代理:
    make deploy
    

部署完成后,您将获得开发代理的网址。

  1. 在 Cloud Shell 中,运行以下命令以获取已部署服务的网址,并将其保存到实验环境文件中:
    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 和其他企业系统进行交互,并供用户进行交互。

您需要注册 Gemini Enterprise Plus 试用版才能完成此 Codelab。您还将创建一个用于注册代理的应用

申请试用 Gemini Enterprise

由于我们已启用 Discovery Engine API,因此您无需明确开始试用。系统会显示另一个按钮,供您创建第一个应用。

  1. 前往 Google Cloud 控制台中的 Gemini Enterprise 页面
  2. 系统会显示欢迎界面。点击“创建您的首个应用”。gemini-enterprise-app

创建应用

  1. 输入 n26-unified 作为应用名称。请注意屏幕上显示的免费试用横幅。试用横幅
  2. 将其他字段保留为默认值,然后点击“创建”。
  3. 系统会显示欢迎界面。点击预览链接。gemini-enterprise-app-preview
  4. 系统会弹出一个新窗口,其中包含 Gemini Enterprise Web 应用。记下网址栏中屏幕顶部的网址。您将在后续部分中使用此网址来访问应用。它应类似于 https://vertexaisearch.cloud.google.com/home/cid/ebb52d4a-b33b-4007-a180-91d02fa124e1gemini-enterprise-web-app

注册自定义代理

为了让 Gemini Enterprise 使用您的代理,您需要向 Gemini Enterprise 应用注册该代理。部署到 Cloud Run 的自定义代理可以注册到 A2A(代理到代理)集成。

  1. 在控制台的另一个窗口中,前往 Gemini Enterprise 应用界面
  2. 点击名为 n26-unified 的应用
  3. 在左侧导航栏中,点击“代理”

注册 Product Strategy Agent

  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. 将上一步中的 Agent 卡片 JSON 粘贴到文本框中。
  5. 点击预览代理详细信息
  6. 点击下一步
  7. 点击跳过并完成代理授权。
  8. 用户权限标签页中,向所有用户授予代理用户角色。
  9. 点击“保存”。

向 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. 将上一步中的 Agent 卡片 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. 将上一步中的 Agent 卡片 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}" $DEV_AGENT_URL/.well-known/agent-card.json  | jq
    
  2. 点击 + 添加智能体
  3. 点击通过 A2A 构建的自定义代理
  4. 将上一步中的 Agent 卡片 JSON 粘贴到文本框中。
  5. 点击预览代理详细信息
  6. 点击下一步
  7. 点击跳过并完成代理授权。
  8. 用户权限标签页中,向所有用户授予代理用户角色。
  9. 点击“保存”。

6. 第 1 幕:Gemini Enterprise 中的策略和编排

在本实验部分中,您将扮演“Organic Living”的商品销售副总裁,负责重振销售额停滞不前或不断下滑的产品线。

为了让一些不太受欢迎的产品线重焕生机,您会要求代理分析趋势、找出仓库中的滞销库存,并策划重新发布广告系列。您将了解 Gemini Enterprise 如何编排多个智能体来回答单个复杂提示。

这是您在“第 4 步:设置 Gemini Enterprise 并注册代理”中记下的网址。如果您没有该网址,可以按照以下步骤获取:

  1. 前往 Gemini Enterprise 应用界面
  2. 点击名为 n26-unified 的应用
  3. 点击以 https://vertexaisearch.cloud.google.com 开头的网址

提示代理协助完成任务

  1. 在首页上的聊天框中输入内容,即可开始新对话;您也可以点击左侧导航栏中的发起新对话
  2. 添加以下提示:
    Analyze current interior design trends and identify dead stock in our warehouse that matches the trend. Orchestrate a relaunch campaign
    
  3. 点击提交(带有纸飞机的图标),然后观看 Orchestrator 代理的神奇效果。

观察输出

只需一个提示,多个智能体就能在几分钟内完成一系列任务,而不是花费数小时。

  • 市场研究智能体由 Deep Research 提供支持,可分析最新的 Google 搜索信息,以发现最新的设计趋势。
  • Data Insights Agent 会连接到全球商品数据,并将研究结果馈送到我们的内部目录中,以识别符合这些趋势标准的“滞销”商品(低周转率商品目录)。
  • 产品策略代理会整合所有信息,根据其他代理提供的研究和数据生成重新发布广告系列策略。

批准方案并观察输出

  1. 使用 Yes 进行回复以批准方案
  2. 观察输出
    • 从市场研究代理的分析洞见开始,包含广泛的计划,包括网站品牌重塑。
    • 包括使用我们之前设置的 BigQuery Data Agent 从商品数据中检索的数据。
    • 请注意输出底部的来源,以便您对分析和建议充满信心。

根据新的“有机生活”风格生成视频

  1. 在对话中,让 Product Strategy Agent 生成视频。首先,输入 @Product,然后从列表中选择 Product Strategy Agent
  2. 添加以下提示:
    generate three videos for the landing page
    
  3. Gemini 将使用产品策略代理生成视频素材资源,并提供这些素材资源的网址。

与开发团队协调

在主旨演讲演示中,开发代理向开发团队发送了 Google Chat 通知。不过,我们已从本 Codelab 中移除了该步骤,因为个人 Gmail 账号不支持传入 Webhook。相反,开发代理将专注于在 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. 观察输出内容。开发代理会确认已创建任务,并提供任务 ID(例如 TASK-A3F7B2C1)。请记下此任务 ID,因为您将在 Act 2 中用到它。

7. 第二幕:在 Gemini CLI 中构建

在此环节中,您将切换到开发者的角色。您已获派任务,需要为新广告系列制作并发布着陆页,并跟进第 1 幕中创建的任务。

您将使用 Gemini CLI 基于任务文件中提供的设计规范构建“Organic Living”网站。Gemini CLI 是一款开源 AI 智能体,可将 Gemini 的强大功能引入命令行。它已预安装在您的 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 服务的网址。
  4. 点击提供的网址,在新标签页中打开新的“Organic Living”网站,并验证该网站是否符合设计规范。

8. 回顾

在此 Codelab 中,您已成功展示了“统一智能结构”的强大功能,方法是完成一个涉及不同角色和环境的复杂多步骤工作流:

  1. 编排多智能体系统:在 Gemini Enterprise 中,您使用一条提示来调用智能体团队(市场研究、数据分析和产品策略)来分析趋势、确定库存并制定重新发布策略。只需一个提示即可完成多项任务,无需单独完成每项任务。
  2. 生成的多媒体素材资源:您使用产品策略代理为新产品线生成了视频素材资源。
  3. 模拟跨角色移交:您使用开发代理在 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. 恭喜

恭喜!您已成功完成“统一智能的基石”Codelab。