首页
看点啥
插画图片
首页 热点时事 Serverless AI Agent 实战:用阿里云 AgentRun 加 Google ADK 搭建多智能体协同工作流

Serverless AI Agent 实战:用阿里云 AgentRun 加 Google ADK 搭建多智能体协同工作流

2026-06-13 0


一、为什么你需要关注多 Agent 协同

单 Agent 的能力边界正在被快速触及。

Serverless AI Agent 实战:用阿里云 AgentRun + Google ADK 搭建多智能体协同工作流

一个典型的例子:你想让 AI 帮你做一次竞品分析。这需要先搜索公开资料、抓取网页、提取关键信息、对比分析、最后生成报告。如果只用一个 Agent,Prompt 会变得极其复杂,上下文窗口很快爆满,而且每一步的可靠性会随着链路拉长急剧下降。

Google 在 2025 年提出的 A2A(Agent-to-Agent)协议 正是为了解决这个问题。它的核心思路很简单:把复杂任务拆成多个专业 Agent,让它们通过标准协议相互通信、协作完成

听起来很美好,但落地面临三个现实问题:

  1. 基础设施:多 Agent 意味着多个运行时,手动管理服务器不现实
  2. 模型接入:每个 Agent 可能需要不同的模型,统一接入成本高
  3. 状态管理:Agent 之间传数据、存中间结果,需要可靠的存储层

阿里云的 函数计算 AgentRun 恰好在这三个问题上给出了一个开箱即用的答案。它基于 Serverless 架构,内置百炼大模型集成,可选配 NAS 文件存储,而且原生支持 Google ADK 框架的多 Agent 协同。

本文带你在 AgentRun 上跑通一个完整的 A2A 多 Agent 工作流。不聊概念,直接上实操。


二、环境准备

2.1 开通服务

访问 AgentRun 控制台(通过链接可体验:AgentRun 控制台体验),完成以下准备:

2.2 本地开发环境

确保本地安装了以下工具:

# 安装 Serverless Devs 工具
npm install -g @serverless-devs/s

# 配置阿里云凭证
s config add --AccessKeyID  --AccessKeySecret 



三、场景设计:多 Agent 竞品分析系统

我们要搭建的系统包含三个专业 Agent:

┌──────────────┐    A2A     ┌──────────────┐    A2A     ┌──────────────┐
│  搜索 Agent   │ ────────→ │  分析 Agent   │ ────────→ │  报告 Agent   │
│ (资料收集)    │ 搜索结果   │ (对比分析)    │ 分析结果   │ (生成报告)    │
└──────────────┘   └──────────────┘   └──────────────┘
 │ │ │
 └─────────────────────────┼─────────────────────────┘
 │┌──────┴──────┐│  NAS 存储    ││ (共享中间结果)│└─────────────┘


每个 Agent 职责单一:


四、Agent 开发

4.1 搜索 Agent

搜索 Agent 的核心逻辑:接收查询关键词,调用搜索 API,格式化输出。

# search_agent/main.py
from google.adk.agents import Agent
from google.adk.tools import ToolContext
import requests
import json
import os


def web_search(query: str, tool_context: ToolContext) -> str:  """执行网络搜索并返回结构化结果"""  # 实际场景中使用搜索 API(如 Bing Search API)  # 这里展示核心逻辑结构  results = [
{   "title": f"关于"{ query}"的搜索结果",  "snippet": "模拟搜索摘要信息...",  "url": "https://example.com/result"
}  ]
  # 存入 NAS 共享路径,供下游 Agent 读取  output_path = "/mnt/nas/search_results.json"  os.makedirs(os.path.dirname(output_path), exist_ok=True)  with open(output_path, "w", encoding="utf-8") as f:
json.dump({ "query": query, "results": results}, f, ensure_ascii=False)
  tool_context.actions.skip_summarization = True  return json.dumps(results, ensure_ascii=False, indent=2)


