solace-agent-mesh
基于Solace Broker的事件驱动多代理AI编排框架,深度集成Google ADK与MCP/A
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于Solace Broker的事件驱动多代理AI编排框架,深度集成Google ADK与MCP/A
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是一家电商公司的老板。今天,你让客服AI去查库存,它回答"我不知道,你去问仓库AI"。然后仓库AI说"我这里只管物流,你问采购AI"。你的客户等了5分钟,问题还没解决。这就是传统AI Agent的困境——每个Agent都是一座孤岛,信息在传递中丢失,效率在等待中损耗。
Solace Agent Mesh(以下简称 SAM)想要彻底解决这个问题。它让一群专业AI Agent像交响乐团一样配合:一个负责分析数据,一个负责生成文案,一个负责对接用户——但它们之间不再需要"人"来做中间人,而是通过事件流消息队列直接对话。这就是"Event-Driven Multi-Agent"架构的核心思想。
Solace是一家老牌企业消息中间件公司,其产品Solace Event Broker是金融、电信、物流等行业核心系统的数据枢纽,支撑着全球数万亿条消息的传输。
2024年,随着AI Agent浪潮兴起,SolaceLabs(Solace的创新实验室)意识到:现有的Agent框架(如LangChain、AutoGen)大多是同步调用式——Agent A调用Agent B,B返回结果给A,这是典型的一问一答模式。这与Solace擅长的异步事件驱动架构天然互补。
于是他们将Solace Event Broker的能力与Google的Agent Development Kit (ADK)结合,诞生了Solace Agent Mesh。它让AI Agent之间的通信从"打电话"变成"发广播"——一个Agent发布事件,其他所有Agent都可以订阅并响应,从而实现真正的并行协作。

图1:Solace AI Framework 架构图 —— 展示了 SAM 如何通过 Solace Event Broker 连接多个AI Agent和服务
SAM 遵循 Agent2Agent (A2A) 协议,这是Google、Solace、Spring等多家厂商联合推动的开放标准。简单理解:A2A就是AI世界里的"USB接口"——只要支持这个协议,无论哪个公司开发的Agent,都可以互相通信。
这意味着什么?你可以用Solace的Agent做数据处理,用Anthropic的Claude做推理,用LangGraph定义工作流,它们通过A2A协议无缝协作,而不需要为每个系统写定制化的集成代码。
SAM 支持构建以下类型的专业Agent:
1. Orchestrator Agent(编排Agent)
这是整个系统的"总指挥"。当你给SAM一个复杂任务时(如"分析Q2销售数据并生成报告"),Orchestrator会自动拆解任务,判断哪些子任务该分配给哪个专业Agent,并跟踪执行进度。它利用LLM的推理能力来规划工作流。
2. Database Agent(数据库Agent)
专门负责与数据库交互。可以执行SQL查询、读取结构化数据、生成数据报表。对于需要实时业务数据的AI应用,这个Agent是必备的。
3. Multimodal Agent(多模态Agent)
能处理图像、音频、视频的生成和理解。比如:接收一段产品描述文字,自动生成商品图片;或者分析用户上传的截图,理解其中的内容并给出响应。
4. Custom Tool Agent(自定义工具Agent)
开发者可以通过SAM的插件机制,将任意API或工具封装成Agent。无论是Slack通知、邮件发送、还是第三方SaaS服务,都可以快速接入。
5. REST/WebSocket Gateway Agent
提供标准化的HTTP接口,让外部系统(网页、移动端、甚至其他AI系统)可以与Agent Mesh通信。这意味着SAM不仅服务于后端,还可以作为前端AI对话系统的"大脑"。

图2:Agent Mesh 架构图 —— 展示了多个专业Agent通过 Solace Event Broker 互联的拓扑结构
SAM 的核心代码用Python编写,依赖质量相当高:
| 层级 | 技术选型 | 说明 |
|---|---|---|
| Agent框架 | Google ADK 1.18 | Google的官方Agent开发工具包,提供Agent定义、工具调用、对话管理等核心能力 |
| 消息通信 | Solace AI Connector 3.3 | Solace的核心连接器,负责事件驱动的消息传递 |
| LLM集成 | litellm 1.83 | 支持OpenAI、Anthropic、Google、Azure等40+大模型API的统一封装 |
| A2A协议 | a2a-sdk 0.3.7 | Agent2Agent协议官方SDK |
| 后端框架 | FastAPI 0.120 + Flask 3.1 | FastAPI处理API网关,Flask处理传统Web请求 |
| 数据处理 | pandas 2.3 + numpy 2.2 | 数据分析和数值计算 |
| WebUI | Node.js + React | 提供图形化配置界面(config_portal) |
| 容器化 | 多阶段Dockerfile | 包含UI构建、Python依赖安装、运行时分离 |
SAM 使用 uv 作为包管理器(比pip快10倍),并通过 pyproject.toml 严格定义依赖版本。
SAM 提供了多种安装方式,对新手最友好的是 pip安装:
pip install solace-agent-mesh
安装完成后,配置你的LLM API Key(支持OpenAI、Claude、 Gemini等任意litellm支持的模型):
export OPENAI_API_KEY=sk-xxxx
# 或
export GOOGLE_GENAI_API_KEY=xxxx
然后启动WebUI:
solace-agent-mesh webui
访问 http://localhost:8000,你就能看到SAM的图形化配置界面,可以在这里定义Agent、配置工具、查看运行状态。
如果需要完整功能(含所有示例和工具),可以克隆源码后运行:
git clone https://github.com/SolaceLabs/solace-agent-mesh
cd solace-agent-mesh
pip install -e .
solace-agent-mesh run examples/quickstart/
Docker用户也有专门的优化版多阶段构建Dockerfile,可以直接构建镜像。
SAM 并非没有缺点,在实际使用中需要留意:
1. Solace Broker是隐形成本
SAM 依赖 Solace Event Broker 作为消息中枢。Solace Broker有开源版(支持100并发连接),但生产环境通常需要商业版。对于中小企业来说,这是一笔不小的开支,也是SAM商业化路径上的一个关键卡点。
2. 配置复杂度较高
虽然SAM自称"5分钟快速上手",但这仅指安装。要真正让多个Agent协同工作,需要理解事件驱动编程、Agent定义、工具注册等一系列概念,学习曲线比单Agent框架(如LangChain)陡峭。
3. Python 3.10.16是硬性要求
项目对Python版本有下限要求(>=3.10.16),意味着老项目迁移有一定成本。另外截至分析时,SAM仅支持到Python 3.13,尚未跟进3.14。
4. 商业支持依赖Solace
作为SolaceLabs的产品,SAM的长期维护与Solace公司的战略方向强绑定。如果Solace调整AI投入,这个项目的生命力会受到影响。相比之下,纯社区驱动的框架(如AutoGen)在这方面风险更低。
SAM 的出现代表了一种重要的技术趋势:从"单体Agent"到"Agent Mesh"的范式转变。
传统AI应用像一台功能手机——什么都能做,但每次只能做一件事。SAM让AI应用变成智能手机——多个App(Agent)并行运行,各司其职,通过统一消息总线(Event Broker)实时协作。这不仅是架构层面的改进,更代表了AI应用从"工具"到"平台"的进化。
从数据看,SAM获得了Solace的官方背书和较为活跃的社区维护(Stars持续增长),加上A2A协议正在成为行业标准,SAM有潜力成为企业级多Agent系统的首选框架之一。
图3:Solace Agent Mesh 仓库封面图