前言
最近有球友问:"三哥,Spring AI 2.0和Spring AI Alibaba,到底该选哪个?"
这两个框架,一个背靠Spring官方,一个背靠阿里云,都是2026年Java AI开发领域最炙手可热的存在。
Spring AI 2.0刚刚在2026年6月12日正式发布GA版本,基于Spring Boot 4.1和Spring Framework 7.0构建。
而Spring AI Alibaba也于2026年5月13日发布了1.0 GA版本 ,至今已累计获得10k+ Star。
很多小伙伴看了网上的文章更糊涂了------有人说Spring AI是"Java界的LangChain",有人说Spring AI Alibaba是"Java界的LangGraph"。
听着都有道理,但到底怎么选,还是一头雾水。
今天这篇文章就专门跟大家一起聊聊这个话题,希望对你会有所帮助。
更多项目实战在我的技术网站:susan.net.cn/project
一、一张图看懂两者的本质差异
在深入细节之前,我们先建立一个整体认知。

有个观点非常精准:两者并非简单的替代关系,而是基础原子抽象与高级企业级编排运行时之间的互补关系。
Spring AI 2.0的官方使命是 "connecting your enterprise Data and APIs with the AI Models" ------不是"让你的Java系统拥有自主智能体",而是"让LLM像JDBC、JMS、WebClient那样成为企业系统里一个可插拔的中间件"。Spring团队刻意没把Spring AI做成一个Agent Framework。
而Spring AI Alibaba在Spring AI底层抽象的基础上,补充了构建企业级生产系统所需的关键组件------其核心聚焦于多智能体编排(Multi-Agent Orchestration)。如果说Spring AI是Java领域的LangChain,那么Spring AI Alibaba则更接近于Java领域的LangGraph。
一句话总结:Spring AI解决的是"怎么接入AI",Spring AI Alibaba解决的是"怎么让多个AI协同工作"。
二、Spring AI 2.0
2.1 它是什么?
Spring AI是Spring官方推出的AI应用开发框架,其核心目标是将Spring生态系统的设计原则------高度的可移植性、依赖注入、模块化设计以及基于POJO的应用构建方式------引入AI领域。
Spring AI 2.0构建在Spring Boot 4.1和Spring Framework 7.0之上,代码库现已全面采用JSpecify空值安全注解 ,并升级到了Jackson 3序列化。
2.2 核心架构
Spring AI采用了分层架构设计:

