1. 1. Spring AI 2.0 正式 GA 发布:全栈重构,补齐 Java 企业级 AI Agent 生产短板
    1. 1.1. 前言
    2. 1.2. 一、底层基座全面升级,从根源解决历史遗留缺陷
      1. 1.2.1. 1.1 运行环境全面现代化
      2. 1.2.2. 1.2 配置与序列化体系重构
      3. 1.2.3. 1.3 多厂商集成精简统一
      4. 1.2.4. 1.4 API 分层解耦,职责清晰
    3. 1.3. 二、Advisor 链式架构:本次核心架构革新,AI 链路可编程 AOP
      1. 1.3.1. 2.1 1.x 核心痛点:流程黑盒无法扩展
      2. 1.3.2. 2.2 官方内置开箱即用核心 Advisor
      3. 1.3.3. 2.3 ToolSearch 渐进式工具检索,解决多工具 Token 成本问题
      4. 1.3.4. 2.4 自定义 Advisor 实现业务横切逻辑
    4. 1.4. 三、MCP 2.0 原生集成,实现跨服务 AI 能力互通
    5. 1.5. 四、向量存储与 RAG 全面升级,企业知识库落地门槛大幅降低
      1. 1.5.1. 4.1 统一向量存储抽象,兼容 15 + 主流数据库
      2. 1.5.2. 4.2 Redis 一体化能力增强,中小团队无需额外组件
      3. 1.5.3. 4.3 开箱即用完整文档处理流水线
    6. 1.6. 五、全新对话内存体系,解决长会话上下文溢出问题
    7. 1.7. 六、原生响应式流式交互,完美适配 WebFlux 实时对话
      1. 1.7.1. 同步 / 流式双套极简 API
      2. 1.7.2. 生产级流式配套能力
    8. 1.8. 七、多模态与模型厂商适配能力拓展
    9. 1.9. 八、实战示例:企业股票智能分析 Agent
      1. 1.9.1. 1. Maven 核心依赖
      2. 1.9.2. 2. 业务工具定义
      3. 1.9.3. 3. ChatClient 全局配置
      4. 1.9.4. 4. 同步 + 流式双接口控制器
    10. 1.10. 九、1.x 升级完整迁移指南
      1. 1.10.1. 9.1 强制性破坏性变更(升级必改)
      2. 1.10.2. 9.2 推荐优化项,大幅提升生产稳定性
      3. 1.10.3. 9.3 升级踩坑清单
    11. 1.11. 十、社区生态配套组件
    12. 1.12. 十一、总结:Java AI 开发迈入工业化落地新阶段

Spring AI 2.0 GA终于发布了?


Spring AI 2.0 正式 GA 发布:全栈重构,补齐 Java 企业级 AI Agent 生产短板

前言

Spring AI 1.x 上线后,大量 Java 开发者快速实现 LLM 对话、知识库检索、简易工具调用等原型功能,但投入企业生产环境后,各类痛点集中暴露:工具调用逻辑内置、无法自定义拦截扩展;配置文件多层嵌套,维护繁琐;多工具场景 Token 损耗严重;对话上下文管理混乱,长对话极易截断错乱;监控、鉴权、限流等生产能力缺失。

2026 年 Spring 官方重磅推出 Spring AI 2.0.0 GA,本次并非小幅功能迭代,而是一次底层架构、API 设计、生态集成、工程化能力的全面重构。版本基线升级至 JDK21、Spring Framework 7、Spring Boot 4.0,围绕 Advisor 链式架构、MCP 2.0 标准化互通、增强 RAG 流水线、全新对话内存、原生响应式流式、全量空安全、统一向量存储、语义缓存八大核心模块完成改造,彻底打通 Java 体系搭建企业智能体、私有化知识库、本地离线 AI 应用全链路。

相较于 1.x 主打快速验证原型,Spring AI 2.0 完全面向金融、政务、智能制造、企业客服等复杂生产场景设计,配套完整重试、限流、审计、上下文压缩、批量文档处理能力。传统 Spring 业务系统无需切换 Python 技术栈,仅依靠现有 Java 开发团队,就能低成本完成业务智能化改造。

一、底层基座全面升级,从根源解决历史遗留缺陷

