关于Spring AI Alibaba
前言
Spring AI在2024年2月发布了第一个公开可用版本。从此Java有了官方支持的AI框架,相对于LangChain4J,Spring AI天生建立在Spring的基础上,与Spring和SpringBoot的结合更加的紧密。
2024年9月,阿里云开源了Spring AI Alibaba,这个项目已经发布了1.0 GA正式版,并在阿里双11核心系统中验证,支持每秒百万级智能体交互,平均决策延迟控制在8ms以内。
一、Spring AI Alibaba是什么?
Spring AI,它是Spring官方推出的AI应用开发框架。而Spring AI Alibaba,则是阿里云在Spring AI基础上做的增强版。
根据官方博客介绍,Spring AI Alibaba的开源团队正是当年开源Apache Dubbo和Spring Cloud Alibaba的同一批人。
他们深刻理解应用开发框架对加速开发所起到的不可替代的作用。
2023-2024年期间,LangChain和Dify为开发者们提供了极大便利,但彼时仍缺少一个专门面向Java开发者的AI应用开发框架。
阿里团队确信,Java开发者是AI应用生态不可或缺的群体,能加速AI在各行业的落地。
幸运的是,Spring AI在2024年2月发布了第一个公开可用版本。
阿里团队基于Spring AI向上做了抽象和功能增强,在2024年9月开源了Spring AI Alibaba,希望借助本地化服务和阿里实践经验,更好地服务Java开发者。
一句话定位:连接企业的数据和API与AI模型,帮助Java开发者快速构建AI智能体应用的企业级框架。
二、Spring AI Alibaba vs Spring AI区别
这是大家最关心的问题。
根据官方文档,两者的定位和核心能力有显著差异:
定位不同
|
对比维度 |
Spring AI |
Spring AI Alibaba |
|---|---|---|
| 定位 |
AI应用开发的底层框架 |
AI智能体开发框架 |
| 核心目标 |
提供AI开发的原子能力抽象 |
帮助开发者更容易构建智能体应用 |
| 类比 |
LangChain |
LangChain + LangGraph |
| 关注点 |
模型接入、工具定义、向量数据库访问 |
工作流编排、多智能体协作、生产落地 |
功能对比
|
功能维度 |
Spring AI |
Spring AI Alibaba |
|---|---|---|
| Spring Boot集成 |
原生支持 |
原生支持,更深度 |
| 多智能体支持 |
❌ 不支持 |
✅ Graph框架支持 |
| 工作流编排 |
❌ 不支持 |
✅ 内置工作流节点 |
| 提示词管理 |
硬编码 |
✅ Nacos配置中心动态管理 |
| MCP分布式部署 |
基础支持 |
✅ Nacos MCP Registry |
| 可观测性 |
基础埋点 |
✅ ARMS深度集成 |
| 开发效率组件 |
较少 |
✅ 调试工具、代码生成 |
| 示例丰富度 |
较少 |
✅ 官方Playground完整示例 |
架构对比

简单来说,Spring AI是LangChain,Spring AI Alibaba是LangChain + LangGraph。
三、框架解析
3.1 架构解析
理解Spring AI Alibaba的架构,是掌握它的关键。
根据官方文档,它采用了四层模块化架构:

