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开发框架的代表!

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

相关推荐
ujainu4 小时前
CANN仓库中的AIGC性能极限挑战:昇腾软件栈如何榨干每一瓦算力
人工智能·开源
野犬寒鸦4 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
wenzhangli74 小时前
ooderA2UI BridgeCode 深度解析:从设计原理到 Trae Solo Skill 实践
java·开发语言·人工智能·开源
brave and determined4 小时前
CANN ops-nn算子库使用教程:实现神经网络在NPU上的加速计算
人工智能·深度学习·神经网络
brave and determined4 小时前
CANN算子开发基础框架opbase完全解析
人工智能
HalvmånEver4 小时前
Linux:线程互斥
java·linux·运维
一枕眠秋雨>o<4 小时前
调度的艺术:CANN Runtime如何编织昇腾AI的时空秩序
人工智能
rainbow68895 小时前
深入解析C++STL:map与set底层奥秘
java·数据结构·算法
晚烛5 小时前
CANN + 物理信息神经网络(PINNs):求解偏微分方程的新范式
javascript·人工智能·flutter·html·零售
灵感菇_5 小时前
Java 锁机制全面解析
java·开发语言