Spring AI 是什么?9.5K 星的 Spring 官方 AI 框架,Java 团队接大模型的正门(基础篇)

Spring AI 是什么?9.5K 星的 Spring 官方 AI 框架,Java 团队接大模型的正门(基础篇)

导语

横向 Agent 平台这条线,Python 系的已经补了一排——LangGraph、CrewAI、AutoGen、MetaGPT 都有基础篇了,Kotlin 阵营也刚聊完 Koog,这次轮到 Java 存量团队的正门:Spring 官方的 Spring AI。你们公司要是跑着一堆 Spring Boot 老服务,想接大模型又不想单开一套 Python 微服务,这玩意就是干这个的。本文星数、版本、发布日期均为 2026 年 10 月 7 日 GitHub 与 Maven Central 实测。

项目介绍:Spring 官方的 AI 应用框架

Spring AI 挂在 spring-projects 组织下,2023 年 6 月开仓,Apache-2.0 协议,现在 9.5K 星、2945 fork、411 位贡献者,最近一次提交就是发稿当天,热度是实打实的活跃。最新稳定版 2.0.1(2026 年 8 月 21 日),2.0.0 正式版 6 月 12 日发布,2.1.0-M1 里程碑 9 月 25 日已出。版本对应关系记一条就行:2.x 配 Spring Boot 4.x,1.1.x 配 Boot 3.5.x,别装拧了。

官方定位一句话:把 Spring 生态的可移植、模块化设计原则搬到 AI 领域,解决的是「企业数据和 API 怎么连上模型」这个老问题。它不是聊天产品,是给你在 Java 代码里搭 Agent 的底座。

Spring AI 分层架构:Spring Boot 应用内 ChatClient 经 Advisors 挂记忆与 RAG,向下走 ChatModel 抽象接各家模型提供方,旁路接向量库检索与 MCP 工具
Spring AI 分层:ChatClient 是应用侧唯一入口,Advisors 挂记忆和 RAG,ChatModel 抽象屏蔽提供商差异

拆开看,四块是它拿得出手的:

  • 一套 API 吃所有模型:ChatModel 抽象覆盖 OpenAI、Anthropic、Google、Amazon Bedrock、DeepSeek、Ollama 等主流家,同步/流式都有,换供应商改一行配置。嵌入、生图、语音转写、TTS、内容审核也是同一套风格。
  • Advisors 拦截器:类似 Servlet Filter 的思路,把记忆管理、RAG 注入、日志观测封装成可插拔的拦截链,对话历史还能落到 JDBC、Redis、MongoDB、Neo4j 这些后端。
  • RAG 和向量库全家桶:PGVector、Qdrant、Milvus、Elasticsearch、Redis、Neo4j 等 20 多种向量库,配 SQL 风格的元数据过滤 API,外加文档注入 ETL 管道。
  • MCP 一等公民:Boot Starter + 注解双保险,STDIO、SSE、Streamable-HTTP 三种传输全支持——既能当客户端消费别人的 MCP 服务,也能把你的 Spring 服务暴露成 MCP 服务端,两头通吃。这块可以对着站内 MCP 服务基础篇 一起看。

另外官方文档里单列了一篇 Building Effective Agents,把 Anthropic 那篇同名研究里的五种模式(链式、并行、路由、编排-执行、评估-优化)挨个用 Spring AI 实现了一遍,代码在 spring-ai-examples 仓库的 agentic-patterns 目录,抄作业很方便。

上手:start.spring.io 点两下就开工

门槛就是你会 Spring Boot,没有额外的:

  1. 打开 start.spring.io,项目里勾上 AI Models 和 Vector Stores 要用的,生成即带 Starter;
  2. 或者手动加 BOM:org.springframework.ai:spring-ai-bom:2.0.0,再引 spring-ai-starter-model-openai 这类 Starter;
  3. API key 走环境变量,然后注入 ChatClient.Builder 就能写业务了:
@RestController
class AiController {
    private final ChatClient chatClient;

    AiController(ChatClient.Builder builder) {
        this.chatClient = builder.build();
    }

    @GetMapping("/ai")
    String ask(String q) {
        return chatClient.prompt().user(q).call().content();
    }
}

ChatClient.Builder 是原型作用域 Bean,多模型场景(贵模型管推理、便宜模型管闲聊、挂了自动降级)每个注入点各拿一个,各配各的模型和 Advisors。流式用 .stream(),结构化输出直接返回 POJO。

实话:三个要想清楚的

它不是「装完就有 Agent」。 Spring AI 是框架不是平台,没有可视化编排、没有现成 UI,Agent 的循环、规划、工具调度全靠你写代码。要拖拽式体验,站内 Dify、Flowise 那几篇更适合。

Java 阵营内部还得比一比。 同是 Java 生态的 LangChain4j 现在 13.2K 星,比 Spring AI 的 9.5K 高一截;轻量 JVM 方向还有 JetBrains 的 Koog(基础篇)和 .NET 的 Semantic Kernel。选型其实看栈:本来就重度依赖 Spring 生态(Boot、Security、Data、事务),Spring AI 的自动配置和 BOM 管理能省不少事;纯想在 JVM 上轻量撸 Agent,另外两家代码更少。

2.0 跨大版本要付升级成本。 2.0.0 换 Spring Boot 4.x、MCP SDK 2.0,1.x 到 2.0 的 API 有破坏性变更(官方 upgrade-notes 单列了一堆),存量项目先读升级说明再动手,别无脑升。

结语

Spring AI 补的是「Java 存量系统怎么体面接 Agent」这块缺口:官方背书、版本节奏稳(6 月 2.0.0、8 月 2.0.1、9 月 2.1.0-M1)、模型和向量库覆盖全、MCP 双向打通,代价是你得自己写编排逻辑。判断标准一句话:栈在 Spring 这边,它就是当前最顺手的入口;栈在 Python 侧,LangGraph 那几篇更省事。本篇星数、版本均为 2026 年 10 月 7 日实测,下一篇想看哪个平台,评论区点菜。

by 数码罗记·godsun.pro

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注