1.1 运行环境全面现代化

  1. 强制基线升级

    彻底放弃对 Java 17、Spring Boot 3.x 的兼容,最低运行环境锁定 JDK21。全面支持虚拟线程、结构化并发、Record 不可变对象、模式匹配等新特性,高并发 AI 接口吞吐量显著提升;配套新版 Spring 生态,原生拥有云原生容器轻量化、链路观测等能力。

  2. 全局空安全防护

    全框架 API、配置类、返回实体统一添加 JSpecify 空安全注解,在编译阶段拦截空指针风险,线上 NPE 故障大幅减少,同时完美适配 Kotlin 项目,省去大量手动判空冗余代码。

1.2 配置与序列化体系重构

  1. 扁平化极简配置

    1.x 所有模型参数统一嵌套在

    1
    .options

    层级,YAML 层级冗余、可读性差。2.0 彻底扁平化配置结构,区分全局默认参数、单次请求局部参数,层级清晰易懂。

    同时

    1
    ChatOptions

    1
    EmbeddingOptions

    全部改为不可变对象,仅支持 Builder 构建,禁止运行时直接修改参数,避免多线程场景参数错乱。

yaml

1
2
3
4
5
6
7
8
9
10
spring:
ai:
openai:
api-key: ${OPENAI_API_KEY}
chat:
model: gpt-5-mini
temperature: 0.6
max-tokens: 2000
embedding:
model: text-embedding-3-small
  1. Jackson 3 序列化升级

    替换旧版序列化框架,针对大模型结构化输出、工具参数序列化专项优化,序列化耗时降低 30%;提供统一 JsonHelper 工具类,自定义序列化规则更简单。

1.3 多厂商集成精简统一

  • 抛弃自研 HTTP 请求封装,统一对接各大模型厂商官方 SDK,限流、超时、异常错误码由厂商维护,稳定性大幅提升;
  • Azure OpenAI 合并至通用 OpenAI Starter,一套配置兼容公有云、私有化部署;
  • 小众冷门大模型移出核心仓库,改为社区独立维护,官方核心库轻量化,迭代速度更快。

1.4 API 分层解耦,职责清晰

旧版本AiClient大一统接口耦合对话、向量、工具逻辑,不利于微服务拆分。2.0 拆分四类独立接口:

  • ChatClient:对话交互、工具调用、结构化输出、流式生成;

  • EmbeddingClient:文本向量化、批量嵌入处理;

  • VectorStoreRetriever:向量只读检索,最小权限设计;

  • VectorStore:继承检索能力,补充文档增删改写入功能。

    纯知识库查询服务仅依赖 VectorStoreRetriever,大幅减少项目冗余依赖。

二、Advisor 链式架构:本次核心架构革新,AI 链路可编程 AOP

2.1 1.x 核心痛点:流程黑盒无法扩展

1.x 将工具调用循环逻辑硬编码在每个 ChatModel 内部,开发者无法在工具执行前后插入自定义逻辑。如果需要审计日志、权限校验、限流、上下文压缩,只能手动编写重复循环代码,维护成本极高。

2.0 借鉴 Spring AOP 拦截器设计,将完整 AI 请求链路拆分为可编排、有序的 Advisor 拦截链。一次对话全流程:参数校验→上下文拼接→RAG 检索→工具调用循环→输出格式校验→日志监控,全部由可插拔组件串联,支持中断、重试、自定义执行优先级。

2.2 官方内置开箱即用核心 Advisor

框架自动注册基础组件,无需手动注入配置:

  1. ToolCallingAdvisor 工具调用核心

    全自动完成工具调用全流程:模型发起工具调用→执行本地业务方法→结果回填对话上下文→循环交互至无需调用工具。修复 1.x 流式场景上下文错乱问题;注解统一由

    1
    @Function

    改为

    1
    @Tool

    ,自动生成标准 JSON 参数描述。

  2. MessageChatMemoryAdvisor 全新对话内存

    淘汰旧版 PromptChatMemoryAdvisor,以标准消息对象管理历史对话;新增回合边界截断策略,仅在完整一问一答结束后清理历史消息,避免截断半句话导致模型答非所问。

  3. RetrievalAugmentationAdvisor 标准化 RAG 流水线

    内置完整知识库检索链路:Query 向量化→向量库检索→结果重排→文档注入上下文,支持自定义过滤、重排规则。

  4. StructuredOutputValidationAdvisor 结构化输出自动校验

    根据 Java 实体类自动生成 JSON 校验规则,模型返回格式错乱、字段缺失时自动补发提示并重试,搭配

    1
    .entity()

    方法可一键将返回文本映射为 Java 对象,省去大量手动解析容错代码。

  5. 辅助组件:LoggingAdvisor 统一记录 Token 消耗、接口耗时;SafetyAdvisor 内置内容安全过滤规则。

