Spring AI Alibaba 多智能体系统实战:从入门到精通,收藏这份开发指南
本文深入浅出地介绍了多智能体系统的核心概念与优势,对比了其与单体智能体的区别。文章重点讲解了 Spring AI Alibaba 支持的多种多智能体模式,包括顺序执行、并行执行、路由模式和监督者模式,并提供了完整的代码示例。此外,还分享了实现多智能体系统时的注意事项,如上下文工程、Agent 描述的重要性、错误处理与重试策略,以及性能优化技巧。最后,探讨了多智能体系统的扩展应用场景和最佳实践,为开发者构建复杂的 AI 应用提供了实用指导。
1、 引言
在单体智能体(Single-agent)架构中,一个 Agent 需要处理所有任务——从理解用户意图、规划步骤、调用工具到生成最终答案。随着任务复杂度的提升,这种“全能型” Agent 往往会面临上下文爆炸、工具选择困难和专业化不足等问题。
多智能体(Multi-agent)系统通过将复杂任务分解为多个协同工作的专业化 Agent,有效解决了这些问题。本文将基于 Spring AI Alibaba,深入浅出地讲解 Multi-agent 的核心概念、实现模式及最佳实践,并提供完整的代码示例。
本文代码示例基于 Spring AI Alibaba 1.0.0+ 版本,完整项目代码可参考 Java2AI Multi-agent 文档。
2、什么是 Multi-agent?
2.1 核心定义
Multi-agent 是指由多个智能体组成的系统,这些智能体通过协作完成复杂任务。与单体智能体不同,Multi-agent 系统中的每个 Agent 通常具备特定的专业领域或职责。
2.2 与单体智能体的对比

| 特性 | 单体智能体 (Single-agent) | 多智能体 (Multi-agent) |
|---|---|---|
| 职责 | 全能型,处理所有任务 | 专业化,分工明确 |
| 上下文 | 所有信息集中在一个 Agent | 上下文按需分配给不同 Agent |
| 工具数量 | 可能过多,导致选择困难 | 每个 Agent 拥有少量专用工具 |
| 扩展性 | 随任务复杂度线性增长 | 通过增加 Agent 横向扩展 |
| 适用场景 | 简单任务、快速原型 | 复杂工作流、企业级应用 |
3、 Multi-agent 能解决什么问题?
3.1 单体智能体的局限性
-
上下文窗口限制
长对话历史会迅速填满上下文窗口,导致模型性能下降。
-
工具选择困难
当 Agent 拥有几十个工具时,LLM 很难准确选择最合适的工具。
-
专业化不足
一个 Agent 难以同时精通写作、编程、数据分析等多个领域。
-
状态管理复杂
复杂任务的状态追踪困难,容易丢失中间步骤。
3.2 Multi-agent 的优势
-
上下文隔离
每个 Agent 只关注自己需要的信息,减少上下文污染。
-
工具精简
每个 Agent 只配备必要的工具,提高工具调用准确率。
-
专业化分工
不同 Agent 专注不同领域,提升任务处理质量。
-
灵活编排
通过组合不同模式(顺序、并行、路由),构建复杂工作流。
4、 Spring AI Alibaba 中的 Multi-agent 模式
Spring AI Alibaba 支持多种 Multi-agent 模式,每种模式适用于不同的场景:

4.1 顺序执行(Sequential Agent)
场景:任务需要按固定顺序执行,前一步的输出是后一步的输入。
流程:
Agent A (处理) → 输出 → Agent B (处理) → 输出 → Agent C (最终结果)
示例:写作工作流
-
Writer Agent
根据用户需求撰写文章
-
Reviewer Agent
评审并修改文章
-
Translator Agent
翻译成目标语言
4.2 并行执行(Parallel Agent)
场景:多个任务可以同时进行,最后合并结果。
流程:
┌─ Agent A ─┐输入 ─┼─ Agent B ─┼─ 合并输出 └─ Agent C ─┘
示例:研究工作流
-
Web Research Agent
从互联网搜索信息
-
DB Research Agent
从数据库查询信息
-
Merge Agent
合并所有来源的数据
4.3 路由模式(LlmRoutingAgent)
场景:根据用户输入动态选择最合适的 Agent。
流程:
用户输入 → Router Agent (LLM决策) → 选择子 Agent → 执行 → 返回结果
示例:客服系统
- 用户问技术问题 →路由到 Technical Support Agent
- 用户问账单问题 →路由到 Billing Agent
- 用户问退货问题 →路由到 Return Agent
4.4 监督者模式(SupervisorAgent)
场景:复杂多步骤任务,需要动态决策下一步执行哪个 Agent。
流程:
用户输入 → Supervisor Agent → 选择子 Agent → 执行 → 返回 Supervisor → 决策下一步...
示例:内容处理工作流
- Supervisor 接收"写一篇关于春天的文章并翻译成英文"
- 路由到 Writer Agent 写文章
- Writer 完成后返回 Supervisor
- Supervisor 路由到 Translator Agent 翻译
- 返回最终结果
5、 技术实现:基于 Spring AI Alibaba
5.1 项目依赖
首先在 pom.xml 中引入 Spring AI Alibaba 依赖:
<dependencies> <!-- Spring AI Alibaba 核心 --> <dependency> <groupId>com.alibaba.cloud.ai</groupId> <artifactId>spring-ai-alibaba-agent-framework</artifactId> <version>${ali-version}</version> </dependency> <!-- Spring Boot Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency></dependencies>
5.2 核心概念:OverAllState
在 Multi-agent 系统中,OverAllState 是贯穿所有 Agent 的共享状态容器。它存储了对话历史、中间结果和全局变量。

