在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

  • 低层APIChatModelEmbeddingStore等核心抽象

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能力,两者并不互斥。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