2.3 ToolSearch 渐进式工具检索,解决多工具 Token 成本问题

企业综合智能助手往往集成数十个业务工具(订单、财务、物流、工单查询等),1.x 每次对话会把全部工具描述传给大模型,Token 开销暴涨,还容易出现工具混淆调用错误。

新增ToolSearchToolCallingAdvisor实现语义按需匹配工具:

  1. 项目启动时为全部工具构建语义索引;
  2. 根据用户提问语义相似度筛选少量相关工具;
  3. 仅将匹配到的工具下发模型,最高可降低 70% Token 消耗,适合客服中台、一体化政务 Agent 场景。

2.4 自定义 Advisor 实现业务横切逻辑

开发者实现 Advisor 接口,配置 order 执行顺序,即可无侵入扩展全局通用能力:

  • 全量对话、工具调用审计日志持久化;
  • AI 接口 QPS 限流、多租户数据权限校验;
  • 超长对话上下文自动摘要压缩;
  • 手机号、身份证、合同金额等敏感数据自动脱敏;
  • Token 用量统计、调用成本上报。

执行顺序灵活可控:安全校验 Advisor 优先执行,日志记录后置执行,不改动原有对话业务代码。

三、MCP 2.0 原生集成,实现跨服务 AI 能力互通

MCP(Model Context Protocol)是当前 AI 工具、提示词、数据源跨应用互通的行业标准,解决多微服务、多智能体之间能力孤岛问题。Spring AI 2.0 内置完整 MCP Java SDK 2.0,同时支持 MCP 服务端、客户端双向开发。

  1. 注解快速对外暴露 AI 能力

    普通 Spring 业务服务通过三类注解快速标准化输出能力:

  • @McpTool:对外提供业务工具,支持执行进度上报、调用审计;
  • @McpResource:封装订单、持仓、知识库等可读取业务数据源;
  • @McpPrompt:预设行业标准化提示词模板,外部 Agent 可直接复用。
  1. 传输层全面升级,弃用不稳定 SSE

    彻底移除老旧 SSE 传输方案,默认采用 Streamable HTTP 双向流,支持集群水平扩容;本地开发保留 STDIO 进程通信,兼顾线上云原生部署与本地调试。

  2. 企业级安全与监控配套

    MCP 完整接入 Micrometer、OpenTelemetry 链路追踪,自动采集调用量、错误率、耗时指标;原生支持 API Key、OAuth2 鉴权,适配企业内网、多租户权限管控场景。

四、向量存储与 RAG 全面升级,企业知识库落地门槛大幅降低

4.1 统一向量存储抽象,兼容 15 + 主流数据库

重构 VectorStore 顶层接口,统一检索、写入、元数据过滤 API,一套业务代码无缝切换 Milvus、PGVector、Redis、MongoDB、Chroma 等向量引擎。支持类 SQL 简洁过滤语法,无需手写原生检索语句。

4.2 Redis 一体化能力增强,中小团队无需额外组件

Redis 模块是本次更新重点优化模块,单组件同时承载三类核心能力:

  1. RedisVectorStore:开放 HNSW 索引全量调参,平衡检索速度与召回精度,支持数值、文本混合过滤;
  2. RedisChatMemory:按用户、租户隔离持久化对话记录,支撑海量并发会话;
  3. 语义缓存 Advisor:缓存相似提问返回结果,重复查询直接读取缓存,大幅减少大模型接口调用成本,自定义缓存有效期、相似度阈值。

4.3 开箱即用完整文档处理流水线

内置 PDF、Word、Markdown、HTML 等文件解析能力,自动完成文档分段、批量向量化、向量入库、检索重排全流程;支持自定义分块大小、重叠窗口,可快速接入第三方重排模型。

