模拟帝国驿站是什么 模拟帝国驿站游戏玩法与特色介绍
2026-07-11 3393829
2026-07-11 0
如果你赶时间,这张表够了:

| 维度 | Spring AI | Spring AI Alibaba | AgentScope |
|---|---|---|---|
| 一句话 | AI 领域的 JDBC | AI 领域的 MyBatis-Plus | AI 领域的 Hibernate |
| 核心理念 | 模型抽象 + 可组合 | Graph 工作流编排 | Agentic 自主决策 |
| Agent 状态 | 无状态 | 无状态 | 有状态 |
| 最适合 | 快速集成多模型 API | 企业级 AI 工作流 | 桌面 Agent / 自动化任务 |
如果你想知道为什么,请继续往下看。
Spring AI 由 VMware/Pivotal 团队开发,2025 年 5 月发布 1.0 GA。它的定位很明确:为 Spring 生态提供统一的 AI 模型访问抽象。
就像 JDBC 屏蔽了不同数据库的差异,Spring AI 屏蔽了 OpenAI、Anthropic、Ollama 等不同模型提供商的 API 差异。你写一次代码,换个配置就能切换模型。
// 换模型?改配置就行,代码一行不用动private ChatClient chatClient;String reply = chatClient.prompt("你好").call().content();
核心组件:
Spring AI Alibaba 由阿里巴巴开源,2026 年 5 月发布 1.0 GA。它完全兼容 Spring AI 的核心 API,在此基础上增加了企业级能力,最大的亮点是 Graph 工作流引擎。
如果说 Spring AI 是给你砖头和水泥,Spring AI Alibaba 就是给你一套精装修方案。
// Graph 工作流编排示例Graph graph = new StateGraph<>(AgentState::new).addNode("classify", classifyNode).addNode("handle_complaint", complaintNode).addNode("handle_inquiry", inquiryNode).addEdge(START, "classify").addConditionalEdges("classify", routerFunction).compile();
核心组件:
AgentScope 同样由阿里巴巴开源,2.0 版本以 Java 为主要语言。它的设计理念和前两者完全不同:不是让开发者编排流程,而是让 Agent 自己决定怎么做。
给 Agent 一个目标,它自己规划步骤、调用工具、处理异常、总结结果。开发者只需要定义"做什么",不需要定义"怎么做"。
// 创建一个有状态的 Agent,它自己决定调用什么工具HarnessAgent agent = HarnessAgent.builder().name("dev-assistant").sysPrompt("你是一个开发助手").model(model).workspace(Paths.get("./workspace")).session(session).sessionKey(SimpleSessionKey.of("my-session")).build();// 给它一个任务,它自己规划执行agent.call(Msg.user("帮我重构这个类的异常处理")).subscribe(reply -> System.out.println(reply.getTextContent()));
核心组件:
三个框架的根本差异在于一个问题:谁来决定下一步做什么?
控制力强 ◄─────────────────────────────► 自主性强(开发者决定每一步)(Agent 自己决定)Spring AISpring AI AlibabaAgentScope ││ │"调哪个API" "走哪条路径""怎么完成目标"开发者硬编码 Graph DAG 定义Agent ReAct 规划
开发者代码 ──► ChatClient ──► 模型API ──► 返回结果 │开发者决定何时调用、传什么参数
你需要自己写 if/else 来决定调什么模型、传什么上下文、怎么处理返回值。框架只负责帮你把 API 调用变得简单。
开发者定义 Graph│├── Node A: 意图分类├── Edge: if 投诉 → Node B├── Edge: if 咨询 → Node C├── Node B: 处理投诉└── Node C: 处理咨询运行时:数据沿 Graph 自动流转
开发者定义好路径和条件,运行时框架自动驱动。流程确定、可预测、可审计。
开发者给目标:"帮我修复这个 bug"│Agent 自主决策 (ReAct 循环)├── Thought: 先看报错信息├── Action: 读取日志文件├── Observation: NullPointerException at line 42├── Thought: 需要看源码├── Action: 读取源文件├── Thought: 缺少空值检查└── Action: 修改代码 + 运行测试
Agent 自己决定每一步做什么,开发者只需要提供工具和目标。
| 能力 | Spring AI | Spring AI Alibaba | AgentScope |
|---|---|---|---|
| 对话(Chat) | ✅ ChatClient | ✅ ChatClient | ✅ HarnessAgent.call() |
| 流式响应 | ✅ Flux | ✅ Flux | ✅ streamEvents() |
| 工具调用 | ✅ Function Calling | ✅ + MCP 协议 | ✅ ReAct + Toolkit |
| 对话记忆 | ✅ ChatMemory(外置) | ✅ ChatMemory(外置) | ✅ AgentState(内置) |
| RAG 检索增强 | ✅ VectorStore + Advisor | ✅ + 百炼集成 | ✅ Knowledge + RAGMode |
| 工作流编排 | ❌ | ✅ Graph DAG | ❌ |
| 多 Agent 协作 | ❌ | ✅ Graph 多节点 | ✅ Hub/Observer |
| Sandbox 执行 | ❌ | ❌ | ✅ Shell + FS 隔离 |
| 自动对话压缩 | ❌ | ❌ | ✅ Compaction |
| Skill 管理 | ❌ | ❌ | ✅ 动态 Skill |
| 会话持久化 | ✅ JDBC/Redis | ✅ JDBC/Redis | ✅ Session 接口 |
| 模型切换 | ✅ 换 Bean | ✅ 换 Bean | ⚠️ 需重建 Agent |
| 高并发 | ✅ 天然支持 | ✅ 天然支持 | ⚠️ 需管理实例生命周期 |
这是三个框架最深层的分歧,直接决定了它们各自擅长什么。
// Agent 是无状态的,Memory 由外部管理ChatMemory memory = new JdbcChatMemory(jdbcTemplate);ChatClient client = ChatClient.builder(model).defaultAdvisors(new MessageChatMemoryAdvisor(memory)).build();// 每次调用传入 conversationId,框架自动加载/保存历史client.prompt("你好").advisors(a -> a.param("conversationId", "session-123")).call();
ChatMemory 按 conversationId 独立存取// Agent 在构建时绑定 SessionKey,状态和 Agent 耦合HarnessAgent agent = HarnessAgent.builder().session(session).sessionKey(SimpleSessionKey.of("session-123"))// 构建时固定.build();// Agent 内部维护 AgentState(对话历史 + 工具状态 + 压缩状态)// sessionKey 和 state 都是 final 的,不可变
AgentState 不仅有对话历史,还有工具执行上下文、Compaction 状态等推荐:Spring AI Alibaba > Spring AI > AgentScope
原因:无状态 Agent 天然适配 Web 服务的高并发、无状态部署模型。切换模型只需换配置,不影响现有会话。
推荐:Spring AI Alibaba
原因:Graph 引擎专为这类场景设计——意图分类 → 路由 → 处理 → 审核,每一步可控可追溯。
用户输入 → [意图分类] → 投诉? → [情绪安抚] → [工单创建] → [通知]→ 咨询? → [知识检索] → [回答生成]
推荐:AgentScope
原因:内置 Sandbox、文件系统、Skill 管理,Agent 有状态可以维持复杂的多轮工具调用上下文。这就是 Cursor、Copilot 类产品的底层需求。
推荐:AgentScope
原因:ReAct 循环让 Agent 自主决策,不需要预定义流程。适合代码审查、自动修复、数据处理等开放式任务。
推荐:Spring AI
原因:最轻量,核心就是模型抽象层。加几个依赖、写几行配置就能跑。
推荐:AgentScope
原因:Hub/Observer 模式让 Agent 之间可以异步通信、互相观察,适合模拟团队协作(PM Agent、Dev Agent、QA Agent)。
你的需求是什么?│├── 只是调模型 API,不需要复杂逻辑│ └── ✅ Spring AI(最轻量)│├── 需要确定性的业务流程编排│ └── ✅ Spring AI Alibaba(Graph 引擎)│├── 需要 Agent 自主规划和执行│ ├── 单用户/桌面场景?│ │ └── ✅ AgentScope(天然适配)│ └── 多用户 Web 服务?│ └── ✅ AgentScope + 生命周期管理(LRU/TTL)│或考虑 Spring AI Alibaba│├── 需要高并发多用户聊天│ └── ✅ Spring AI Alibaba(无状态,易扩展)│└── 需要深度阿里云集成└── ✅ Spring AI Alibaba(百炼平台原生支持)
可以,而且阿里巴巴官方也建议这样做:
用户请求 → Spring AI Alibaba (Graph)├── Node 1: 意图分类(确定性)├── Node 2: 知识检索(确定性)└── Node 3: AgentScope Agent(自主执行复杂任务) ├── ReAct: 读文件 ├── ReAct: 分析代码 └── ReAct: 生成修复方案
两者互补:Graph 提供可控性,AgentScope 提供自主性。
| Spring AI | Spring AI Alibaba | AgentScope | |
|---|---|---|---|
| 你应该选它,如果 | 只需要调模型 API,追求轻量 | 需要企业级工作流 + 高并发 Web 服务 | 需要自主 Agent + 工具执行 + 桌面场景 |
| 你不应该选它,如果 | 需要复杂的 Agent 编排 | 需要 Agent 完全自主决策 | 需要高并发多用户 Web 服务 |
| 学习曲线 | ⭐ 低 | ⭐⭐ 中 | ⭐⭐⭐ 高 |
| 灵活性 | ⭐⭐⭐ 高 | ⭐⭐ 中 | ⭐ 低(框架约束强) |
| 开箱即用 | ⭐ 低 | ⭐⭐ 中 | ⭐⭐⭐ 高 |
没有最好的框架,只有最合适的场景。理解它们的设计哲学,才能做出正确的选型。