[特殊字符] Spring AI 2.0.0 正式发布:大版本升级,MCP 原生集成 + Anthropic SDK 全线重构

2026 年 6 月 12 日 · 基于 Spring Boot 4.1.0 · MCP SDK 2.0 + Anthropic 重构 + ToolCalling 体系重写

🔥 一、发布概况:为期半年的重大升级

2026 年 6 月 12 日,Spring 官方正式发布 Spring AI 2.0.0 。这是 Spring AI 项目自 1.0.0 GA 以来最大的一次版本升级,从 1.1.x 到 2.0.0 历经多个 RC 阶段,积累了大量的 Breaking Changes 和功能重构。

关键信息 数据
发布时间 2026 年 6 月 12 日
前代版本 1.1.8(2026-06-12 同天发布)
1.0.x 最终版 1.0.9(2026-06-12 同天发布)
基础框架 Spring Boot 4.1.0
MCP SDK 2.0.0
核心定位 Java 生态的 AI 集成框架

⚡ 二、2.0.0 核心新特性

1️⃣ Anthropic 模块全面迁移至官方 Java SDK

这是 2.0.0 最重大的架构变更。 Spring AI 的 Anthropic 模块从自实现的 API 客户端彻底迁移到 Anthropic 官方 Java SDK:

编号 变更维度 1.x 时代 2.0.0
1 API 客户端 自实现 AnthropicApi 官方 Java SDK
2 模型构建 new AnthropicApi(apiKey) Builder 模式 :AnthropicChatModel.builder().apiKey(...)
3 缓存支持 基础 AnthropicCacheOptions/Strategy/Ttl 完整缓存体系
4 引用支持 无 AnthropicCitationDocument 引用文档支持
5 新增选项 --- Web Search Tool、priority capacity tier
6 包名变更 api.utils 顶级包 anthropic 下

新增四个 Chat Options:

  • spring.ai.anthropic.chat.web-search-tool.* --- Web 搜索工具配置

  • 优先级容量层(Priority capacity tier)支持

  • 完整缓存断点追踪器(CacheBreakpointTracker)

  • 缓存资格解析器(CacheEligibilityResolver)

2️⃣ MCP SDK 2.0 深度集成

MCP(Model Context Protocol)的支持在 2.0.0 中经历了一次重大架构变革:

编号 变更 说明
1 MCP SDK 升级 从旧版 → 2.0.0
2 传输模块迁移 MCP 的 Spring 传输模块从 SDK 迁入 Spring AI 项目
3 包名变更 io.modelcontextprotocol.server.transport → org.springframework.ai.mcp.server.*.transport
4 输入验证 默认开启------工具参数按 JSON Schema 校验
5 必需字段强制 SDK 的 builder 强制要求必填构造参数
6 McpClientCustomizer 改用泛型接口,支持 AsyncSpec / SyncSpec
7 HTTP Header 统一 WebMvc 传输的 Header 统一为小写

3️⃣ Tool Calling 体系全面重构

这是 2.0.0 影响面最广的变更。

① 内部工具执行循环 → ToolCallingAdvisor

1.x 2.0.0
每个模型各自实现内部循环 统一 ToolCallingAdvisor
internalToolExecutionEnabled 默认开启,无需配置
需手动控制 自动注册,检测到工具即生效

这一变更意味着:不再需要为每个 AI 供应商单独配置工具循环,Spring AI 会自动检测并注册工具执行能力。

② 对话历史管理重构

对话历史从 ToolContext 中彻底移除------工具只接收参数和自定义上下文,不再管理对话状态。ToolCallingAdvisor 负责维护工具调用间的对话历史。

③ 流式工具调用修复

之前 streamToolCallResponses 存在设计缺陷------中间请求块被流式输出但对应的响应未被发送,导致对话历史损坏。2.0.0 中此选项被移除,默认行为已修复。

④ 工具上下文 API 变更