五、全新对话内存体系,解决长会话上下文溢出问题

  1. 回合边界保护策略

    MessageWindowChatMemory 搭配 STRICT 严格截断模式,仅在完整问答结束后清理历史消息,避免半截对话被截断,保证对话逻辑连贯。

  2. 事件溯源式会话管理

    社区配套 spring-ai-session 组件,以事件溯源存储完整对话、工具调用记录,支持长上下文自动摘要、会话隔离、历史交互回溯,满足金融、政务完整审计需求。

  3. 多存储介质适配

    对话内存支持内存、Redis、MySQL、MongoDB 多种存储,生产环境禁止内存模式,防止服务重启丢失会话数据。

六、原生响应式流式交互,完美适配 WebFlux 实时对话

1.x 流式基于 Future 封装,响应式支持残缺;2.0 全面基于 Project Reactor 重构,stream 接口统一返回 Flux 流式数据流,原生适配 WebFlux 异步服务。

同步 / 流式双套极简 API

java

运行

1
2
3
4
5
6
7
8
// 同步阻塞调用,一次性获取完整回答
String result = chatClient.prompt().user("分析A股行情").call().content();

// 流式逐块输出,前端实现打字机实时效果
Flux<String> streamResult = chatClient.prompt()
.user("分析A股行情")
.stream()
.content();

生产级流式配套能力

自带背压控制,防止高并发内存溢出;支持异常捕获、生成完成回调;区分模型思考推理文本与正式输出;WebFlux 控制器一行代码输出 SSE 事件流,支持手动终止生成。

七、多模态与模型厂商适配能力拓展

  1. 统一多模态交互接口

    UserMessage 原生支持图片链接、二进制图片数据,一套接口实现图文混合提问,无缝对接 GPT-4o、Claude、Gemini 视觉大模型,图文分析、文生图场景无需单独封装 API。

  2. 主流大模型全面更新适配

    OpenAI 支持 GPT-5 系列、结构化输出;Claude 对接官方 SDK,支持长思考模式;Gemini 开放推理深度配置;Ollama 完善本地离线工具调用、向量嵌入能力;DeepSeek、通义千问等国产模型统一接入规范,切换模型仅修改配置,无需改动业务代码。

八、实战示例:企业股票智能分析 Agent

1. Maven 核心依赖

xml

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
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-mcp-annotations</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-redis-store</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>

2. 业务工具定义

java

运行

1
2
3
4
5
6
7
8
9
@Service
public class StockQueryTool {
@Tool(description = "根据股票代码查询A股实时价格、涨跌幅、成交量")
public StockQuote getStockInfo(@ToolParam("股票代码,如600519.SH") String stockCode) {
// 对接第三方行情接口
return new StockQuote(stockCode, 1862.5, 1.86, 12560000L);
}
}
public record StockQuote(String code, double price, double changeRate, long volume) {}

3. ChatClient 全局配置

java

运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Configuration
public class AgentConfig {
@Bean
public ChatClient chatClient(ChatClient.Builder builder, StockQueryTool stockTool) {
return builder
.defaultSystem("专业A股分析助手,查询股票自动调用行情工具,输出结构化分析")
.defaultTools(stockTool)
.defaultAdvisors(MessageChatMemoryAdvisor.builder(
MessageWindowChatMemory.builder()
.maxMessages(20)
.turnBoundaryPolicy(TurnBoundaryPolicy.STRICT)
.build()
).build())
.build();
}
}

4. 同步 + 流式双接口控制器

java

运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@RestController
@RequestMapping("/stock/agent")
public class StockAgentController {
private final ChatClient chatClient;
public StockAgentController(ChatClient chatClient) { this.chatClient = chatClient; }

// 同步接口,直接返回结构化实体
@PostMapping("/sync")
public StockAnalysisResp syncChat(@RequestBody String query) {
return chatClient.prompt().user(query).call().entity(StockAnalysisResp.class);
}

// WebFlux流式SSE接口
@PostMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<String> streamChat(@RequestBody String query) {
return chatClient.prompt().user(query).stream().content();
}
}
public record StockAnalysisResp(String stockCode, String analysis, String riskTip) {}