search_agent = Agent(  name="search_agent",  model="qwen-plus",# 百炼提供的通义千问模型  instruction="""你是一个专业的搜索 Agent。
当用户提出搜索需求时,调用 web_search 工具执行搜索。
然后将结果传递给下游的分析 Agent。""",  tools=[web_search],
)


4.2 分析 Agent

分析 Agent 读取搜索结果,调用大模型做深度对比分析。

# analysis_agent/main.py
from google.adk.agents import Agent
import json
import os


def load_search_results() -> str:  """从 NAS 读取搜索 Agent 的结果"""  input_path = "/mnt/nas/search_results.json"  if not os.path.exists(input_path):
return "未找到搜索结果,请先运行搜索 Agent。"
  with open(input_path, "r", encoding="utf-8") as f:
data = json.load(f)  return json.dumps(data, ensure_ascii=False, indent=2)


def save_analysis(analysis_text: str) -> str:  """将分析结果存入 NAS"""  output_path = "/mnt/nas/analysis_result.md"  os.makedirs(os.path.dirname(output_path), exist_ok=True)  with open(output_path, "w", encoding="utf-8") as f:
f.write(analysis_text)  return "分析结果已保存"


analysis_agent = Agent(  name="analysis_agent",  model="qwen-plus",  instruction="""你是一个专业的竞品分析 Agent。
1. 读取搜索 Agent 返回的结果
2. 从产品定位、核心功能、定价策略、技术架构四个维度做对比分析
3. 输出结构化的分析结论
4. 将最终结果保存到 NAS 供报告 Agent 使用""",  tools=[load_search_results, save_analysis],
)


4.3 报告 Agent

# report_agent/main.py
from google.adk.agents import Agent
import os


def load_analysis() -> str:  """读取分析 Agent 的输出"""  input_path = "/mnt/nas/analysis_result.md"  if not os.path.exists(input_path):
return "分析结果尚未生成"  with open(input_path, "r", encoding="utf-8") as f:
return f.read()


report_agent = Agent(  name="report_agent",  model="qwen-plus",  instruction="""你是一个专业的报告生成 Agent。
1. 读取分析 Agent 的输出
2. 生成一份格式规范的 Markdown 报告
3. 报告包含:摘要、详细对比、结论与建议三部分
4. 确保输出排版清晰,适合直接分享""",  tools=[load_analysis],
)



五、部署到 AgentRun

5.1 项目结构

multi-agent-analysis/
├── search_agent/
│   ├── main.py
│   └── requirements.txt
├── analysis_agent/
│   ├── main.py
│   └── requirements.txt
├── report_agent/
│   ├── main.py
│   └── requirements.txt
└── s.yaml    # Serverless Devs 配置


5.2 部署配置

# s.yaml
edition: 4.0.0
name: multi-agent-analysis

services:search:  component: fc  props:
region: cn-hangzhou
serviceName: adk-multi-agent
functionName: search-agent
runtime: python3.9
codeUri: ./search_agent
handler: main.search_agent
memorySize: 1024
# 挂载 NAS 实现 Agent 间文件共享
nasConfig:
groupId: 0
userId: 0
mountPoints:- serverAddr: "xxxxx.cn-hangzhou.nas.aliyuncs.com"  mountDir: /mnt/nas
analysis:  component: fc  props:
region: cn-hangzhou
serviceName: adk-multi-agent
functionName: analysis-agent
runtime: python3.9
codeUri: ./analysis_agent
handler: main.analysis_agent
memorySize: 2048
nasConfig:
groupId: 0
userId: 0
mountPoints:- serverAddr: "xxxxx.cn-hangzhou.nas.aliyuncs.com"  mountDir: /mnt/nas
report:  component: fc  props:
region: cn-hangzhou
serviceName: adk-multi-agent
functionName: report-agent
runtime: python3.9
codeUri: ./report_agent
handler: main.report_agent
memorySize: 1024
nasConfig: ...


5.3 一键部署

# 部署全部 Agent
s deploy

# 部署结果示例:
# search-agent: deployed  (URL: https://xxx.cn-hangzhou.fc.aliyuncs.com/...)
# analysis-agent: deployed 
# report-agent: deployed 


部署完成后,三个 Agent 各自获得一个独立的 HTTP 端点,通过 A2A 协议互相调用,无需额外配置服务发现或负载均衡——Serverless 架构天然处理了这些问题。


六、成本分析

多 Agent 系统的传统部署方式需要至少 3 台 ECS 实例(或一个 K8s 集群),基础成本每月几百到上千元,而且不管有没有请求都要付费。

AgentRun 的 Serverless 模式按实际调用计费:

参考吉利汽车在 AgentRun 上的实际案例:算力成本优化了 33%

如果你想亲自体验 AgentRun 的多 Agent 开发能力,可以通过链接注册并开通:体验 AgentRun 的多 Agent 开发能力


七、局限与注意事项

  1. 框架锁定:Google ADK 和 PydanticAI 是当前支持的两个主要框架,如果你团队用的是 LangGraph 或 CrewAI,需要评估迁移成本
  2. NAS 性能:Agent 间通过 NAS 共享文件是当前推荐的方案,适合中等数据量的场景;高频、小数据量的通信场景建议等待原生消息队列支持
  3. 冷启动:函数计算存在冷启动延迟(通常在百毫秒级),对实时性要求极高的场景需要预热策略

八、总结

本文从零搭建了一个基于 AgentRun + Google ADK 的多 Agent 竞品分析系统。核心收获:

AI Agent 正在从"能用"走向"好用",而多 Agent 协同是其中最关键的一块拼图。AgentRun 让这块拼图的落地门槛降低了不少。


喜欢(0)

上一篇

阿里云OPC专属套餐正式发布!业界首个OPC全生命周期套餐:三大套餐将创业所需AI能力和云产品一战打包!

阿里云OPC专属套餐正式发布!业界首个OPC全生命周期套餐:三大套餐将创业所需AI能力和云产品一战打包!

下一篇

从零搭建:阿里云ECS云服务器Hermes Agent部署与百炼Token Plan配置指南

从零搭建:阿里云ECS云服务器Hermes Agent部署与百炼Token Plan配置指南
猜你喜欢