番外篇一:《Spring AI Alibaba 到底是啥?一张图理清两者关系》

这是专栏的番外篇。前面 16 篇我们把 Spring AI 从写诗一路写到了 RAG 知识库;从本篇起,开启一段番外------聊聊站在 Spring AI 肩膀上的 Spring AI Alibaba。先别急着学新 API,咱们把"Spring AI"和"Spring AI Alibaba"这对容易搞混的概念,彻底掰扯清楚。

一、懵圈现场

先说个我自己的真实状态。

前不久我也把 Spring AI 啃完了:第 1 篇让 AI 写了首诗,第 5 篇用 @Tool 让 AI 自己查天气,第 8 篇接了 GitHub 的 MCP Server,第 12~16 篇一路把 RAG 知识库从 Embedding 写到查询改写。

然后我信心满满点开 Spring AI Alibaba 的官方文档,迎面就是:

  • ReactAgent
  • Graph 工作流
  • 多智能体编排(Sequential / Parallel / Routing / Loop)
  • 人机协同(HITL)
  • A2A 跨服务通信

我当场就懵了:这堆东西跟我刚学的 Spring AI 到底啥关系?是不是又得从零学一遍?

二、一句话定调

Spring AI Alibaba 不是"另一个 Spring AI",而是站在 Spring AI 肩膀上的"智能体编排层"。

打个大家一定秒懂的后端老鸟比方:

  • Spring AI ≈ JDBC 。它定义了一套统一的标准接口:ChatClientMessageToolVectorStore......不管底下是 OpenAI 还是通义千问,写的代码长一个样。前 16 篇折腾的全是这一层。
  • Spring AI Alibaba ≈ 在 JDBC 之上长出来的"业务编排框架" 。它不重新发明模型 / 工具 / 向量库(那些还是 Spring AI 的原子能力),而是给你更高级的"拼装件":Agent(会自己思考调工具)、Graph(把多个步骤编排成有向图)、多智能体(多个 Agent 协作)

所以结论先拍这儿:前面学的 Spring AI,100% 不会白学,全部复用。 Alibaba 只是在它上面又叠了一层。

三、官方眼里的三层架构

官方文档地址:java2ai.com/docs/overvi...

翻开 java2ai.com 的概览,人家自己就把项目拆成了三层(从上到下):

复制代码
┌─────────────────────────────────────────────┐
│  Agent Framework 层                          │
│  ReactAgent / 多智能体 / 上下文工程 / 人机协同 │
├─────────────────────────────────────────────┤
│  Graph 层(运行时基座)                       │
│  有向图编排:条件路由 / 并行 / 嵌套 / 状态管理 │
├─────────────────────────────────────────────┤
│  Augmented LLM 层 = Spring AI 原子抽象        │
│  Model / Tool / MCP / Message / VectorStore   │
└─────────────────────────────────────────────┘

这时候大家也看明白了?

  • 最底下那层,就是已经掌握的 Spring AI。 模型、工具、MCP、消息、向量库,一个没多。
  • 中间 Graph 层,是 Alibaba 自己写的"图运行时"。 它才是 ReactAgent 真正跑的地方。
  • 最上面 Agent Framework 层,是把下面两层包起来的"易用壳"。 ReactAgent.builder() 几行代码,框架帮你把上下文工程、工具调度、多轮推理全管了。

四、直接上手体验

光说概念虚,我直接把正在写的 demo 工程 yunxi-spring-ai-alibaba 的依赖贴出来:

xml 复制代码
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud.ai</groupId>
            <artifactId>spring-ai-alibaba-agent-framework</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud.ai</groupId>
            <artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud.ai</groupId>
                <artifactId>spring-ai-alibaba-bom</artifactId>
                <version>1.1.2.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>1.1.2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud.ai</groupId>
                <artifactId>spring-ai-alibaba-extensions-bom</artifactId>
                <version>1.1.2.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

看见没?starter-dashscope 就是通义千问的接入包,它产出的就是标准 ChatModel------也就是Spring AI 第 1 篇里那个 ChatModel

再看我是怎么造 Agent 的:

scss 复制代码
@Bean
public ReactAgent reactAgent(ChatModel chatModel, WeatherTools weatherTools) {
    return ReactAgent.builder()
            .name("demo-react-agent")
            .model(chatModel)            // ← 直接喂认识的 ChatModel
            .instruction("你是一个智能助手......")
            .methodTools(weatherTools)   // ← 第5篇的 @Tool 直接挂上
            .enableLogging(true)
            .build();
}

ChatModel 是旧的, @Tool 是旧的,只有 ReactAgent 是新的。 这就是"复用"二字最直白的证明。

六、番外篇怎么排

番外篇我也不知道该怎么写,只能抽时间慢慢写吧,我打算这么排:

  1. 番外一(本篇):Spring AI vs Alibaba 关系定位
  2. 番外二:ReactAgent 十分钟上手
  3. 番外三:扒开 ReactAgent 的 Graph 内核
  4. 番外四:StateGraph 并行 / 分支 / 状态编排实战
  5. 番外五:HITL------让 Agent 在关键时刻等人工拍板
  6. 番外六:四种多智能体模式(Sequential / Parallel / Routing / Loop)开箱即用
  7. 番外七:用 Nacos 玩转 Agent 间通信(A2A)
  8. 番外八:上生产前的坑------状态持久化、检查点、流式、错误处理
  9. 番外九:综合实战------把 RAG 和 Agent 焊在一起

收尾

回头看开头的懵圈------其实答案特简单:Spring AI 教你"造零件",Spring AI Alibaba 教你"用零件拼出会思考、会协作、能让人把关的智能体"。 你手里的 Spring AI 功夫,一字没废。

下一篇,咱们用十行代码真把 ReactAgent 跑起来。

相关推荐
plainGeekDev26 分钟前
Agent 技术调研自动化
agent·ai编程·claude
kyriewen30 分钟前
我装了30多个Skill,给AI安排了8个岗位
前端·javascript·ai编程
魔术师Grace1 小时前
模型查资料、会做事、还省成本,分别靠什么?
aigc·agent·ai编程
AI编程实验室3 小时前
Agent Handoff v0.6.0 跨电脑同步:Git、EVENTS.jsonl、CONTEXT.md 使用方法
ai编程
殷紫川3 小时前
Hy4 Preview 与 Hy3:从 295B 到 770B,腾讯混元的架构跃迁与生产力落地
ai编程
ServBay3 小时前
Claude Code 插件别瞎装,这 9 款才是 2026 年的真生产力工具
aigc·ai编程·claude
zhangfeng11333 小时前
CodeBuddy‑CLI:启动自动授权 + 继续上次对话 codebuddy -c --permission-mode acceptEdits
ai编程
plainGeekDev4 小时前
Agent调试、错误处理与成本优化
agent·ai编程·claude
心易行者6 小时前
从零搭建完整Web应用:7步走完全流程,配合web应用托管零门槛上线
人工智能·python·ai编程
全栈弄潮儿6 小时前
从零搭建你的 AI 编程工作流
aigc·openai·ai编程