Spring AI 2.0:Java AI 开发的分水岭

Spring AI 2.0:Java AI 开发的分水岭

Spring AI 2.0.0 GA 已于 2026 年 6 月正式发布,基于 Spring Boot 4.1 和 Spring Framework 7.0 构建。从 1.0 GA 到 2.0 GA 仅一年时间,但 API 经历了一次彻底的架构重构。

ChatClient 成为唯一入口

1.x 中 ChatClientChatModel 混用,边界模糊。2.0 明确划界:业务开发统一使用 ChatClientChatModel 仅面向框架开发者做底层集成。工具调用、重试、记忆管理全部收敛到 ChatClient 的 Advisor 链中。

工具调用提升为 Advisor 一等公民

1.x 的工具调用循环埋在各自 ChatModel 内部,无法观测和扩展。2.0 将工具循环提升为 Advisor 链中的可组合组件,ToolCallingAdvisor 自动注册,管理完整的工具执行生命周期。定义工具只需 @Tool 注解:

java 复制代码
class WeatherTools {
    @Tool(description = "获取指定城市的当前天气")
    public String getWeather(String city) {
        return weatherService.fetch(city);
    }
}

String response = ChatClient.create(chatModel)
    .prompt("阿姆斯特丹天气如何?")
    .tools(new WeatherTools())
    .call()
    .content();

官方测试表明,新架构在 OpenAI、Anthropic 和 Gemini 上实现了 34%--64% 的 Token 消耗降低。

自纠错结构化输出

entity() 接口新增 validateSchema() 开关。当模型返回的 JSON 不符合目标 Schema 时,校验错误会自动回传给模型重新生成,默认重试 3 次,无需开发者编写任何解析或重试逻辑。

java 复制代码
ActorsFilms films = chatClient.prompt()
    .user("生成一位随机演员的电影作品列表")
    .call()
    .entity(ActorsFilms.class, spec -> spec.validateSchema());

底层全面升级

2.0 强制要求 Java 21 ,最低 Spring Boot 4.0;Jackson 2 升级至 Jackson 3;全面引入 JSpecify 空安全注解,在编译期校验 API 层面的空指针风险。

对于新项目,直接上 2.0 是最优选择;老项目则需先评估 Spring Boot 3.x → 4.x 的迁移成本。

相关推荐
n8n1 小时前
Spring AI 工具调用实战:模型自主决策、@Tool 方法封装与 ReAct 模式
后端
只爱喝胡辣汤1 小时前
05-JVM 监控与故障排查工具
后端
geovindu1 小时前
CSharp: Task Scheduler
开发语言·后端·c#·.net·.netcore
Zane19942 小时前
两个线程算两遍循环,为什么只快了一点点不是两倍?GIL连环追问
后端·python
只爱喝胡辣汤2 小时前
04-JVM 性能调优参数
后端
Bs_MoneyMagnet2 小时前
基于springboot+vue的家居生活商城平台的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring
爱勇宝2 小时前
《道德经》第 11 章:真正有用的,常常是你没写出来的那部分
前端·后端·产品
微三云 - 廖会灵 (私域系统开发)2 小时前
Spring Boot实战:五级分销定价与自动分佣系统设计与实现
java·spring boot·后端
钱栈up2 小时前
mvn compile卡住半小时:定位并修复隐藏的类型不匹配编译错误
java·后端·maven