[特殊字符] 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.transportorg.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 模块从 SpeechModelTextToSpeechModel(统一接口)

  • 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/

相关推荐
萤丰信息1 小时前
从数字化到AI自治!2026智慧园区全新运营变革趋势
人工智能·智慧城市
老刘说AI1 小时前
类Sora模型:解锁动态视觉艺术的密码
人工智能·stable diffusion·架构·embedding
basketball6161 小时前
AI Infra 硬件体系与编程模型:17. CUDA编程基础:底层驱动 API 调用
人工智能·microsoft·nvidia·cuda
东集Seuic1 小时前
食品标签新规 GB 7718-2025 倒计时:产线“首件检验”如何用东集小码哥CRUISE Ge2-M跑通 OCR 智能核对?
大数据·人工智能·ocr
白杨SEO营销1 小时前
豆包,deepseek,千问等各大AI大模型排名工作原理,GEO操作指南参考
大数据·人工智能
下班走回家1 小时前
本地部署大模型的三种方式:Ollama vs vLLM vs llama.cpp
人工智能·llama·vllm
架构师学习成长之路1 小时前
Gartner《AI时代商业分析师岗位重塑指南》学习心得
大数据·人工智能
科研小刘带你玩学术1 小时前
【科研快讯】打破形态壁垒:北京通用人工智能研究院联合多机构首次实现异构机器人团队意图对齐协作
人工智能·论文·模仿学习·意图对齐·异构机器人·跨体型迁移
CIO_Alliance1 小时前
AI+iPaaS系统集成解决方案:从概念到落地的完整指南
人工智能