- 模型适配层:负责与不同的AI模型提供商通信,将统一的API调用转换为各个厂商特定的请求格式
- 核心抽象层:定义了Spring AI的核心接口,如ChatClient、EmbeddingClient、ImageClient等
- 高级功能层:构建了提示词模板、函数调用、RAG、Agent等高级功能
- 集成层:提供与Spring生态其他组件的集成能力
2.3 2.0版本的核心升级
Spring AI 2.0是一次重大的架构重构,而不仅仅是依赖版本升级。核心变化包括:
① Tool Calling成为一等公民
在2.0中,Tool Calling被提升为ChatClient Advisor Chain中的一等公民、可组合组件 。工具调用循环从每个ChatModel中剥离,统一由ChatClient通过ToolCallingAdvisor在外部处理。
② 全新的ToolCallback API
2.0移除了SpringBeanToolCallbackResolver和toolNames API,工具现在必须显式注册为ToolCallback Bean并通过.tools()传递。同时新增了ToolSearchToolCallingAdvisor,支持按需发现和调用工具。
③ 结构化输出增强
2.0新增了自修正结构化输出(Self-Correcting Structured Output) 能力,并提供EntityParamSpec支持每次调用的结构化输出配置。
④ 内存管理优化
MessageWindowChatMemory支持按消息边界(turn-boundary)进行截断,防止在对话中间切断。同时避免了在工具提示中重复添加聊天记忆。
⑤ 更聚焦的模型支持
Spring AI 2.0将支持的Chat Model提供商精简为核心几家:OpenAI(统一为SDK方式)、Anthropic(统一为SDK方式)、Amazon Bedrock、Google GenAI等。OpenAI兼容的API仍然可以使用。
2.4 代码示例
下面是一个使用Spring AI 2.0进行聊天和流式输出的完整示例:
java
@Service
@RequiredArgsConstructor
public class SpringAiChatService {
private final ChatClient chatClient;
// 非流式聊天
public ChatResponse chat(ChatRequest request) {
ChatResponse response = chatClient.prompt()
.user(request.getMessage())
.call()
.chatResponse();
return ChatResponse.builder()
.content(response.getResult().getOutput().getContent())
.build();
}
// 流式聊天
public Flux<ChatResponse> streamChat(ChatRequest request) {
return chatClient.prompt()
.user(request.getMessage())
.stream()
.chatResponse()
.map(response -> ChatResponse.builder()
.content(response.getResult().getOutput().getContent())
.build());
}
}
2.5 优缺点
优点:
- Spring生态无缝集成:Boot Starter一键接入,对Spring开发者最友好
- 避免供应商锁定:提供统一的ChatClient/EmbeddingClient等多模态API
- 完整的AI能力:工具调用、RAG、记忆、多模型、Agent流程编排
- 结构化输出:将非结构化自然语言精准映射为强类型Java POJO
- 生产级特性:内置重试、限流、可观测性等企业级能力
缺点:
- 定位克制:刻意不做Agent Framework,多智能体编排能力有限
- 1.x到2.0有破坏性变更:ToolCallback API等需要迁移
- 部分高级功能需自行扩展:如复杂工作流编排
2.6 适用场景
| 场景 | 推荐程度 | 理由 |
|---|---|---|
| 标准AI应用接入 | ✅✅✅ 强烈推荐 | 统一的AI编程模型,避免供应商锁定 |
| RAG应用 | ✅✅✅ 强烈推荐 | 内置向量存储、文档解析、检索增强生成 |
| 单Agent + 工具调用 | ✅✅✅ 强烈推荐 | Tool Calling是一等公民 |
| 已有Spring Boot项目 | ✅✅✅ 强烈推荐 | 无缝集成,低侵入 |
| 复杂多智能体协作 | ⚠️ 需要扩展 | 需结合Spring AI Alibaba或其他框架 |
三、Spring AI Alibaba
3.1 它是什么?
Spring AI Alibaba是阿里云基于Spring AI构建的企业级Agent框架。
它不只是Spring AI的本地化实现(如接入通义千问等国产模型),更是一个专为Java开发者量身定制的Agentic AI开发框架。
自1.1.2.x版本 起,Spring AI Alibaba已从单纯的"模型接入工具"升级为完整的智能体开发框架 。其核心架构包含六大模块,覆盖从Agent开发到可视化管理全链路。
3.2 Graph引擎:核心武器
Spring AI Alibaba的最大亮点是Graph工作流引擎,专为多Agent协作和复杂任务编排设计。
Graph是一个低级别的工作流和多代理协调框架,其核心设计理念包括:

① 多智能体协作架构
内置ReAct Agent、Supervisor等标准模式。在客服场景中,Supervisor智能体可将复杂问题拆解为多个子任务,分配给具备领域知识的ReAct Agent处理,最终汇总结果返回用户。
② 可视化工作流编排
提供与主流低代码平台对齐的节点库,包含条件分支、并行处理、异常捕获等20+种标准组件。开发者可通过拖拽方式构建复杂流程,显著降低了非专业开发者的参与门槛。
③ 状态管理增强
提供流程快照(自动保存执行状态、支持故障恢复)、记忆持久化(跨会话状态保持)、人工干预节点(插入人工确认环节)等企业级特性。
3.3 核心功能全景