3.2 GraphCore:工作流运行时引擎
GraphCore是Spring AI Alibaba的核心底层,基于有向无环图(DAG)的工作流执行引擎。它包含几个关键组件:
StateGraph:声明式构建工作流
StateGraph<MyState> graph = new StateGraph<>(MyState.class)
.addNode("step1", node1)
.addNode("step2", node2)
.addEdge("step1", "step2")
.addConditionalEdge("step2", condition)
.build();
CheckpointSaver:状态持久化,支持内存、PostgreSQL、Redis、文件系统等多种后端
3.3 AgentFramework:智能体抽象层
这一层提供了开箱即用的智能体模式:
|
组件 |
描述 |
适用场景 |
|---|---|---|
|
ReactAgent |
基础ReAct模式智能体 |
通用对话任务 |
|
SequentialAgent |
顺序执行多个Agent |
流水线处理 |
|
ParallelAgent |
并行执行多个Agent |
并发任务处理 |
|
SupervisorAgent |
监督者模式,协调多个子Agent |
复杂任务调度 |
|
LoopAgent |
循环执行直到满足条件 |
迭代优化任务 |
3.4 Graph多智能体框架:最大的差异化
Spring AI Alibaba最核心的差异化能力是Graph多智能体框架。
这是Spring AI本身不具备的。
基于Graph,开发者可以轻松构建:
-
工作流(Workflow):以相对固化的模式拆解任务,确定性强
-
多智能体(Multi-agent):多个子智能体间通过通信协作完成复杂任务
Graph内置了大量预置节点,与主流低代码平台对齐:
|
节点类型 |
功能 |
使用场景 |
|---|---|---|
|
LlmNode |
大模型节点 |
内容生成、总结 |
|
QuestionClassifierNode |
问题分类节点 |
意图识别 |
|
ToolNode |
工具节点 |
函数调用 |
|
HumanNode |
人工确认节点 |
人机协同 |
|
BranchNode |
分支节点 |
条件路由 |
|
ParallelNode |
并行节点 |
并发执行 |
官方数据显示:使用Spring AI Alibaba Graph,开发者可以把MultiAgent实现时间从5天压缩到5小时。
3.5 企业级MCP集成
Spring AI Alibaba MCP Gateway基于Nacos提供的MCP server registry实现,为普通应用建立一个中间代理层。
核心能力:
-
将Nacos中注册的服务信息转换成MCP协议的服务器信息
-
实现协议转化,将MCP协议转换为对后端HTTP、Dubbo等服务的调用
-
无需对原有业务代码进行改造,新增或删除MCP服务无需重启代理应用
3.6 分布式多智能体支持
Spring AI Alibaba与Nacos协同发布了分布式Multi-Agent构建方案。
从2025年10月开始,Nacos 3.1.0引入了A2A(Agent-to-Agent)注册中心功能,提供轻量化的Agent服务注册与发现能力。
为什么需要分布式多智能体?
-
组织协同困难:交易智能体和搜索智能体更适合由不同团队独立维护
-
可用性难保证:所有智能体共享同一进程资源,一个出问题可能导致全部不可用
-
存在安全风险:内存与上下文共享导致权限边界模糊
基于Spring AI Alibaba + Nacos,开发者可以像构建微服务一样构建分布式Multi Agent系统,实现智能体弹性伸缩与跨团队解耦。
3.7 生态集成
Spring AI Alibaba深度集成了阿里云的企业级基础设施:
-
百炼平台集成:提供RAG知识库管理、模型服务调用
-
Nacos MCP Registry:支持MCP Server分布式部署与负载均衡
-
ARMS可观测性:自动埋点,兼容OpenTelemetry
-
Higress AI网关:提供模型代理、流量管控
-
析言ChatBI:自然语言到SQL自动生成
四、快速上手实战
4.1 环境搭建
在pom.xml中添加依赖:
<properties>
<java.version>21</java.version>
<spring-ai-alibaba.version>1.0.0.2</spring-ai-alibaba.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
<version>${spring-ai-alibaba.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-milestones</id>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
在application.yml中配置API Key:
spring:
ai:
dashscope:
api-key: ${AI_DASHSCOPE_API_KEY}
server:
port: 8080
4.2 基础对话接口
@RestController
@RequestMapping("/api/ai")
publicclass AIController {
privatefinal ChatClient chatClient;
public AIController(ChatClient.Builder builder) {
this.chatClient = builder.build();
}
@GetMapping("/chat")
public String chat(@RequestParam String message) {
return chatClient.prompt()
.user(message)
.call()
.content();
}
}
只需这几行代码,一个AI对话接口就完成了!
4.3 流式响应
@GetMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<String> stream(@RequestParam String message) {
return chatClient.prompt()
.user(message)
.stream()
.content();
}
4.4 函数调用(Tool Calling)
通过@Tool注解,让AI可以调用你的Java方法:
@Component
publicclass WeatherService {
@Tool(description = "根据城市名称查询天气")
public String getWeather(@ToolParam(description = "城市名称") String city) {
// 调用天气API
return weatherApi.get(city);
}
}
@RestController
@RequestMapping("/api/ai")
publicclass ToolController {
privatefinal ChatClient chatClient;
privatefinal WeatherService weatherService;
public ToolController(ChatClient.Builder builder, WeatherService weatherService) {
this.chatClient = builder.build();
this.weatherService = weatherService;
}
@GetMapping("/weather")
public String weather(@RequestParam String city) {
return chatClient.prompt()
.user("查询" + city + "的天气")
.tools(weatherService)
.call()
.content();
}
}
4.5 RAG智能问答
基于向量检索的增强生成示例:
AI写代码go运行
![]()
4.6 智能体(Agent)开发
使用AgentFramework构建智能体:
@Bean
public VectorStore vectorStore() {
MilvusVectorStore store = new MilvusVectorStore();
store.setCollectionName("qa_knowledge");
store.setDimension(768);
return store;
}
@PostMapping("/search")
public String search(@RequestParam String query) {
// 向量检索
List<Document> docs = vectorStore.similaritySearch(
SearchRequest.query(query).withTopK(3)
);
String context = docs.stream()
.map(Document::getContent)
.collect(Collectors.joining("\n\n"));
return chatClient.prompt()
.system("基于以下资料回答问题:" + context)
.user(query)
.call()
.content();
}
@Agent
publicclass OrderProcessingAgent {
@Autowired
private InventoryAgent inventoryAgent;
@Autowired
private PaymentAgent paymentAgent;
@Action
public OrderResult handle(OrderRequest request) {
// 1. 检查库存
if (!inventoryAgent.checkStock(request.getProductId(), request.getQuantity())) {
return OrderResult.failed("库存不足");
}
// 2. 处理支付
PaymentResult payment = paymentAgent.process(request.getAmount());
if (!payment.isSuccess()) {
return OrderResult.failed("支付失败");
}
// 3. 扣减库存
inventoryAgent.deduct(request.getProductId(), request.getQuantity());
return OrderResult.success("订单创建成功");
}
}
五、架构全景图

六、优缺点与使用场景
优点
-
Java生态深度融合:与Spring Boot、Spring Cloud无缝集成,复用现有开发经验
-
多智能体编排能力:Graph框架支持工作流和多智能体,这是Spring AI不具备的
-
企业级特性完备:分布式MCP、可观测性、动态配置管理、权限控制
-
国产化支持:深度适配通义千问、DashScope等国内模型和服务
-
性能卓越:阿里双11核心系统验证,百万级智能体交互,8ms延迟
-
开发效率高:预置节点、代码生成工具、官方Playground示例
缺点
-
学习曲线:需要理解Graph、工作流、多智能体等概念
-
Java版本要求:需要JDK 17+
-
与阿里云耦合:部分功能依赖阿里云服务(但核心Graph框架可独立使用)
-
框架相对较重:相比轻量级方案有更多依赖
适用场景
强烈推荐使用:
-
已有Spring Boot/Spring Cloud技术栈的企业
-
需要构建工作流或多智能体应用的项目
-
对可观测性、配置管理有要求的企业级应用
-
数据安全要求高、需要私有化部署的场景
-
需要RAG知识库、NL2SQL等企业级能力的项目
不适合的场景:
-
简单的单次对话调用(用Spring AI就够了)
-
非Java技术栈的项目
-
对JDK 8有强依赖的遗留系统
七、与主流框架对比
根据最新的框架对比报告,Spring AI Alibaba在Java生态中具有明显优势:
|
对比维度 |
Spring AI Alibaba |
LangChain4j |
AgentScope |
|---|---|---|---|
| 编程语言 |
Java |
Java |
Python |
| Spring Boot集成 |
原生支持 |
社区适配 |
不支持 |
| 多智能体 |
✅ Graph框架 |
需自行实现 |
⭐⭐⭐⭐⭐ |
| 工作流 |
✅ 内置支持 |
❌ |
❌ |
| MCP分布式 |
✅ Nacos Registry |
基础支持 |
基础支持 |
| 可观测性 |
✅ ARMS集成 |
部分支持 |
部分支持 |
| 企业级特性 |
⭐⭐⭐⭐⭐ |
⭐⭐⭐ |
⭐⭐⭐⭐ |
| 开发效率 |
⭐⭐⭐⭐⭐ |
⭐⭐⭐ |
⭐⭐⭐⭐ |
| 综合评分 | 8.8 |
7.6 |
8.2 |
数据来源:Agent开发框架对比分析报告,2025年
八、未来规划
Spring AI Alibaba团队将持续投入,主要体现在三个方向:
-
跟进Spring AI演进:持续发版解决企业应用过程中遇到的问题
-
底层升级支持AgentScope:做好阿里云、AgentScope与Spring生态的连接
-
全面升级Admin平台:打造企业级Agent构建与交付平台
总结
Spring AI Alibaba是阿里云为Java开发者量身打造的AI应用开发框架。
它继承了Spring生态的优雅设计,整合了阿里云的AI能力和云原生基础设施,让Java开发者可以用熟悉的开发模式构建企业级AI应用。
核心亮点总结:
-
四层模块化架构:从原子能力到智能体框架,层层递进
-
智能体模式丰富:ReactAgent、SupervisorAgent、SequentialAgent等开箱即用
-
生态集成完善:DashScope、Nacos、Higress、MCP、A2A全支持
-
生产级性能:百万级智能体交互,8ms延迟
-
开发效率提升:官方数据显示可将MultiAgent开发从5天压缩到5小时
如果你正在用Java做企业级应用开发,又想拥抱AI,Spring AI Alibaba值得你认真研究。
项目地址:
-
GitHub:https://github.com/alibaba/spring-ai-alibaba
-
文档:https://java2ai.com/
-
Spring AI Alibaba 概述-Alibaba CloudSpring Cloud AlibabaOfficial Website
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)