阿里开源了一个顶级AI项目!

作者:互联网

2026-03-24

⼤语⾔模型脚本

前言

在AI技术爆发的这两年,我一直在思考一个问题:Python有LangChain,JavaScript有LangChain.js,我们Java开发者拿什么来构建AI应用?

难道每次都自己封装HTTP调用、手动处理JSON、管理会话状态吗?

直到2024年9月,阿里云开源了Spring AI Alibaba,这个局面终于被打破了。

经过一年多的演进,这个项目已经发布了1.0 GA正式版,并在阿里双11核心系统中验证,支持每秒百万级智能体交互,平均决策延迟控制在8ms以内。

今天这篇文章就跟大家一起聊聊这个顶级AI项目,希望对你会有所帮助。

一、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 graph = new StateGraph<>(MyState.class)
    .addNode("step1", node1)
    .addNode("step2", node2)
    .addEdge("step1", "step2")
    .addConditionalEdge("step2", condition)
    .build();
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

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服务注册与发现能力。

为什么需要分布式多智能体?

  1. 组织协同困难:交易智能体和搜索智能体更适合由不同团队独立维护
  2. 可用性难保证:所有智能体共享同一进程资源,一个出问题可能导致全部不可用
  3. 存在安全风险:内存与上下文共享导致权限边界模糊

基于Spring AI Alibaba + Nacos,开发者可以像构建微服务一样构建分布式Multi Agent系统,实现智能体弹性伸缩与跨团队解耦。

3.7 生态集成

Spring AI Alibaba深度集成了阿里云的企业级基础设施:

  1. 百炼平台集成:提供RAG知识库管理、模型服务调用
  2. Nacos MCP Registry:支持MCP Server分布式部署与负载均衡
  3. ARMS可观测性:自动埋点,兼容OpenTelemetry
  4. Higress AI网关:提供模型代理、流量管控
  5. 析言ChatBI:自然语言到SQL自动生成

四、快速上手实战

4.1 环境搭建

在pom.xml中添加依赖:


    21
    1.0.0.2



    
        com.alibaba.cloud.ai
        spring-ai-alibaba-starter-dashscope
        ${spring-ai-alibaba.version}
    
    
        org.springframework.boot
        spring-boot-starter-web
    



    
        spring-milestones
        https://repo.spring.io/milestone
    
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

在application.yml中配置API Key:

spring:
  ai:
    dashscope:
      api-key: ${AI_DASHSCOPE_API_KEY}
server:
  port: 8080
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

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();
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

只需这几行代码,一个AI对话接口就完成了!

4.3 流式响应

@GetMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux stream(@RequestParam String message) {
    return chatClient.prompt()
            .user(message)
            .stream()
            .content();
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

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();
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.

4.5 RAG智能问答

基于向量检索的增强生成示例:

@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 docs = vectorStore.similaritySearch(
        SearchRequest.query(query).withTopK(3)
    );
    
    String context = docs.stream()
        .map(Document::getContent)
        .collect(Collectors.joining("nn"));
    
    return chatClient.prompt()
        .system("基于以下资料回答问题:" + context)
        .user(query)
        .call()
        .content();
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

4.6 智能体(Agent)开发

使用AgentFramework构建智能体:

@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("订单创建成功");
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.

五、架构全景图

图片

六、优缺点与使用场景

优点

  1. Java生态深度融合:与Spring Boot、Spring Cloud无缝集成,复用现有开发经验
  2. 多智能体编排能力:Graph框架支持工作流和多智能体,这是Spring AI不具备的
  3. 企业级特性完备:分布式MCP、可观测性、动态配置管理、权限控制
  4. 国产化支持:深度适配通义千问、DashScope等国内模型和服务
  5. 性能卓越:阿里双11核心系统验证,百万级智能体交互,8ms延迟
  6. 开发效率高:预置节点、代码生成工具、官方Playground示例

缺点

  1. 学习曲线:需要理解Graph、工作流、多智能体等概念
  2. Java版本要求:需要JDK 17+
  3. 与阿里云耦合:部分功能依赖阿里云服务(但核心Graph框架可独立使用)
  4. 框架相对较重:相比轻量级方案有更多依赖

适用场景

强烈推荐使用

  • 已有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团队将持续投入,主要体现在三个方向:

  1. 跟进Spring AI演进:持续发版解决企业应用过程中遇到的问题
  2. 底层升级支持AgentScope:做好阿里云、AgentScope与Spring生态的连接
  3. 全面升级Admin平台:打造企业级Agent构建与交付平台

总结

Spring AI Alibaba是阿里云为Java开发者量身打造的AI应用开发框架。

它继承了Spring生态的优雅设计,整合了阿里云的AI能力和云原生基础设施,让Java开发者可以用熟悉的开发模式构建企业级AI应用。

核心亮点总结

  1. 四层模块化架构:从原子能力到智能体框架,层层递进
  2. 智能体模式丰富:ReactAgent、SupervisorAgent、SequentialAgent等开箱即用
  3. 生态集成完善:DashScope、Nacos、Higress、MCP、A2A全支持
  4. 生产级性能:百万级智能体交互,8ms延迟
  5. 开发效率提升:官方数据显示可将MultiAgent开发从5天压缩到5小时

如果你正在用Java做企业级应用开发,又想拥抱AI,Spring AI Alibaba值得你认真研究。

项目地址:

  • GitHub:https://github.com/alibaba/spring-ai-alibaba
  • 文档:https://java2ai.com/

希望这篇文章能帮助你在Java AI应用开发的道路上少走弯路。

相关标签:

AI 大模型 资讯