九、1.x 升级完整迁移指南

9.1 强制性破坏性变更(升级必改)

  1. 运行环境:JDK 升级至 21,Spring Boot 升级 4.0,不再兼容旧版本;
  2. 配置改造:删除所有 options 嵌套层级,Options 统一使用 Builder 构建;
  3. 工具注解:@Function 全部替换为 @Tool,废弃 FunctionCallback;
  4. 对话内存:移除 PromptChatMemoryAdvisor,更换为 MessageChatMemoryAdvisor;
  5. MCP 传输:废弃 SSE,切换 Streamable HTTP,MCP 接口全面重构;
  6. 模块调整:Azure OpenAI 并入 OpenAI Starter,小众模型移出核心库;
  7. 流式逻辑:删除手动编写的工具调用循环,统一交由 ToolCallingAdvisor 管理。

9.2 推荐优化项,大幅提升生产稳定性

  1. 工具数量超过 20 个,接入 ToolSearchAdvisor 降低 Token 开销;
  2. 知识库业务统一使用 RetrievalAugmentationAdvisor 标准化 RAG;
  3. 线上环境采用 RedisChatMemory 持久化会话,开启回合截断;
  4. 结构化输出全部使用.entity (),依托自动校验减少异常;
  5. WebFlux 项目使用 stream 流式接口,提升并发承载能力;
  6. 接入 actuator+Micrometer,监控 Token 消耗、接口成功率、耗时;
  7. 多租户、复杂 Agent 自定义安全、审计 Advisor 管控横切逻辑。

9.3 升级踩坑清单

  1. 直接 set 修改 Options 对象代码会编译报错,必须通过 Builder 新建实例;
  2. Jackson 升级 3 后,自定义序列化器需要适配新版 API;
  3. Ollama 本地模型部分配置参数名称调整,需核对官方文档;
  4. 批量向量嵌入返回值类型变更,批量处理逻辑小幅调整。

十、社区生态配套组件

依托统一 Advisor 扩展标准,社区已产出大量开箱即用生产组件,无需重复开发:

  1. spring-ai-session:事件溯源会话,长对话摘要、完整交互审计;
  2. spring-ai-agent-utils:网页抓取、文件解析等通用 Agent 工具集;
  3. spring-ai-rate-limit-advisor:基于 Redis 的 AI 接口、Token 用量限流组件;
  4. spring-ai-safety-filter:企业级敏感词、隐私数据脱敏拦截器;
  5. spring-ai-mcp-gateway:MCP 网关,统一多服务工具路由、权限分发。

标准化扩展机制让第三方组件无缝接入对话链路,框架底层无需改动,生态迭代速度大幅提升。

十一、总结:Java AI 开发迈入工业化落地新阶段

Spring AI 1.x 解决了 Java 开发者快速调用大模型、验证 AI 想法的原型需求,而 Spring AI 2.0 彻底解决企业落地的各类生产难题,核心价值总结:

  1. 架构高度解耦:Advisor 链式架构让工具调用、RAG、上下文、输出校验全流程可编程,告别底层黑盒硬编码;
  2. 支撑大规模智能体:渐进式工具检索大幅降低多工具场景 Token 成本,适配企业中台综合助手;
  3. AI 能力标准化互通:MCP 2.0 打通多服务工具、提示词、数据源共享,消除业务孤岛;
  4. 完善工程化能力:JDK21 现代化并发、全空安全、链路监控、Redis 一体化存储、语义缓存降本;
  5. RAG 与多模态成熟落地:统一向量存储、一站式文档处理、原生图文交互;
  6. 平滑升级方案:官方完整迁移规范,存量 Spring 业务改造成本可控。

对于国内绝大多数以 Spring 作为核心技术栈的企业,Spring AI 2.0 提供一套完全贴合现有技术体系的智能化落地方案,无需重构服务、不用额外学习 Python 生态,现有 Java 团队即可独立搭建智能客服、知识库系统、数据分析 Agent、本地离线私有化 AI 应用,是传统业务数字化、智能化转型的最优技术选择。

后续官方会持续迭代国产大模型适配、多 Agent 编排、离线批量推理等功能,持续补齐 Java 生成式 AI 全场景能力短板。