bash 复制代码
// 1.x
chatClient.prompt()
    .tools(t -> t.callbacks(myCallback).context("tenantId", "acme"))
    .call().content();

// 2.0.0
chatClient.prompt()
    .tools(myCallback)
    .toolContext(Map.of("tenantId", "acme"))
    .call().content();

4️⃣ ChatClient Options 全栈重构

变更 说明
Builder 模式强制 所有 Options 必须通过 Builder 创建,编译期检查
默认温度移除 不再提供 0.7 的默认温度,改为各 AI 提供商的原生默认值
Options 默认值迁移 从各 Model 类移除,统一到 Options Builder
getDefaultOptions()→ getOptions() API 简化

5️⃣ 模型配置属性重构

配置属性大幅简化:

yaml

bash 复制代码
# 1.x
spring.ai.openai.embedding.options.model=text-embedding-3-small

2.0.0

spring.ai.openai.embedding.model=text-embedding-3-small

所有 *.options.* 层级中的 options. 被移除,直接使用 *.model 等属性。

6️⃣ TTS / OpenAI SDK 迁移

  • OpenAI TTS 模块从 SpeechModel → TextToSpeechModel(统一接口)

  • OpenAI Chat 模块全面使用 Jackson 2(移除 Jackson 3 的混合使用)

  • OpenAI 底层 SDK 统一迁移到 OpenAI Java SDK

7️⃣ Azure OpenAI Entra ID 支持

新增 Entra ID 身份认证管理,通过干净的自动配置实现 Azure OpenAI 的安全访问。

📊 三、从 1.x 到 2.0:性能与架构提升

架构层面的飞跃

维度 1.1.x 2.0.0 提升
Tool Calling 循环 各模型自实现 统一 Advisor 代码量减少 70%
Anthropic API 维护 需自跟踪 官方 SDK 零维护成本
MCP 传输模块 外部 SDK Spring 项目内 版本锁定
对话历史 散落在 Tools Advisor 统一管理 修复数据损坏
JSON Schema 校验 无 MCP 服务端默认开启 安全性提升
配置属性 嵌套多层级 扁平化 易用性提升

性能改进点

改进方向 说明
工具调用开销 统一 ToolCallingAdvisor 减少序列化和调度开销
对话历史一致性 MongoDB 存储的消息顺序修复(曾经逆序返回)
内存管理 Options 不再依赖 Jackson 3,减少类加载冲突
序列化 统一 Jackon 2,移除 Jackson 3 混合使用

⚠️ 四、差距与不足

已知问题

问题 说明 严重程度
Breaking Changes 极多 从 API 到配置到模块结构几乎全面变更 🔴 迁移成本高
Moonshot/Qianfan 移除 国内模型厂商被移出主项目,移至社区仓库 🔴 中国用户受影响
MiniMax 专用支持移除 改为通过 Anthropic 通用接口访问 🟡 功能退化
Watson AI 移除 IBM Watson 集成因模型过时被移除 🟢 影响有限
Cosmos DB 移出 Azure Cosmos DB 支持移至外部团队维护 🟡 需额外配置
HanaDB 向量库移除 SAP Hana 向量存储自动配置取消 🟢 小众场景
温度默认值移除 之前依赖 0.7 默认值的应用可能行为变化 🟡 需显式配置
OpenSearch 兼容性 HTTP Client5 升级可能需要调整 🟡 特定场景

与竞品的差距

维度 Spring AI 2.0.0 LangChain4j Semantic Kernel
语言 Java (Spring 生态) Java C#/Python/Java
MCP 集成 ⭐ 原生深度集成 有限 有限
模型提供商覆盖面 ⭐ 极广(20+) 广 中
Spring 生态绑定 强依赖 弱 无
文档完善度 好(持续改进中) ⭐ 优秀 ⭐ 优秀
学习曲线 陡(大量 Breaking Changes) 平缓 中等
国内模型支持 ❌ Moonshot/Qianfan 移除 ⭐ 好 中

