
Spring AI Alibaba 1.0 正式 GA,打造企业级智能体生态平台!! 原创
Spring AI Alibaba 1.0 GA 正式发布,它是专属 Spring 开发者的 AI 框架,兼具提示词模版、函数调用、格式化输出等低层次抽象与 RAG、Agent、对话记忆等高层次抽象,通义系列模型驱动,深度集成网关、配置中心、可观测等云原生基础设施生态,让 Java 智能体开发迎来一款生产可用的企业级框架与解决方案,助力企业智能体开发进入一个新阶段。
Github 地址:https://github.com/alibaba/spring-ai-alibaba
官网地址:https://java2ai.com/
1、Spring AI Alibaba 1.0 GA 核心能力
在 1.0 版本中,Spring AI Alibaba 提供以下核心能力,让开发者可以快速构建自己的 Agent、Workflow 或 Multi-agent 应用:
第一、Graph 多智能体框架
基于 Spring AI Alibaba Graph,开发者可以快速构建工作流和多智能体应用,无需关注底层的流程编排和上下文记忆管理。通过将 Graph 与低代码、自规划智能体相结合,为开发者提供了从低代码、高代码到零代码构建智能体的灵活选择。
Spring AI Alibaba Graph 核心能力:
✅️ 支持 Multi-agent,内置 ReAct Agent、Supervisor 等常规智能体模式
✅️ 支持工作流,内置工作流节点,与主流低代码平台对齐
✅️ 原生支持 Streaming
✅️ Human-in-the-loop,通过人类确认节点,支持修改状态、恢复执行
✅️ 支持记忆与持久存储
✅️ 支持流程快照
✅️ 支持嵌套分支、并行分支
✅️ PlantUML、Mermaid 可视化导出
第二、通过 AI 生态集成,解决企业智能体落地过程中关心的痛点问题
通过 AI 生态集成,解决了企业在智能体落地过程中所关心的痛点问题。Spring AI Alibaba 支持与百炼平台深度集成,提供模型接入和 RAG 知识库解决方案;支持 ARMS、Langfuse 等可观测产品的无缝接入;支持企业级的 MCP 集成,包括 Nacos MCP Registry 分布式注册与发现、自动 Router 路由等。
Spring AI Alibaba MCP 通过集成 Nacos MCP Registry,支持 MCP Server 分布式部署与负载均衡调用。对于存量 Spring Cloud、Dubbo 等应用,支持零代码改造实现 API 到 MCP 服务发布,开发者可通过 Spring AI Alibaba MCP 开发自己的 MCP Server 服务代理,即可支持 Nacos 中心 MCP 元数据的自动加载。
第三、探索具备自主规划能力的通用智能体产品与平台
社区发布了基于 Spring AI Alibaba 框架实现的 JManus 智能体。除了具备与 Manus 相当的通用智能体能力外,我们的目标是通过 JManus 探索自主规划在智能体开发中的应用,为开发者提供从低代码、高代码到零代码构建智能体的灵活选择。
Spring AI 在多个关键节点都做了 SDK 默认埋点,用来记录运行过程中的 metrics 与 tracing 信息,这包括模型调用、向量检索、工具调用等关键环节的调用情况。Spring AI tracing 信息兼容 OpenTelemetry,因此理论上可接入市面上主流的开源平台如 Langfuse,或者阿里云 ARMS。
2、从聊天机器人、工作流到多智能体
第一、聊天机器人(ChatBot)
开发 AI 应用并非仅仅是调用无状态大模型的 API。由于大模型的预训练特性,AI 应用还需要具备领域数据检索(RAG)、会话记忆(Memory)和工具调用(Tool)等集成能力。这些集成能力统称为“模型增强模式”(The Augmented LLM),它允许开发者将自己的数据和外部 API 直接融入模型的推理过程中。
在 Spring AI 中,ChatClient 是最核心的组件。开发者可以使用 ChatClient 来开发自己的聊天机器人或智能体应用。ChatClient 支持模型增强模式,能够为模型调用挂载检索(Retrieval)、工具(Tools)和记忆(Memory)等外部数据和服务。例如:
我们将通过 ChatClient 开发的 AI 应用称为“单智能体应用”,这可能是最理想的开发模式。它足够简单直接,即将所有工具和上下文信息提供给模型,由模型持续决策并迭代,直到最终完成任务解答。然而,现实情况远比这复杂。目前,模型的能力尚未达到我们的期望。当上下文信息或工具过多时,整体效果往往会变差,甚至可能严重偏离预期。
因此,我们考虑将复杂问题拆解为更简单的部分。目前有两种常用的模式:工作流和多智能体模式。
第二、工作流(Workflow)
工作流是一种通过相对固定模式人为拆解任务的方法,将一个复杂的大任务分解为多个分支的固定流程。其核心优势在于流程的确定性较强,模型在其中主要承担分类决策的角色,因此特别适合用于意图识别等具有明确类别属性的应用场景。然而,工作流也有明显的局限性。它要求开发人员对业务流程有深入的理解,并且整个流程的设计依赖于人工绘制。模型在工作流中主要负责内容生成、总结或分类识别,无法充分发挥其推理能力,因此常被批评为不够智能。
通过使用 Spring AI Alibaba Graph,开发者可以轻松地开发工作流,声明不同的节点,并将这些节点串联成一个流程图。
Spring AI Alibaba Graph 提供了大量预置节点,这些节点与市面上主流的低代码平台(如 Dify、百炼等)的功能相对应。典型节点包括 LlmNode(大模型节点)、QuestionClassifierNode(问题分类节点)、ToolNode(工具节点)等。这些预置节点免去了开发者重复开发和定义的负担,使他们能够专注于流程的串联。
以下是一个可视化绘制的“用户评价分类系统”工作流,以及对应的 Spring AI Alibaba Graph 代码示例:
StateGraph stateGraph = new StateGraph("Consumer Service Workflow Demo", stateFactory)
.addNode("feedback_classifier", node_async(feedbackClassifier))
.addNode("specific_question_classifier", node_async(specificQuestionClassifier))
.addNode("recorder", node_async(new RecordingNode()))
.addEdge(START, "feedback_classifier")
.addConditionalEdges("feedback_classifier",edge_async(new CustomerServiceController.FeedbackQuestionDispatcher()),Map.of("positive", "recorder", "negative", "specific_question_classifier"))
.addConditionalEdges("specific_question_classifier",edge_async(new CustomerServiceController.SpecificQuestionDispatcher()),Map.of("after-sale", "recorder", "transportation", "recorder", "quality", "recorder", "others","recorder"))
.addEdge("recorder", END);
通过这种方式,开发者可以高效地构建复杂的工作流,同时利用预置节点的强大功能,实现高效的任务拆解和流程管理。
第三、多智能体(Multi-Agent)
除了工作流,多智能体是解决复杂任务拆解的另一种有效方式。与工作流相比,多智能体虽然也需要遵循一定的流程,但在整个决策和执行过程中,它们展现出更高的自主性和灵活性。多个子智能体通过相互协作和通信来完成任务,最终实现任务的解答。
Spring AI Alibaba Graph 提供了强大的框架支持,可用于开发多种多智能体模式。目前,官方社区已经发布了几款基于 Spring AI Alibaba Graph 开发的智能体产品,包括:
- JManus:一款通用智能体,具备广泛的应用能力。
- DeepResearch:专注于深度研究任务的智能体。
- AgentScope:提供更广泛的智能体功能,适用于多种复杂场景。
这些智能体产品不仅展示了多智能体的强大能力,还为开发者提供了丰富的应用场景和实践参考。
3、快速开发第一个 Spring AI Alibaba 应用
在 Spring Boot 工程中添加以下依赖,就可以开始您的 AI 智能体开发之旅了。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-bom</artifactId>
<version>1.0.0.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
</dependency>
</dependencies>
您也可以参考我们发布在官网的快速开始了解如何开发 Chatbot、智能体或工作流等应用。总的来说,根据不同场景,您可以选择使用 ChatClient
或 Spring AI Alibaba Graph
两个核心组件来开发 AI应用。
本文转载自玄姐聊AGI 作者:玄姐