// OverAllState 自动管理,无需手动创建// Agent 通过 outputKey 将输出存入状态// 后续 Agent 通过占位符 {key} 引用状态中的值
5.3 Instruction 占位符
Agent 之间的数据传递通过 Instruction 占位符 实现:
// 第一个 Agent:写文章ReactAgentwriterAgent= ReactAgent.builder() .name("writer_agent") .instruction("你是一个作家,请根据用户提问写作:{input}") .outputKey("article") // 输出存入状态,key 为 "article" .build();// 第二个 Agent:评审文章ReactAgentreviewerAgent= ReactAgent.builder() .name("reviewer_agent") .instruction("请评审文章:{article}") // 通过 {article} 引用前序输出 .outputKey("reviewed_article") .build();
在alibaba的框架中,支持的占位符
| 占位符 | 说明 | 使用场景 |
|---|---|---|
| {input} | 用户输入的原始内容 | 第一个Agent或需要用户输入的 Agent |
| {outputKey} | 引用其他Agent通过 outputKey 存储的输出 | 顺序执行中,后续Agent引用前面Agent的输出 |
| {stateKey} | 引用状态中的任意键值 | 访问状态中的任何数据 |
占位符工作原理
自动替换:系统会在执行 Agent 的 instruction 时,自动将占位符替换为对应的实际值 状态查找:占位符会从当前状态(OverAllState)中查找对应的值 类型安全:占位符的值会被转换为字符串并插入到 instruction 中
6、 实战示例:写作与评审工作流
我们将实现一个顺序执行的 Multi-agent 系统:Writer Agent 负责写作,Reviewer Agent 负责评审。