🔮 五、未来演进方向

短期(2.x 系列)

方向 预期
🚀 MCP Hub 集成 可视化 MCP 工具管理
🔧 社区复原 Moonshot/Qianfan 等国内模型以社区模块形式回归
📚 文档完善 2.0 升级指南和更多代码示例
🧪 Agent 编排增强 多 Agent 协作工作流支持

中长期

方向 推测
🎯 AI Agent 原生框架 从"AI 集成"走向"Agent 开发框架"
☁️ 云原生 AI 深度集成 Kubernetes + AI 推理
🔗 多模态扩展 视频理解、3D 生成等能力
🌐 国际化模型市场 模型发现和接入的标准化

📌 六、升级建议

从 1.1.x 升级

步骤 关注点
1️⃣ 更新依赖到 spring-ai-bom:2.0.0
2️⃣ Anthropic 代码重构 --- 改用 Builder 模式
3️⃣ Tool Callback → ToolCallingAdvisor
4️⃣ MCP 包名更新 --- 迁移到 org.springframework.ai.mcp
5️⃣ Options 属性扁平化 --- 移除 .options. 层级
6️⃣ 温度显式配置 --- 设置 spring.ai.*.chat.temperature
7️⃣ Moonshot/Qianfan → 社区版

从 1.0.x 升级

强烈建议做一次大的 API 映射审计 ,因为从 1.0.x 到 2.0.0 跨越了 1.1.x 和 2.0.0-RC,积累了数百项 API 变更。

📌 七、总结

Spring AI 2.0.0 是 Spring 生态在 AI 集成领域的一次里程碑式升级。它以 Anthropic 官方 SDK 迁移、MCP 深度集成、ToolCalling 统一架构 三大核心变革,从根本上提升了框架的可维护性和扩展性。

三个核心信号

  1. 🏆 MCP 成为一等公民 --- 传输模块迁入 Spring AI 项目,验证机制默认开启,Spring 在 MCP 生态中的话语权显著增强

  2. 🏆 Tool Calling 的统一是架构正确方向 --- 从"每个模型自实现"到"统一 Advisor",是 Spring AI 走向成熟的关键一步

  3. 🏆 告别"保姆级"默认值 --- 默认温度移除、Options 重构、配置扁平化------Spring AI 正在从"新手友好"走向"专业级框架"

一句话总结

Spring AI 2.0.0 是一次"刮骨疗毒"式的升级------大量 Breaking Changes 短期会痛,但从 Anthropic SDK 迁移到 MCP 深度集成到 ToolCalling 统一架构,长期来看是 Spring AI 走向企业级 AI 开发框架的必经之路。


原文链接 https://www.yijunzhao.cn/archives/spring-ai-2.0.0-release-mcp-native-integration-anthropic-sdk-rebuild

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/

相关推荐
后端LV7 小时前
一个注解不用写,给你的 Spring Boot 接口加上限流、日志、指标和钉钉告警
spring
海宇大数据7 小时前
零信任架构实战:基于海宇学历核验版构建自动化风控审查网关
运维·人工智能·架构·自动化
java1234_小锋7 小时前
Redis 宣布正式接入 AI
数据库·人工智能·redis
布吉岛的石头7 小时前
海外AI众包入门:英语要什么水平,钱怎么收回来
人工智能·副业·数据标注·众包·海外兼职
zhikouai7 小时前
一边撤掉3千元入门款,一边在别处悄悄卖
人工智能
Rocky Ding*7 小时前
Hi-DiT:一文读懂Hybrid Latent-Pixel Diffusion Transformer的本质与技术细节
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·hi-dit
勤劳X码农7 小时前
2026年学生配音软件怎么选?免费AI配音指南
人工智能
鬼手点金7 小时前
opencode组件详解-安装方式
人工智能·python·优化器·分析器·nanogpt
武子康7 小时前
Cosmos Curator 清洗视频时,哪些片段应该留下?
人工智能·llm·agent