⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 苏三说技术 「苏三」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

前言

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

这个问题在2024-2025年终于有了答案。

随着Spring AI的1.0 GA发布、LangChain4j的持续迭代、阿里云开源Spring AI Alibaba和AgentScope-Java,以及微软的Semantic Kernel加入战局,Java生态终于形成了完整的AI开发版图。

今天这篇文章就专门跟大家一起聊聊Java中的5大AI框架,希望对你会有所帮助。

一、为什么要了解Java AI框架?

有些小伙伴可能觉得:不就是调用个API吗,我写个RestTemplate不就搞定了?

但现实远比想象复杂。一个完整的企业级AI应用,需要处理:

  • 多轮对话记忆:维护会话上下文,让AI记住刚才说了什么
  • RAG检索增强:从向量数据库中检索相关文档,让AI基于事实回答
  • Tool Calling:让AI调用外部API,查询天气、查订单、发邮件
  • 智能体编排:多个AI协同工作,完成复杂任务
  • 可观测性:监控AI调用的延迟、成功率、Token消耗
  • 模型切换:同一套代码支持OpenAI、通义千问、文心一言等多种模型
  • 安全沙箱:限制AI执行敏感操作,防止安全风险

这些能力,如果全部自己实现,工作量巨大。而AI框架的价值,就是把这些复杂性封装起来,让开发者专注于业务逻辑。

二、五大AI框架介绍

Java AI框架生态概览:

框架与设计理念映射:

框架与核心能力映射:

五大框架的定位差异:

框架 定位 设计理念 适用场景
Spring AI Spring生态AI集成 轻量便捷 标准企业应用
LangChain4j 模块化AI工具包 灵活组装 复杂AI应用
Spring AI Alibaba Spring AI + 阿里云生态 Workflow编排 企业级业务系统
AgentScope-Java 阿里通义多智能体 Agentic优先 高可靠生产部署
Semantic Kernel 微软AI编排框架 Kernel编排 Azure生态集成

三、Spring AI:Spring生态的官方答案

3.1 项目概况

一句话定位:Spring官方出品的AI应用开发框架

2025年5月20日,Spring AI 1.0 GA版本正式发布,标志着Spring生态在AI领域的重要突破。

该框架由Spring官方团队维护,旨在将Spring的设计原则(可移植性、模块化设计)应用到AI领域。

开源地址:https://github.com/spring-projects/spring-ai

3.2 核心架构

Spring AI的设计理念是”POJO优先”,通过熟悉的依赖注入方式将AI能力注入应用:

@Configuration
public class SpringAIConfig {

@Bean
public ChatClient chatClient(ChatClient.Builder builder) {
return builder
.defaultSystem("你是一个专业的客服助手")
.defaultOptions(ChatOptions.builder()
.temperature(0.7)
.maxTokens(500)
.build())
.build();
}
}

3.3 核心功能

  • 模型抽象层:统一支持OpenAI、Anthropic、Azure、Google Gemini、Amazon Bedrock等主流模型
  • MCP协议支持:全面支持Model Context Protocol,可同时构建MCP客户端和服务器
  • RAG支持:提供完整的检索增强生成功能
  • Spring Boot集成:自动配置和Starter,简化集成

3.4 代码示例

@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();
}

@GetMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<String> stream(@RequestParam String message) {
return chatClient.prompt()
.user(message)
.stream()
.content();
}
}

只需几行代码,一个AI对话接口就完成了!这就是Spring AI的魅力。

3.5 优缺点分析

优点:

  • 与Spring生态无缝集成,自动配置、依赖注入一应俱全
  • 统一的API抽象,切换模型提供商只需修改配置
  • 内置可观测性,支持Micrometer追踪全链路
  • 官方支持,版本稳定

缺点:

  • 需Java 17+,不兼容Java 8
  • Agent能力相对较弱,多智能体编排需自行实现
  • 功能迭代速度比LangChain4j慢

适用场景:

  • 已有Spring Boot技术栈的团队
  • 需要快速集成基础AI能力的项目
  • 轻量级AI应用开发

四、LangChain4j:最灵活的纯Java AI工具包