6.1 创建 Writer Agent
import com.alibaba.cloud.ai.graph.agent.ReactAgent;import org.springframework.ai.chat.model.ChatModel;publicclassWriterAgentFactory { publicstatic ReactAgent create(ChatModel chatModel) { return ReactAgent.builder() .name("writer_agent") .model(chatModel) .description("专业写作 Agent,擅长创作各类文章") .instruction(""" 你是一位知名作家,擅长创作各类文章。 请根据用户的提问进行回答,文章长度控制在 200 字左右。 用户提问:{input} """) .outputKey("article") .build(); }}
6.2 创建 Reviewer Agent
public class ReviewerAgentFactory { public static ReactAgent create(ChatModel chatModel) { return ReactAgent.builder() .name("reviewer_agent") .model(chatModel) .description("专业评审 Agent,擅长修改和润色文章") .instruction(""" 你是一位资深评论家,擅长对文章进行评审和修改。 待评审文章:{article} 请确保: 1. 文章包含对西湖风景的描述 2. 语言优美流畅 3. 最终只返回修改后的文章,不要包含任何评论信息 """) .outputKey("reviewed_article") .build(); }}
6.3 创建顺序执行工作流
import com.alibaba.cloud.ai.graph.agent.flow.agent.SequentialAgent;import java.util.List;publicclassBlogWorkflowFactory { publicstatic SequentialAgent create(ChatModel chatModel) { // 创建子 Agent ReactAgentwriterAgent= WriterAgentFactory.create(chatModel); ReactAgentreviewerAgent= ReviewerAgentFactory.create(chatModel); // 创建顺序执行的 Multi-agent return SequentialAgent.builder() .name("blog_workflow") .description("写作与评审工作流:先写文章,再评审修改") .subAgents(List.of(writerAgent, reviewerAgent)) .build(); }}
6.4 执行工作流
import com.alibaba.cloud.ai.graph.OverAllState;import java.util.Optional;publicclassMultiAgentDemo { publicstaticvoidmain(String[] args) { // 假设已初始化 ChatModel ChatModelchatModel=/* ... */; // 创建工作流 SequentialAgentworkflow= BlogWorkflowFactory.create(chatModel); // 执行任务 Optional<OverAllState> result = workflow.invoke("帮我写一篇 100 字左右的西湖散文"); // 处理结果 if (result.isPresent()) { OverAllStatestate= result.get(); // 访问第一个 Agent 的输出 state.value("article").ifPresent(article -> { System.out.println("原始文章: " + article); }); // 访问第二个 Agent 的输出 state.value("reviewed_article").ifPresent(reviewedArticle -> { System.out.println("评审后文章: " + reviewedArticle); }); } }}
6.5 运行结果示例
原始文章: 西湖,位于杭州城西,是一颗璀璨的明珠。湖水清澈见底,四周绿树成荫...评审后文章: 西湖,位于杭州城西,是一颗璀璨的明珠。湖水清澈见底,四周绿树成荫,远处的雷峰塔倒映在水中...
7、 实现注意事项
7.1 上下文工程(Context Engineering)
核心原则:确保每个 Agent 只看到它需要的信息。
-
避免上下文污染
不要将所有历史记录都传递给每个 Agent
-
合理使用 outputKey
明确每个 Agent 的输出键名
-
控制推理内容
通过
returnReasoningContents控制是否包含中间推理
7.2 Agent 描述的重要性
在路由模式(LlmRoutingAgent)中,Agent 的 description 至关重要:
// ✅ 好的描述:明确职责边界.description("专门处理编程问题,包括代码编写、调试、优化,擅长 Java/Python")// ❌ 不好的描述:模糊不清.description("处理各种问题")
7.3 错误处理与重试
-
最大迭代次数
设置合理的最大迭代次数防止无限循环
-
异常捕获
捕获工具调用异常,返回友好错误信息
-
状态恢复
使用
MemorySaver保存状态,支持中断恢复
7.4 性能优化
-
并行执行
独立任务使用 ParallelAgent 并行处理
-
缓存机制
对重复查询结果进行缓存
-
流式输出
使用流式处理提升用户体验
8、 扩展应用场景

8.1 智能客服系统
Supervisor Agent├── Technical Support Agent (技术问题)├── Billing Agent (账单问题)└── Return Agent (退货问题)
8.2 数据分析工作流
Sequential Agent├── Data Collection Agent (数据收集)├── Data Cleaning Agent (数据清洗)├── Analysis Agent (数据分析)└── Report Agent (报告生成)
8.3 研究助手
Parallel Agent├── Web Research Agent (网络搜索)├── Paper Research Agent (论文检索)└── Database Agent (数据库查询)
9、 最佳实践总结
-
明确职责
每个 Agent 只做一件事,做到极致
-
合理编排
根据任务特点选择合适的模式(顺序/并行/路由)
-
上下文隔离
通过 outputKey 和占位符控制信息流动
-
描述清晰
为每个 Agent 编写明确的描述,便于路由决策
-
错误处理
设置最大迭代次数,捕获异常,提供友好提示
-
性能优化
并行执行独立任务,使用流式输出
10、 总结
Multi-agent 系统通过专业化分工和灵活编排,有效解决了单体智能体在复杂任务中的局限性。Spring AI Alibaba 提供了丰富的 Multi-agent 模式(Sequential、Parallel、Routing、Supervisor),让开发者能够轻松构建复杂的 AI 应用。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套 AI 大模型突围资料包:
- ✅ 从零到一的 AI 学习路径图
- ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
- ✅ 百度/阿里专家闭门录播课
- ✅ 大模型当下最新行业报告
- ✅ 真实大厂面试真题
- ✅ 2026 最新岗位需求图谱
所有资料 ⚡️ ,朋友们如果有需要 《AI大模型入门+进阶学习资源包》,下方扫码获取~
① 全套AI大模型应用开发视频教程
(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)
② 大模型系统化学习路线
作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!
③ 大模型学习书籍&文档
学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
④ AI大模型最新行业报告
2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
⑤ 大模型项目实战&配套源码
学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
⑥ 大模型大厂面试真题
面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

以上资料如何领取?

为什么大家都在学大模型?
最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

不出1年,“有AI项目经验”将成为投递简历的门槛。
风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!

这些资料真的有用吗?
这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

以上全套大模型资料如何领取?

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)