Spring AI vs Spring AI Alibaba


文章目录

  • 引言
  • [SAA继承Spring AI: 扩展开发AI agent的边界](#SAA继承Spring AI: 扩展开发AI agent的边界)
    • [原生Spring AI为什么"不行"](#原生Spring AI为什么“不行”)
    • [Spring AI Alibaba又做了什么?](#Spring AI Alibaba又做了什么?)
  • [**SAA 解决或扩展的问题/能力**](#SAA 解决或扩展的问题/能力)
    • SAA的架构
    • [Agent Studio:AI Agent 开发与管理平台](#Agent Studio:AI Agent 开发与管理平台)
    • [Agent FrameWork: 更加简单快速地构建Agent](#Agent FrameWork: 更加简单快速地构建Agent)
    • [Graph: 更复杂,更精准](#Graph: 更复杂,更精准)
    • [企业级 AI 应用生态集成](#企业级 AI 应用生态集成)
    • [Spring Boot Starters 简化开发部署](#Spring Boot Starters 简化开发部署)
  • 总结

引言

最近Java非常火的AI agent智能体开发框架Spring AI 和 Spring AI Alibaba,我们到底该选谁呢?它们到底有什么区别呢?希望这篇文章能给你的技术选型带来帮助,让我们一起来讨论一下吧!

SAA继承Spring AI: 扩展开发AI agent的边界

原生Spring AI为什么"不行"

原生 Spring AI 非常轻量,适合写简单的 AI 调用。但一旦进入复杂的企业级生产环境,你会发现原生框架在"编排"、"运维"和"治理"上是缺失的。也就是说,原生的SA注重提供构建AI的组件能力,但是对企业实际开发中所需要的的智能体编排能力抽象不够,不够简单易用,开发者不能很快地上手开发。

Spring AI Alibaba又做了什么?

Spring AI Alibaba 基于 Spring AI 构建,因此它继承了 Spring AI 的所有原子能力抽象,如模型通信(ChatModel)、提示词(Prompt)、检索增强生成(RAG)、记忆(ChatMemory)、工具(Tool)、模型上下文协议(MCP)等,帮助 Java 开发者快速构建 AI 应用。这使得开发者在使用 SAA 时可以利用 Spring AI 提供的基础组件,同时享受 SAA 带来的额外功能。

上面说了两者是继承的关系,那么SAA又扩展了什么?

重点是提供了智能体编排能力,用户不需要自己再定义Node,Egde等等(也就是一系列复杂逻辑底层轮子),可以直接复用,专业且可靠!

Spring AI Alibaba Graph 是其核心实现之一,在设计理念上区别于 Spring AI 只做底层原子抽象,旨在帮助开发者更容易地构建智能体应用,支持工作流和多智能体应用开发。原生 Spring AI 更侧重于提供构建 AI 能力的原子组件,而 SAA 则在这些原子组件之上构建了更高级的智能体编排能力。

我在下面列出来一些代码你一眼就知道了区别,哪个更加容易上手,可操作性更强:

  • 原生 Spring AI (简单的线性调用):
java 复制代码
// 只能做简单的问答,复杂逻辑得自己用 Java 写
String response = chatClient.prompt("你好").call().content();
  • Spring AI Alibaba (Graph 编排 - 伪代码):
java 复制代码
// 声明一个复杂的 Agent 工作流
Graph graph = new Graph()
    .addNode("input_guard", new SecurityCheckNode()) // 1. 先做安全检查
    .addNode("search", new RAGSearchNode())          // 2. 再做搜索
    .addNode("generate", new LLMGenerateNode())      // 3. 最后生成
    .addEdge("input_guard", "search")                // 定义流转
    .addEdge("search", "generate");

// 运行
graph.run("用户的复杂请求");

SAA 解决或扩展的问题/能力

上面简单讲了两者的区别与联系,接下来让我们详细讲讲SAA到底扩展了什么,解决了什么问题。

SAA的架构

我们先来分析一波SAA当前的架构,以便你更好地听懂下面的内容。

Spring AI Alibaba 项目从架构上包含如下四层:

  • Admin,是一个一站式代理平台,支持可视化代理开发、可观测性、评估和 MCP 管理等功能。它还集成了 Dify 等开源低代码平台,实现了从 DSL 快速迁移到 Spring AI Alibaba 项目
  • Agent Framework,是一个以 ReactAgent 设计理念为核心的 Agent 开发框架,使开发者能够构建具备自动上下文工程和人机交互等核心能力的Agent。
  • Graph,graph 是一个低级别的工作流和多代理协调框架,能够帮助开发者实现复杂的应用程序编排,它具备丰富的预置节点和简化的图状态定义,Graph 是 Agent Framework 的底层运行时基座。
  • Augmented LLM,以 Spring AI 框架底层原子抽象为基础,为构建大型语言模型(LLM)应用提供基础抽象,例如模型(Model)、工具(Tool)、多模态组件(MCP)、消息(Message)、向量存储(Vector Store)等

Agent Studio:AI Agent 开发与管理平台

Spring AI Alibaba 提供了一个完整的 AI Agent 开发与评估平台 (Agent Studio),支持从 Prompt 工程、数据集管理、评估器配置到实验执行和结果分析的完整工作流。这个平台解决了原生框架在 Agent 全生命周期管理方面的空白。

  • Prompt 管理:支持 Prompt 模板的创建、更新、删除、版本控制、实时调试和会话管理。
  • 数据集管理:支持多种格式的数据集导入、版本管理、细粒度的数据项 CRUD 操作,并支持从 OpenTelemetry 链路数据创建数据集。
  • 评估器管理:支持评估器的创建、配置、模板系统、在线调试、测试和版本管理。
  • 实验管理:自动化执行评估实验,提供详细的实验结果分析和统计,并支持批量处理。
  • 模型配置:支持 OpenAI、DashScope、DeepSeek 等主流 AI 模型,提供统一的参数配置和运行时动态切换功能

Agent FrameWork: 更加简单快速地构建Agent

Agent Framework,是一个以 ReactAgent 设计理念为核心的 Agent 开发框架,使开发者能够构建具备自动上下文工程和人机交互等核心能力的Agent。

支持 Multi-agent ,内置 ReAct Agent、Supervisor 等常规智能体模式。实现了基本的代理交互和工具执行,可以快速开发具有内置上下文工程人机交互支持的代理。

对于需要更复杂流程控制的场景,Agent Framework 提供了内置的工作流,例如SequentialAgentParallelAgentRoutingAgentLoopAgentSupervisorAgent,SAA官方推荐直接使用这套高级抽象来直接构建agent。当然如果你有更加复杂的场景和更精准的需求,则需要使用我接下来讲的Graph框架。

Graph: 更复杂,更精准

Graph,是一个低级别的工作流和多代理协调框架,能够帮助开发者实现复杂的应用程序编排,它具备丰富的预置节点和简化的图状态定义,Graph 是 Agent Framework 的底层运行时基座。与 Agent Framework 相比,用户可以基于 Graph API 构建更灵活的多代理工作流。

那么总的来说,SAA Graph 解决了原生框架在复杂任务编排和多智能体协作方面的不足。它借鉴 Langgraph,是 Java 版的类 Langgraph 实现,使开发者无需关心流程编排、上下文记忆管理等底层实现。

  • 支持工作流:内置大量预置节点,与主流低代码平台对齐,例如 LlmNode(大模型节点)、QuestionClassifierNode(问题分类节点)、ToolNode(工具节点)。
  • 原生支持 Streaming:提供流式处理能力。
  • Human-in-the-loop:通过人类确认节点,支持修改状态、恢复执行。
  • 记忆与持久存储:支持记忆管理与持久化存储,
  • 流程快照、嵌套分支、并行分支:提供了复杂工作流所需的控制能力

企业级 AI 应用生态集成

  • MCP 集成 :原生 Spring AI 提供了 MCP (Model Context Protocol) 客户端,而 SAA 在此基础上扩展了企业级的 MCP 集成,包括 Nacos MCP Registry 分布式注册与发现、自动 Router 路由,支持存量 Spring Cloud、Dubbo 等应用零代码改造实现 API 到 MCP 服务发布。 McpManager 负责处理 MCP 客户端的创建、工具检索和工具调用
  • RAG 知识库:深度集成了百炼平台,提供 RAG 知识库管理能力,支持数据解析、切片、向量化预处理,并与向量检索数据库结合。
  • 可观测性 (Observability) :通过集成 OpenTelemetry、ARMS 等,提供完整的链路追踪、服务监控、Trace 分析等功能,解决了 AI Agent 生产落地过程中的可观测性问题。
  • AI 网关:通过集成 Higress AI 网关,提升模型调用的稳定性与灵活性。
  • Nl2sql 模块:基于大模型的 ChatBI 技术,帮助用户轻松实现自然语言交互的数据分析,自动生成 SQL 查询语句。

这就是阿里长期构成的生态护城河,这就是为什么他们有能力做出SAA!

Spring Boot Starters 简化开发部署

  • SAA 提供了 spring-boot-starters,简化了 AI 应用的开发和部署,解决了原生框架在分布式 Agent 间通信、动态配置管理、高级 AI 图处理和可观测性等方面的便捷性问题。
  • 集成了 Nacos 进行分布式 Agent 部署、服务注册与发现、负载均衡。
  • 支持动态配置 AI Agent,通过 YAML 配置动态加载和修改 AI 模型设置、Prompt 模板和工具定义

总结

总之,Spring AI Alibaba 在 Spring AI 提供的基础能力之上,提供了更完善的 AI Agent 开发生态系统,特别是在多智能体编排、企业级集成和全生命周期管理方面进行了显著的扩展和优化,旨在加速企业 AI 应用的落地。

虽然目前SAA还有很多细节没有修饰好,但是随着几个大版本的再迭代,我相信SAA就是未来Java AI Agent开发框架的代表!

如果你觉得这篇文章给你带来了不错的体感,那就给我点赞+收藏+关注吧,这是我继续更新的最大动力❤️

相关推荐
qwerasda1238522 小时前
车辆超载检测系统:基于YOLO11-C3k2-RFCAConv的高精度识别模型实现与性能评估_1
人工智能
Coco恺撒2 小时前
【脑机接口】难在哪里,【人工智能】如何破局(1.用户篇)
人工智能·深度学习·开源·生活·人机交互·智能家居
sunlifenger2 小时前
上海兆越人员定位系统,多元技术赋能,精准守护工业安全
网络·人工智能·安全
顾北122 小时前
Java接入阿里百炼大模型实战指南
java·ai
毕设源码-郭学长2 小时前
【开题答辩全过程】以 高校水电表缴费系统的设计与实现为例,包含答辩的问题和答案
java
win x2 小时前
网络通信协议 第一部
java·网络协议
HXDGCL2 小时前
大会观察 | 破除创新链堵点:论“工厂直供”模式如何加速自动化核心部件迭代
大数据·人工智能·自动化·自动化生产线·环形导轨
梵得儿SHI2 小时前
(第八篇)Spring AI 核心技术攻坚:模型评估与调优 - 提升 AI 响应质量的双轮驱动实践
人工智能
果粒蹬i2 小时前
生成式 AI 质量控制:幻觉抑制与 RLHF 对齐技术详解
前端·人工智能·easyui