4.1 项目概况

一句话定位:Java版的LangChain,模块化AI工具包

LangChain4j是目前Java生态中最成熟、功能最丰富的大语言模型应用开发框架。

它始于2023年初,旨在填补Java生态中缺乏与Python和JavaScript同等水平LLM库的空白。

开源地址:https://github.com/langchain4j/langchain4j

4.2 核心架构

LangChain4j采用模块化设计,提供两层API:

  • 高层API:@AiService声明式接口,类似MyBatis或Spring Data JPA
  • 低层API:ChatModel、EmbeddingStore等核心抽象

4.3 核心功能

A. 声明式AI服务(@AiService)——最杀手级的特性

// 1. 定义接口,无需实现类
interface Assistant {
@SystemMessage("你是一个专业的客服助手")
String chat(@UserMessage String userMessage);

@MemoryId
String chatWithMemory(@MemoryId String userId, @UserMessage String message);
}

// 2. 创建实例
Assistant assistant = AiServices.builder(Assistant.class)
.chatModel(chatModel)
.chatMemory(chatMemory)
.build();

// 3. 直接调用
String response = assistant.chat("你好,我想退货");

这种声明式风格对Java开发者来说极其亲切,对比Spring AI的链式调用,各有千秋。

B. 强大的工具调用

@Component
public class WeatherService {

@Tool(description = "查询指定城市的天气")
public String getWeather(@P("城市名称") String city) {
return weatherApi.get(city);
}
}

C. 多模型支持

LangChain4j支持20+个LLM提供商、30+个向量数据库,是Java生态中集成最广泛的框架。

4.4 优缺点分析

优点:

  • 功能最丰富,RAG/Agent能力最强
  • 模块化设计,按需引入依赖
  • 无框架依赖,可在任何Java环境运行(Spring、Quarkus、纯Java SE)
  • 社区活跃,迭代速度快,GitHub Stars远超Spring AI

缺点:

  • 学习曲线较陡,概念多
  • 无官方背书,企业支持需自行维护
  • 缺少企业级安全沙箱等生产特性

适用场景:

  • 需要强大Agent和RAG能力的复杂AI应用
  • 非Spring技术栈的项目
  • 追求功能极致和架构灵活性的团队

五、Spring AI Alibaba:Spring AI + 阿里云生态

5.1 项目概况

一句话定位:连接阿里云AI能力与Spring生态的企业级框架

Spring AI Alibaba由阿里云开源,团队正是当年开源Apache Dubbo和Spring Cloud Alibaba的同一批人。

该项目基于Spring AI构建,向上做了大量抽象和功能增强,于2024年9月开源。

开源地址:https://github.com/alibaba/spring-ai-alibaba

5.2 核心架构

Spring AI Alibaba的核心差异化能力是Graph多智能体框架,侧重Workflow形态的工作流编排:

5.3 核心功能

A. Graph多智能体框架

StateGraph<MyState> graph = new StateGraph<>(MyState.class)
.addNode("analyze", new LlmNode())
.addNode("search", new ToolNode())
.addNode("confirm", new HumanNode())
.addConditionalEdge("analyze", condition)
.build();

B. MCP Gateway:零代码转换存量应用

Spring AI Alibaba MCP Gateway基于Nacos提供的MCP server registry实现,将Nacos中注册的服务信息转换成MCP协议的服务器信息,无需对原有业务代码进行改造。

C. 企业级生态集成

  • DashScope集成:通义千问系列模型原生支持
  • Nacos MCP Registry:支持MCP Server分布式部署与负载均衡
  • Higress AI网关:提供模型代理、流量管控
  • ARMS可观测性:自动埋点,兼容OpenTelemetry

5.4 优缺点分析

优点:

  • 深度集成阿里云生态,国内开发者友好
  • Graph工作流编排能力强,适合企业级业务场景
  • MCP Gateway实现零代码存量应用转换
  • 与Spring生态无缝集成

缺点:

  • 与阿里云服务耦合较重
  • 需Java 17+
  • 社区规模相对较小

适用场景:

  • 阿里云技术栈的企业
  • 需要工作流编排的复杂业务系统
  • 对数据安全有要求、需要私有化部署的场景

