Spring AI 2.0 正式发布,让 Java 再次伟大!!

发布时间:2026/6/30 7:01:36
Spring AI 2.0 正式发布,让 Java 再次伟大!! 千呼万唤历经 8 个里程碑版本2 个候选版本Spring AI 2.0.0 正式版本终于发布了2.0.0 正式版本 Maven 依赖dependencyManagement dependencies dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-bom/artifactId version2.0.0/version typepom/type scopeimport/scope /dependency /dependencies /dependencyManagement从去年开始Spring AI 的发展速度可以说非常快。从最初提供统一的模型调用接口到后来陆续加入聊天记忆、RAG、工具调用、多模态、MCP等能力Spring AI 已经逐渐成为 Java 生态中最受关注的 AI 开发框架之一。不过随着功能越来越多Spring AI 1.x 也暴露出一些问题比如不同模型实现存在重复代码、工具调用机制分散在各个模型内部、MCP 集成能力不够统一以及 Agent 开发缺少更完善的基础设施支持。所以Spring AI 2.0 并不是一次简单的版本升级而是一次面向未来 Agent 开发体系的全面重构。在这个版本中官方重新梳理了模型生态、统一了工具调用架构、增强了结构化输出能力、升级了 MCP 集成方案同时引入了更多社区扩展能力为构建复杂 Agent 应用打下了更加坚实的基础。接下来我们一起来看看 Spring AI 2.0 都带来了哪些值得关注的新变化。Spring AI 2.0 新特性基础升级Spring Boot 4Spring AI 2.0.0 把 Spring Boot 4 作为最低支持版本支持 4.0.x 和 4.1.xSpring AI 2.0.0 可以使用 Spring Boot 4 的所有新特性和改进。目前 Spring Boot 最新版本为 4.1.0。Jackson 3Spring AI 2.0.0 把 Jackson 2 升级到了 Jackson 3Spring AI 的 JSON 序列化能力得到了显著增强。同时官方文档也补充了如何自定义默认JsonMapper的相关说明并新增了一个JsonHelper工具类用于提供完全自定义的JsonMapper配置能力以满足更复杂的 JSON 序列化和反序列化需求。空安全遵循 Spring Boot 4《Null-safe applications》中的设计理念Spring AI 整个代码库现已全面引入 JSpecify 空安全注解。除了能够有效减少运行时空指针异常、为 Kotlin 提供更符合语言习惯的 API 之外还能明确区分哪些参数是必填的哪些是可选的从而让代码语义更加清晰。配置选项空安全改造也推动了 Spring AI 对配置选项体系进行一次大规模重构主要包括明确区分哪些配置项是必填的哪些是可选的默认值统一在 Options 层定义而不再分散在模型实现或配置属性中Options 全部采用 Builder 模式创建创建后不可变Builder 提供统一且无需反射的配置合并能力配置项与配置属性彻底解耦移除了配置文件中多余的.options层级同时修复了大量历史问题明确区分配置项的使用场景在 ChatClient 中允许部分配置作为默认配置的补充而在 ChatModel 层则必须提供完整配置。同时官方进一步明确了 ChatClient 与 ChatModel 的职责边界。其中ChatClient 作为开发者主要使用的高级 APIChatModel 则定位为底层模型能力封装。聚焦核心模型生态为了提升维护效率和功能一致性Spring AI 2.0 对模型支持进行了收敛现在只重点聚焦这几个大模型了OpenAIAnthropicAmazon BedrockGoogle GenAIMistral AIDeepSeekOllama其中OpenAI 从 3 套实现统一为 1 套 SDK 实现Anthropic 从 2 套实现统一为 1 套 SDK 实现Google GenAI 从 2 套实现统一为 1 套 SDK 实现。Spring AI 官方认为直接基于 OpenAI、Anthropic、Google 等厂商提供的官方 SDK 构建模型集成可以更快地跟进最新的 API 变化、新特性以及模型能力扩展。此外官方对支持的模型进行了大刀阔斧的清理部分模型生态已经开始由厂商直接参与维护。参考这篇文章重磅Spring AI 2.0 RC 版正式发布Agent 能力增强在 Spring AI 1.x 中每个 ChatModel 内部都维护着独立的工具调用循环Tool Calling Loop虽然开发者可以调用工具但无法对工具调用过程进行扩展、拦截或者替换执行策略。Spring AI 2.0 对此进行了彻底重构官方将 Tool Calling Loop 提升为 Advisor 链中的最高优先级。ChatClient 会将每次请求通过有序的顾问链执行并支持循环允许顾问重新进入下游链。相同的机制也驱动工具调用循环、结构化输出重试循环以及评估循环。统一工具调用在 Spring AI 2.0 中ToolCallingAdvisor会被ChatClient自动注册并实现完整的工具调用往返流程之前在每个聊天模型中单独实现的临时工具循环已被移除。当你需要对每次工具迭代进行显式控制时可以选择退出并手动驱动循环。支持海量工具Spring AI 2.0 新增了ToolSearchToolCallingAdvisor它引入了渐进式工具暴露Progressive Tool Disclosure机制。传统方案通常会在每次请求时向模型注册全部工具而ToolSearchToolCallingAdvisor它不是在每次请求时注册所有工具而是按需增量暴露。它会在会话中对完整工具集进行一次索引并在需要时让模型检索相关工具。这样既减少了上下文消耗也让 Agent 能够管理数百个工具规模的工具集。自修复结构化输出虽然 Spring AI 一直提供统一的结构化输出支持但即使开启了模型原生 Structured Output模型依然可能返回不符合规范的 JSON 数据。为此Spring AI 2.0 引入StructuredOutputValidationAdvisor当结构化输出校验失败时会自动触发修正流程并重新生成结果从而提高结构化输出的可靠性。Spring AI 社区扩展Event-Sourced ChatMemory社区项目spring-ai-session提供了一套基于事件溯源Event Sourcing的会话记忆实现用于替代内置 ChatMemory。主要特性包括支持所有消息类型、支持 Tool Call 消息、支持多种上下文压缩策略、支持基于 LLM 的自动摘要当上下文窗口接近上限时能够自动压缩历史对话内容。Agent 工具集社区项目spring-ai-agent-utils基于 Spring AI 2.0 的 Agent 架构提供了一系列可直接用于生产环境的 Agent 组件。主要包括Agent Skills、文件工具、Shell 工具、Web 抓取工具、任务管理、自动记忆等常见 Agent 能力。MCP 集成全面升级MCPModel Context Protocol已经成为 AI 集成领域的事实上的标准协议。由于 Spring 团队本身就是 MCP Java SDK 的官方维护者所以 Spring AI 的 MCP 支持始终与协议规范保持同步。Spring AI 2.0 集成了 MCP Java SDK 2.0.0并兼容最新的 MCP 规范。注解驱动 MCP 开发此前由社区孵化的mcp-annotations模块正式加入 Spring AI现在只需要一个注解McpTool,McpResource, andMcpPrompt就能将 Spring Bean 暴露为 MCP 服务能力。还引入了统一的McpSyncRequestContext/McpAsyncRequestContext参数自动注入到服务器处理方法中为工具和资源提供一个用于日志、进度报告、采样和请求信息的统一入口。客户端侧同样提供了完整的声明式回调模型实现真正意义上的响应式 Agent 客户端开发。MCP 传输层升级WebMVC 和 WebFlux 的传输实现已从 MCP Java SDK 移动到 Spring AI与框架其他部分的发布节奏保持一致。流式输出的 HTTP 现在成为默认传输取代已弃用的 SSE 传输它的无状态变体可用于实现远程部署的可扩展性但会代价 MCP 的双向通信。STDIO 仍然可用于本地基于进程的集成。企业级 MCP 支持Spring AI 的 MCP 实现直接继承 Spring 生态成熟的生产能力包括Micrometer 链路追踪OpenTelemetry 指标监控OAuth 2.0 安全认证API Key 认证其中安全能力由社区项目mcp-security提供支持。小结相比 Spring AI 1.xSpring AI 2.0 最值得关注的并不是新增了多少模型支持而是底层架构思路发生了明显转变。从统一工具调用、Agent 循环重构到结构化输出自修复机制再到 MCP 全面升级以及社区 Agent 生态的快速发展Spring AI 正在逐步构建一套完整的 Agent 开发基础设施。对于个人使用来说Spring AI 2.0 的开发体验更加统一了模型适配也更加简单了工具调用也更加灵活了。而对于企业级项目来说可以以更低成本构建具备记忆、工具、推理、工作流和 MCP 能力的智能体应用了。