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 中 ChatClient 与 ChatModel 混用,边界模糊。2.0 明确划界:业务开发统一使用 ChatClient,ChatModel 仅面向框架开发者做底层集成。工具调用、重试、记忆管理全部收敛到 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 的迁移成本。

相关推荐
蜗牛互联网5 小时前
WSL Containers GA:本地AI容器的生命周期、网络与治理验收
java·网络·人工智能·后端
Zhou1411366 小时前
SpringBoot_02_自动配置原理
java·spring boot·后端
子兮曰7 小时前
Node.js 50个优势场景盘点:一个人单干,为啥我多数时候只用它
前端·后端
IT_陈寒7 小时前
我花3小时debug,就因为JavaScript这个隐式转换坑
前端·人工智能·后端
程序猿阿越7 小时前
containerd如何拉取镜像
后端·kubernetes·源码阅读
一条小小yu8 小时前
为什么使用springboot
java·spring boot·后端
香瓜子rd8 小时前
MySQL InnoDB 并发控制核心原理:事务、隔离级别、MVCC 与锁机制
数据库·后端
RISCV_Explorer8 小时前
RISC-V RVV向量编程模型机制解析——vsetvl配置、掩码与尾元素策略及长度无关编程
后端·risc-v
对象存储与RustFS8 小时前
升级 RustFS 二进制不停机:一条一条换,留一条退路
后端·rust·开源
hasty8 小时前
限制写了却没生效:OpenTelemetry Go 的 Unicode 截断边界
开发语言·后端·golang