六、AgentScope-Java:企业级多智能体框架

6.1 项目概况

一句话定位:阿里巴巴通义实验室开源的面向企业级生产部署的多智能体框架

AgentScope-Java于2025年12月正式发布1.0版本,是阿里通义实验室在Python版AgentScope(GitHub 1.5w+ stars)基础上推出的Java版本。

开源地址:https://github.com/modelscope/agentscope-java

6.2 核心架构

AgentScope-Java采用ReAct(Reasoning-Acting)范式作为核心架构,这是一种推理与行动相结合的智能体模式:

6.3 核心功能

A. ReAct范式原生支持

@AgentComponent
public class OrderRefundAgent {

@ReasonStep
public Plan reason(UserRequest request) {
// LLM生成任务计划:查订单→验风控→执行退款
}

@ActStep
public ActionResult act(Plan plan) {
// 调用工具执行
}
}

B. 安全沙箱机制

AgentScope-Java提供了开箱即用的安全沙箱:

  • 文件系统隔离:仅允许读写/tmp/agentscope/{agentId}/目录
  • 网络访问控制:通过白名单控制可调用的内部API
  • 高危操作隔离:Shell/Python脚本在Docker容器中执行

C. 多智能体协作(A2A)

@Autowired
private AgentClient agentClient;

public void handleRefund(String orderId) {
RiskAssessmentAgent riskAgent = agentClient.find("risk-assessment");
boolean safe = riskAgent.evaluate(orderId);
if (safe) {
FinanceAgent finance = agentClient.find("finance-agent");
finance.refund(orderId);
}
}

6.4 优缺点分析

优点:

  • 原生支持多智能体协作和A2A协议
  • 内置安全沙箱,适合金融、政务等高安全场景
  • 可观测性强,支持断点调试、状态回放、人工介入
  • 阿里云通义实验室官方支持

缺点:

  • 需Java 17+
  • 社区尚在成长中
  • 文档相对较少

适用场景:

  • 金融、政务等安全合规要求严格的场景
  • 需要多个智能体协同工作的复杂业务
  • 企业级生产环境AI应用

七、Semantic Kernel:微软的AI编排框架

7.1 项目概况

一句话定位:微软出品的AI应用编排框架,支持多语言(.NET、Python、Java)

Semantic Kernel是微软在2024年推出的AI框架,采用独特的Kernel编排理念。

开源地址:https://github.com/microsoft/semantic-kernel

7.2 核心架构

Semantic Kernel的核心是Kernel对象,它充当所有模型、插件、工具和内存存储的编排器:

public class MathPlugin implements SKPlugin {
@DefineSKFunction(description = "Adds two numbers")
public int add(int a, int b) {
return a + b;
}
}

// 创建Kernel
Kernel kernel = Kernel.builder()
.withAIService(OpenAIChatCompletion.class, chatService)
.withPlugin(plugin)
.withMemoryStorage(memoryStore)
.build();

// 执行
KernelFunction<String> prompt = KernelFunction.fromPrompt("Some prompt...").build();
FunctionResult<String> result = prompt.invokeAsync(kernel)
.withToolCallBehavior(ToolCallBehavior.allowAllKernelFunctions(true))
.block();

7.3 核心功能

  • Kernel编排:统一管理所有AI组件
  • 插件化工具:通过@DefineSKFunction注册工具
  • 内存存储:支持向量数据库集成
  • Azure深度集成:Azure Cognitive Search、Azure OpenAI、Azure Active Directory无缝集成

7.4 优缺点分析

优点:

  • 微软官方支持,与Azure生态深度集成
  • Kernel概念统一编排,适合复杂工作流
  • 支持Project Reactor,适合响应式应用

缺点:

  • Java版本功能相对不完整(图像生成、语音等能力在Python/.NET中更完善)
  • 社区较小(约30名贡献者),功能迭代慢
  • 无Spring Boot Starter,集成需手动配置
  • 强依赖Project Reactor,对非响应式项目有额外复杂度

适用场景:

  • 微软Azure技术栈的项目
  • 需要复杂AI工作流编排的场景
  • 响应式编程应用