具体包括:
- Multi-Agent编排 :内置
SequentialAgent、ParallelAgent、RoutingAgent、LoopAgent四种模式 - 多模态支持:ReactAgent支持文本和媒体输入(图像理解),以及基于工具的图像/音频生成
- Voice Agent:基于WebSocket的实时语音Agent
- Context Engineering:内置上下文工程策略,包括人机协同、上下文压缩、工具重试、动态工具选择等
- Graph工作流:支持条件路由、嵌套图、并行执行、状态管理,可导出PlantUML和Mermaid格式
- A2A支持:Agent-to-Agent通信,与Nacos集成实现分布式Agent协调
- 一站式Agent平台:可视化Agent开发、部署、可观测性、评估和MCP管理
3.4 1.1.2.0版本新增能力
2026年2月发布的1.1.2.0版本带来多项核心升级:
- Agent Skills支持:轻量级、开放式的格式,通过专业知识和工作流扩展Agent能力
- 多智能体并行执行:支持并行条件边、并行聚合策略(AllOf/AnyOf)
- 异步工具执行 与
returnDirect增强 - 底层Spring AI升级至1.1.2
3.5 代码示例
下面是一个使用Spring AI Alibaba构建ReAct Agent的简化示例:
java
// 1. 配置ChatModel(以通义千问DashScope为例)
@Configuration
public class AiConfig {
@Bean
public ChatModel chatModel() {
return new DashScopeChatModel(
DashScopeChatOptions.builder()
.withApiKey("your-api-key")
.withModel("qwen-max")
.build()
);
}
@Bean
public ChatClient chatClient(ChatModel chatModel) {
return ChatClient.builder(chatModel).build();
}
}
// 2. 定义Agent
@Service
public class WeatherAgentService {
@Autowired
private ChatClient chatClient;
// 使用ReAct Agent模式
public String askWeather(String question) {
// Spring AI Alibaba内置ReAct Agent
// 自动进行 思考→行动→观察 循环
return chatClient.prompt()
.system("你是一个天气查询助手,可以调用天气API工具")
.user(question)
.call()
.content();
}
}
// 3. 在Controller中使用
@RestController
public class AgentController {
@Autowired
private WeatherAgentService agentService;
@GetMapping("/ask")
public String ask(@RequestParam String question) {
return agentService.askWeather(question);
}
}
3.6 优缺点
优点:
- Graph引擎强大:专为多Agent协作和复杂任务编排设计
- 企业级特性完善:流程快照、记忆持久化、人工干预节点
- 国产模型原生支持:深度整合通义千问、通义万相等
- 可视化开发:一站式Agent平台支持拖拽式编排
- A2A分布式支持:与Nacos集成,实现分布式Agent协调
- 中文支持优秀:在国内访问性能和成本上更具优势
缺点:
- 与Spring AI 2.0版本对齐需要时间:目前基于Spring AI 1.1.2
- 学习曲线较陡:Graph引擎、多Agent模式等概念需要时间掌握
- 生态相对较新:1.0 GA于2026年5月发布,社区积累不如Spring AI
3.7 适用场景
| 场景 | 推荐程度 | 理由 |
|---|---|---|
| 多智能体协作系统 | ✅✅✅ 强烈推荐 | Graph引擎+Multi-Agent编排是核心能力 |
| 复杂工作流编排 | ✅✅✅ 强烈推荐 | 20+标准组件+可视化编排 |
| 国产大模型接入 | ✅✅✅ 强烈推荐 | 通义千问/通义万相原生支持 |
| 需要状态持久化的长流程 | ✅✅✅ 强烈推荐 | 流程快照+记忆持久化 |
| 国内部署/合规要求 | ✅✅✅ 强烈推荐 | 数据不出境,访问性能好 |
| 简单单Agent场景 | ⚠️ 可能过度设计 | Spring AI 2.0足够 |
四、全方位横向对比
4.1 核心差异一览表
| 对比维度 | Spring AI 2.0 | Spring AI Alibaba |
|---|---|---|
| 开发方 | Spring官方(VMware) | 阿里云 |
| 核心定位 | AI工程化的原子抽象 | 企业级智能体编排中心 |
| 设计哲学 | 避免供应商锁定,统一抽象 | 云原生多Agent编排 |
| 类比 | JDBC / Servlet API | LangGraph |
| 最新版本 | 2.0.0 GA(2026-06-12) | 1.1.2.0(2026-02) |
| GitHub Stars | 3.2万+ | 1万+ |
| 核心能力 | ChatClient、Tool Calling、RAG、Memory | Graph引擎、Multi-Agent、A2A、可视化平台 |
| 多Agent编排 | 基础(需自行扩展) | ✅ 原生(Sequential/Parallel/Routing/Loop) |
| Graph工作流 | ❌ | ✅ 核心特性 |
| 国产模型支持 | 通过适配器支持 | ✅ 原生深度集成 |
| 可视化开发 | ❌ | ✅ 一站式Agent平台 |
| A2A分布式 | ❌ | ✅ 与Nacos集成 |
| 学习曲线 | 低 | 中等偏高 |
| 适用场景 | 标准AI应用接入 | 复杂多Agent系统 |
4.2 两者的关系:不是替代,是互补
一个非常精准的概括是:Spring AI 2.0提供的是"原子抽象",Spring AI Alibaba提供的是"企业级编排运行时"。
Spring AI 2.0让你能接入AI------就像JDBC让你能接入数据库一样。它提供统一的ChatClient、EmbeddingClient等多模态API,消除对底层模型提供商的强依赖。
Spring AI Alibaba则在这个基础上,让你能编排多个AI------就像Spring Cloud让你能编排多个微服务一样。它通过Graph引擎、Multi-Agent模式、A2A通信等能力,把多个AI Agent组织成一个可协作、可观测、可恢复的企业级系统。
五、到底该选哪个?
选Spring AI 2.0的场景
- 你只需要接入AI能力:标准对话、RAG、单Agent + 工具调用
- 你希望避免供应商锁定:未来可能切换模型提供商
- 你追求简洁和标准化:不想引入额外的编排层
- 你的团队已经熟悉Spring生态:低学习成本
- 你不需要复杂的多Agent协作:业务场景相对简单
选Spring AI Alibaba的场景
- 你需要多Agent协作:多个AI Agent协同完成复杂任务
- 你需要复杂工作流编排:有状态、长流程、条件分支
- 你使用国产大模型:通义千问/通义万相是主力
- 你在国内部署:追求低延迟、数据合规
- 你需要可视化开发:业务人员也能参与流程编排
- 你需要Agent间通信:分布式Agent协调
最佳实践:组合使用
两个框架不是"二选一"的关系,而是可以组合使用的。
Spring AI Alibaba本身就基于Spring AI构建,两者API兼容。
一个典型的组合方案是:
- 用Spring AI 2.0 的
ChatClient作为底层AI调用抽象 - 用Spring AI Alibaba的Graph引擎做多Agent编排
- 用Spring AI Alibaba的A2A + Nacos做分布式Agent协调
- 用Spring AI Alibaba的Admin平台做可视化监控
这样你既有Spring AI的标准化抽象,又有Spring AI Alibaba的企业级编排能力------两全其美。
更多项目实战在我的技术网站:susan.net.cn/project
六、写在最后
回到最初的问题:Spring AI 2.0和Spring AI Alibaba,哪个更好?
答案不是"谁比谁强",而是**"谁更适合你的场景"**。
Spring AI 2.0是Spring官方精心打磨的AI抽象层------克制、标准、可移植。它像JDBC一样,让你用统一的接口接入各种AI模型。如果你只需要"接入AI",它就是最好的选择。
Spring AI Alibaba是阿里云在企业级AI落地实践中沉淀出来的编排框架------强大、完整、云原生。它像Spring Cloud一样,让你能编排多个AI Agent协同工作。如果你需要"让多个AI协同工作",它就是最好的选择。
更妙的是,两者可以一起用。
Spring AI Alibaba本身就是基于Spring AI构建的,你完全可以先用Spring AI 2.0打好基础,再引入Spring AI Alibaba的Graph引擎做复杂编排。