八、五大框架对比总结

8.1 功能矩阵对比

维度 Spring AI LangChain4j Spring AI Alibaba AgentScope-Java Semantic Kernel
设计理念 轻量集成 模块化组装 Workflow编排 Agentic优先 Kernel编排
Spring集成 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐
Agent能力 ⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐
RAG能力 ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐
多智能体 ❌ ⚠️ 需自行实现 ✅ ✅ 原生支持 ❌
安全沙箱 ❌ ❌ ❌ ✅ 内置 ❌
工具调用 ✅ ✅ ✅ ✅ ✅
可观测性 ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐
学习曲线 平缓 中等 中等 中等 较陡
版本要求 JDK 17+ JDK 8+ JDK 17+ JDK 17+ JDK 17+

8.2 如何选择框架?

8.3 场景化选型建议

场景1:Spring Boot标准企业应用

推荐:Spring AI
理由:生态一致,配置简单,快速集成基础AI能力

场景2:需要复杂Agent和RAG的应用

推荐:LangChain4j
理由:功能最丰富,@AiService声明式开发,灵活组装组件

场景3:阿里云技术栈企业

推荐:Spring AI Alibaba
理由:深度集成阿里云服务,MCP Gateway零代码转换,Graph工作流编排

场景4:金融、政务等高安全场景

推荐:AgentScope-Java
理由:内置安全沙箱,多智能体协作,可观测性强,适合生产部署

场景5:微软Azure生态项目

推荐:Semantic Kernel
理由:微软官方支持,Azure服务深度集成

总结

Java生态的AI框架经过两年发展,已经形成了清晰的格局:

  • Spring AI是Spring生态的官方选择,优雅但Agent能力有待加强
  • LangChain4j是功能最强大的模块化工具包,社区活跃,是Java AI的事实标准
  • Spring AI Alibaba将阿里云生态与Spring AI结合,提供Workflow编排能力
  • AgentScope-Java是阿里通义实验室的企业级多智能体框架,内置安全沙箱,适合生产部署
  • Semantic Kernel是微软的AI编排框架,与Azure生态深度绑定

最新趋势:很多团队开始采用”混合模式”——使用Spring Boot作为基础框架,引入LangChain4j的@AiService来利用其强大的RAG和Agent能力,两者并不互斥。

文章目录
  1. 1. 前言
  2. 2. 一、为什么要了解Java AI框架?
  3. 3. 二、五大AI框架介绍
  4. 4. 三、Spring AI:Spring生态的官方答案
    1. 4.0.1. 3.1 项目概况
    2. 4.0.2. 3.2 核心架构
    3. 4.0.3. 3.3 核心功能
    4. 4.0.4. 3.4 代码示例
    5. 4.0.5. 3.5 优缺点分析
  • 5. 四、LangChain4j:最灵活的纯Java AI工具包
    1. 5.0.1. 4.1 项目概况
    2. 5.0.2. 4.2 核心架构
    3. 5.0.3. 4.3 核心功能
    4. 5.0.4. 4.4 优缺点分析
  • 6. 五、Spring AI Alibaba:Spring AI + 阿里云生态
    1. 6.0.1. 5.1 项目概况
    2. 6.0.2. 5.2 核心架构
    3. 6.0.3. 5.3 核心功能
    4. 6.0.4. 5.4 优缺点分析
  • 7. 六、AgentScope-Java:企业级多智能体框架
    1. 7.0.1. 6.1 项目概况
    2. 7.0.2. 6.2 核心架构
    3. 7.0.3. 6.3 核心功能
    4. 7.0.4. 6.4 优缺点分析
  • 8. 七、Semantic Kernel:微软的AI编排框架
    1. 8.0.1. 7.1 项目概况
    2. 8.0.2. 7.2 核心架构
    3. 8.0.3. 7.3 核心功能
    4. 8.0.4. 7.4 优缺点分析
  • 9. 八、五大框架对比总结
    1. 9.0.1. 8.1 功能矩阵对比
    2. 9.0.2. 8.2 如何选择框架?
    3. 9.0.3. 8.3 场景化选型建议
  • 10. 总结