Java Agent 框架深度对比报告
Java Agent 框架深度对比报告
1. Java Agent 框架在企业应用中的优势
1.1. Java vs Python:语言层面大规模企业应用开发对比
| 对比维度 | Java | Python | 为何Java更适合大规模企业应用 |
|---|---|---|---|
| 类型系统 | 静态强类型 编译期类型检查,所有变量/参数类型在编译时确定 |
动态弱类型 运行时类型推断,类型错误只有在代码执行到该行时才会暴露 |
✅ 错误前置发现:Java在编译阶段就能捕获类型不匹配、空指针等问题,而Python的类型错误往往在线上运行时才暴露,在复杂的AI Agent状态流转中,这种差异可能导致难以重现的线上故障 |
| 代码规模与可维护性 | 长期维护友好 接口(Interface)、泛型、注解等机制提供清晰的契约边界 |
快速迭代优先 灵活但缺乏强制约束,大型项目中模块边界模糊 |
✅ 支撑百万行级代码:Java的强类型+接口约束使得大规模代码库的依赖关系清晰可控,团队成员可以通过IDE快速理解方法签名和调用链路,而Python在代码量超过10万行后,重构和维护成本急剧上升 |
| 运行时性能 | JIT编译执行 字节码经JVM实时编译为机器码,峰值性能接近C++ |
解释执行 逐行解释,GIL(全局解释器锁)限制多线程CPU密集型能力 |
✅ 高吞吐低延迟:JVM的JIT编译和成熟的GC(垃圾回收)机制,使Java在处理高并发Agent请求时吞吐量远超Python,单机可支撑数万并发连接,而Python受GIL限制,多核CPU利用率不足 |
| 并发与多线程模型 | 原生多线程 操作系统级线程映射,充分利用多核CPU,成熟的 java.util.concurrent并发库 |
GIL限制 同一时刻仅一个线程执行Python字节码,多线程无法利用多核,被迫使用多进程(IPC开销大) |
✅ 真正的并行计算:Agent应用通常需要同时处理多个工具调用、模型推理和状态更新,Java的多线程模型可以实现真正的并行处理,而Python的多线程在CPU密集型场景下形同单核 |
| 企业级生态积淀 | 深厚的企业级沉淀 近30年积累的分布式事务、连接池、集群管理等成熟方案 |
偏重脚本与快速开发 在企业级容错、事务一致性等领域的方案相对年轻 |
✅ 经过大规模验证的工程实践:Java生态中的Spring Cloud、Netflix OSS、Apache生态等,是经过全球顶级互联网公司大规模生产验证的成熟方案,企业无需“重新发明轮子” |
| 工具链与调试支持 | 世界一流的IDE支持 IntelliJ IDEA/Eclipse提供精准的代码导航、重构、自动补全 |
相对薄弱的工具支持 动态特性使得IDE难以提供同等精确度的代码分析 |
✅ 研发效率保障:对于数百人的开发团队,Java的IDE支持使得代码审查、重构、调用链追溯变得极其高效,大幅降低团队协作成本 |
| 长期版本兼容性 | 严格向后兼容 JDK版本升级对存量代码影响极小,Oracle长期维护LTS版本(如8/11/17/21) |
版本升级较激进 2.x到3.x常有不兼容变更(如Python 2 → 3的迁移灾难) |
✅ 资产保值:Java代码可以平稳运行十年以上,企业技术资产不会因语言版本升级而被迫大规模重写,这对金融、政务等长周期项目至关重要 |
1.2. Java Agent 框架在企业应用中的优势
| 优势维度 | 核心价值 | 关键能力 | 对企业的实际收益 |
|---|---|---|---|
| 1. 生产级工程化与稳健性 | 将LLM的“不确定性”收敛为可控的业务行为 | ✅ 断点续跑与一键回滚 ✅ 目标导向确定性规划(GOAP) ✅ 完善的流程控制机制 |
降低生产故障影响面,保障长周期复杂任务的最终一致性 |
| 2. 无缝融入企业技术生态 | 最大化复用现有Java技术栈投资 | ✅ Spring Boot/Cloud原生集成 ✅ MyBatis/Redis/RocketMQ无缝整合 ✅ 无需重构架构即可注入AI能力 |
迁移成本极低,存量系统快速获得AI能力增强 |
| 3. 卓越的高并发与分布式能力 | 为大规模生产流量设计的性能底座 | ✅ 响应式架构(Project Reactor全链路非阻塞I/O) ✅ 无状态水平扩展 + K8s HPA ✅ GraalVM原生镜像冷启动<200ms |
完美适配Serverless/微服务,按需弹性伸缩,降低计算成本 |
| 4. 完备的企业级运维与安全合规 | 让Agent可信、可控、可观测 | ✅ 全链路可观测性(OpenTelemetry原生集成) ✅ 安全沙箱(隔离执行不可信代码) ✅ 数据自动脱敏 + 细粒度权限管控 ✅ 熔断/降级/重试三大容错机制 |
满足企业安全审计要求,保障核心业务高可用,快速定位故障节点 |
| 5. 强类型安全与团队协作规范 | 为大型团队协同开发提供制度保障 | ✅ 编译时类型检查,减少运行时错误 ✅ 统一开发范式与编码规范 ✅ 高解耦模块化设计 |
降低新人上手难度,提升代码审查与维护效率,适合中大型团队长期迭代 |
1.3. AI Agent场景Java更具工程优势
| 关键场景 | Java的应对 | Python的困境 | 工程影响 |
|---|---|---|---|
| Agent状态机复杂流转 | 强类型状态模式+编译期校验,状态转换合法性和数据完整性有保障 | 运行时才暴露字段拼写错误或类型异常,在长链路Agent中难以调试 | Python的灵活在复杂状态管理下反而成为“陷阱” |
| 多工具并发调用 | 原生线程池+CompletableFuture实现真正的并行工具执行 | GIL限制+异步回调的复杂心智模型,实际并行度受限 | Java能充分发挥多核性能,降低单次Agent响应延迟 |
| 代码库随业务膨胀 | 模块化+接口解耦,业务逻辑可拆分为独立Maven模块,依赖关系清晰 | 缺乏模块化强制约束,项目增大后容易出现循环依赖和“意大利面条”式代码 | Java架构天然支持企业级应用的横向扩展和团队分工 |
| 新人上手与团队扩张 | 统一的强约束范式,新人可以遵循既有规范快速贡献 | 不同工程师写出风格迥异的代码,Code Review成本高 | Java让大规模团队协作变得“有序”而非“混乱” |
总结:Python强于实验速度,Java胜在工程确定性。当AI Agent从个人项目走向服务千万用户的企业应用时,Java在语言层面提供的类型安全、并发性能、维护效率和生态成熟度,构成了不可替代的工程地基。
| 对比对象 | 定位 | 适用阶段 |
|---|---|---|
| Python(如LangChain) | 算法创新与原型验证的“尖刀” | 从0到1快速探索 |
| Java Agent框架 | 生产级落地的“基石” | 从1到N规模化商用 |
最佳实践路径:Python快速验证AI原型 → Java构建高可用、可商用的生产级Agent应用。
2. Java Agent 框架汇总对比
2.1. 基本信息
| 维度 | LangChain4j | Spring AI | Spring AI Alibaba | AgentScope Java | OpenJiuWen Core Java |
|---|---|---|---|---|---|
| 出品方 | 社区驱动(Dmytro Liubarskyi 创建,Red Hat & Microsoft 支持) | Spring 官方(Broadcom/VMware) | 阿里巴巴(Alibaba Cloud) | 阿里通义实验室 | 华为 openJiuwen 社区 |
| 仓库地址 | GitHub | GitHub | GitHub | GitHub | GitCode · GitHub 镜像 |
| Stars | ~12,700 [ref:1] | ~9,200 [ref:2] | ~10,300 [ref:3] | ~4,600 [ref:4] | ~2,521(GitCode)[ref:5] |
| 当前版本号 | 1.18.0 [ref:1] | 1.1.0 GA(2.0.0-M8 开发中)[ref:2] | 1.1.2.0 [ref:3] | 2.0.0 GA [ref:4] | 0.1.12 [ref:5] |
| 最后版本发布日期 | 2026-07 [ref:1] | 2025-11(GA);2026-05(2.0-M8)[ref:2] | 2026 Q1-Q2 [ref:3] | 2026-07-10 [ref:4] | 2026-07(develop 分支活跃)[ref:5] |
| Java 版本要求 | Java 17+ [ref:1] | Java 17+ [ref:2] | Java 17+ [ref:3] | Java 17+ [ref:4] | Java 21 或更高 [ref:5] |
| 许可证 | Apache 2.0 [ref:1] | Apache 2.0 [ref:2] | Apache 2.0 [ref:3] | Apache 2.0 [ref:4] | Apache 2.0 [ref:5] |
2.2. 核心能力对比
| 对比维度 | LangChain4j | Spring AI | Spring AI Alibaba | AgentScope Java | OpenJiuWen Core Java |
|---|---|---|---|---|---|
| 核心范式 | ReAct、Plan-and-Execute、BDI、Debate、Blackboard、Voting [ref:1] | Function Calling、Advisors 拦截器模式(无原生 Agent 范式)[ref:2] | ReAct(ReactAgent)+ Sequential、Parallel、Routing、Loop 多 Agent 编排 [ref:3] | ReAct 双层架构:ReActAgent(无状态推理核心)+ HarnessAgent(工程化层)[ref:4] | ReAct(ReActAgent:思考→行动→观察循环)+ Workflow(WorkflowAgent:多步骤自动化)[ref:5] |
| 推理引擎 | 统一 API 覆盖 20+ LLM 提供商 [ref:1] | 可移植 API 覆盖 10+ 提供商 [ref:2] | 依托 Spring AI + DashScope,兼容多模型 [ref:3] | 模块化扩展:DashScope/OpenAI/Anthropic/Gemini/DeepSeek/Ollama [ref:4] | 盘古、通义千问、DeepSeek [ref:5] |
| MCP 协议支持 | ✅ 客户端 + 服务端 [ref:1] | ✅ 一等支持:客户端 + 服务端,STDIO/SSE/Streamable-HTTP [ref:2] | ✅ 依托 Spring AI + Nacos MCP Registry [ref:3] | ✅ 内置支持 [ref:4] | ❌ Java SDK 未直接实现 [ref:5] |
| A2A 协议支持 | ✅ langchain4j-agentic-a2a 模块 [ref:1] | ❌ 不支持 [ref:2] | ✅ Nacos 服务发现 + 分布式 Agent 协调 [ref:3] | ✅ A2A + AG-UI 协议适配 [ref:4] | ❌ Java SDK 未直接实现 [ref:5] |
| Session 持久化 | ChatMemory 接口,5+ 存储后端 [ref:1] | ChatMemory Repository(JDBC/Cassandra/MongoDB/Neo4j/Redis)[ref:2] | Graph 层持久化,长时运行有状态 Agent [ref:3] | AgentStateStore(内存/JSON/MySQL/Redis/PostgreSQL/OSS/COS),跨副本恢复 [ref:4] | Session 级状态管理 + Checkpoint 断点恢复 [ref:5] |
| 双层记忆 | ✅ 短期:ChatMemory(MessageWindow/TokenWindow);长期:RAG + 向量存储 [ref:1] | ✅ 短期:ChatMemory;长期:RAG + Vector Store [ref:2] | ✅ 短期:Spring AI ChatMemory;长期:RAG + mem0 模块 [ref:3] | ✅ 三层记忆:In-context 对话 → agent-curated MEMORY.md → 磁盘事实日志 + 自动压缩 [ref:4] | ✅ 短期:上下文管理;长期:Memory 模块(向量/图/KV 多种存储)[ref:5] |
| Skill 技能系统 | ⚠️ 无独立 Skill 系统,通过 @Tool 注解注册工具 | ❌ 无独立 Skill 系统,通过 @Bean Function + MCP Tool 扩展 | ❌ 无独立 Skill 系统,通过 Graph 节点 + A2A 扩展 | ✅ 四层 Skill 组合 + 自学习闭环(propose→curate→promote),成功模式自动保存为 Markdown Skills [ref:4] | ✅ Skills 模块(高阶用法),文档提及 Skills 能力 [ref:5] |
| 响应式框架 | ⭐⭐ 有限支持(依赖 Quarkus/Micronaut 等框架集成)[ref:1] | ⭐⭐⭐ 支持 WebFlux(Servlet 阻塞模型为主)[ref:2] | ⭐⭐⭐ 基于 Spring AI + Graph 异步节点并行执行 + Flux 流式响应 [ref:3] | ⭐⭐⭐⭐⭐ Project Reactor 全链路非阻塞,GraalVM 冷启动 <200ms [ref:4] | ⭐⭐⭐ Reactor 风格异步非阻塞接口(v0.1.13+),Pregel 异步并行图引擎 [ref:5] |
| 可观测性 | ⭐⭐⭐ AI Service 事件监听 + Micrometer 度量模块 + OpenTelemetry(通过 Quarkus 集成)[ref:1] | ⭐⭐⭐⭐ Micrometer 原生观测 + OpenTelemetry GenAI 语义约定 + 全链路 Tracing,Spring Boot 4 一键集成 [ref:2] | ⭐⭐⭐⭐ Micrometer + OpenTelemetry + Admin 可视化平台(运行时追踪/评估/监控)[ref:3] | ⭐⭐⭐⭐⭐ 内置 OTEL 追踪(OtelTracingMiddleware)+ Studio 可视化调试 + 28 种类型化事件流 + 5 阶段 Middleware 可观测钩子 [ref:4] | ⭐⭐⭐ 全链路可观测性 + Agent-Ops 监控仪表盘 + 30+ 核心指标 [ref:5] |
| 安全沙箱 | ⭐⭐⭐ Input/Output Guardrails 安全校验,无代码执行沙箱 [ref:1] | ⭐⭐⭐ Advisor 安全拦截 + Guardrails,无代码执行沙箱 [ref:2] | ⭐⭐⭐⭐ spring-ai-alibaba-sandbox 独立模块,支持代码安全执行隔离 [ref:3] | ⭐⭐⭐⭐⭐ 四层沙箱:本地子进程 / Docker / Kubernetes / E2B 云沙箱,支持快照恢复 + 权限引擎三态决策 [ref:4] | ⭐⭐⭐ Skill Python 脚本沙箱执行(v0.1.13+),云端安全沙箱隔离 [ref:5] |
| 容错机制 | ⭐⭐⭐ 重试 + Fallback + 熔断(依赖 Quarkus SmallRye Fault Tolerance / MicroProfile)[ref:1] | ⭐⭐⭐⭐ 重试 + 熔断 + 降级(Spring Resilience4j + Spring Cloud Circuit Breaker)[ref:2] | ⭐⭐⭐⭐ 工具重试 + Timeout + HITL 纠错 + Context Engineering 错误恢复策略 [ref:3] | ⭐⭐⭐⭐⭐ 熔断+降级+重试三件套 + Model Fallback 自动切换 + 跨副本 Session 恢复 + 零停机滚动部署 [ref:4] | ⭐⭐⭐ Checkpoint 断点恢复 + 状态中断恢复 + 多工作流切换断点续传 [ref:5] |
| 多Agent协同 | ⭐⭐⭐⭐ SupervisorAgent + A2A 协议 + 7 种 Agent 模式(BDI/Debate/Blackboard/Voting)[ref:1] | ⭐⭐ 无原生多 Agent 编排,通过 Advisors + Tool Calling 组合模拟 [ref:2] | ⭐⭐⭐⭐ 4 种编排模式(Sequential/Parallel/Routing/Loop)+ Supervisor + A2A(Nacos 集成)+ 执行树协调 [ref:3] | ⭐⭐⭐⭐ 声明式子 Agent(Markdown YAML)+ agent_spawn/agent_send + 事件实时转发 + A2A 协议 [ref:4] | ⭐⭐⭐⭐⭐ Agent Teams 多智能体协作框架(v0.1.13)+ JiuwenSwarm "养蜂"群体智能模式 + 团队技能中心 [ref:5] |
| 框架集成生态 | Spring Boot/Quarkus/Helidon/Micronaut/Camel [ref:1] | Spring Boot 深度集成 [ref:2] | Spring Boot + Nacos + 阿里云百炼 [ref:3] | 独立运行,Channel IM(钉钉/飞书/企微),OpenTelemetry [ref:4] | 独立 Java SDK,openJiuWen 生态全栈 [ref:5] |
| 学习曲线 | ⭐⭐⭐⭐ 平缓(模块化库设计,Builder 模式,框架中立,Java 惯用 API)[ref:1] | ⭐⭐⭐⭐⭐ 极平缓(Spring 开发者无缝上手,Auto-Configuration + Starters)[ref:2] | ⭐⭐⭐ 中等(需理解三层架构、Graph DAG 引擎、多 Agent 编排模式)[ref:3] | ⭐⭐⭐ 中等(双层 Agent 架构、Middleware 五阶段、Skill 系统概念较多)[ref:4] | ⭐⭐⭐ 中等(SDK 接口层 + Agent 引擎 + Pregel 图引擎三层了解)[ref:5] |
| 社区活跃度 | ⭐⭐⭐⭐⭐ ~12,700 Stars,Red Hat & Microsoft 支持,社区贡献活跃 [ref:1] | ⭐⭐⭐⭐⭐ ~9,200 Stars,VMware/Broadcom 官方维护,Spring 生态加持 [ref:2] | ⭐⭐⭐⭐ ~10,300 Stars,阿里云生态,快速迭代 [ref:3] | ⭐⭐⭐ ~4,600 Stars,快速增长,阿里通义实验室出品 [ref:4] | ⭐⭐ ~2,500 Stars(GitCode),华为 openJiuwen 社区,236 名成员 [ref:5] |
| 典型应用场景 | 模型集成与 RAG、多 Agent 工作流、框架中立跨平台场景 [ref:1] | Spring Boot 存量项目平滑引入 AI、企业 RAG、AI 工程化应用 [ref:2] | 企业级多 Agent 协作、工作流编排、阿里云生态深度集成 [ref:3] | 高并发微服务/Serverless、长时运行分布式 Agent、多租户隔离生产系统 [ref:4] | 大规模智能体集群、行业级生产应用、多工作流切换与断点续传场景 [ref:5] |
| 内置 Agent 类型 | AI Service(声明式)、@Agentic、SupervisorAgent、BDI/Debate/Blackboard/Voting [ref:1] | 无 (ChatClient + Advisors + Tool Calling)[ref:2] | ReactAgent、SequentialAgent、ParallelAgent、RoutingAgent、LoopAgent [ref:3] | ReActAgent、HarnessAgent、声明式 Sub-agents [ref:4] | ReActAgent、WorkflowAgent [ref:5] |
| 工作流支持方式 | Agentic 框架 + LangGraph4j [ref:1] | Advisors API 管道 + ETL [ref:2] | Graph DAG 引擎,导出 PlantUML/Mermaid [ref:3] | Middleware(5 阶段)+ Event 系统(28 种事件)+ Plan Mode [ref:4] | Pregel 模型异步并行图执行引擎 [ref:5] |
标注说明:✅ 完整支持 ⚠️ 部分/有限支持 ❌ 不支持
3. 架构设计
3.1. AgentScope Java 2.0 架构
来源:AgentScope Java 2.0 README — “What is AgentScope Java 2.0?” 和 “Key Design” 章节 [ref:4]
AgentScope Java 2.0 采用双层 Agent 架构:底层 ReActAgent 是无状态推理核心,上层 HarnessAgent 通过 Middleware 和 Toolkit 通道叠加工程化基础设施。

┌───────────────────────────────────────────────────────────────────┐
│ Application / Channel IM │
│ (DingTalk / Feishu / WeCom) │
├───────────────────────────────────────────────────────────────────┤
│ HarnessAgent (工程化层) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌────────────┐ │
│ │ Workspace │ │ Memory │ │ Sandbox │ │ Skills │ │
│ │ Persona/ │ │ 短期+长期+ │ │ Local/ │ │ Classpath/ │ │
│ │ MEMORY.md/ │ │ 自动压缩 │ │ Docker/K8s/ │ │ FileSystem/│ │
│ │ Skills/ │ │ │ │ E2B Cloud │ │ Nacos/ │ │
│ │ Subagents │ │ │ │ │ │ Marketplace│ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └────────────┘ │
├───────────────────────────────────────────────────────────────────┤
│ Middleware (五阶段洋葱+管道混合模型) │
│ onAgent → onReasoning → onActing → onModelCall → onSystemPrompt│
├───────────────────────────────────────────────────────────────────┤
│ ReActAgent (Stateless Reasoning Core) │
│ 推理 → 工具调用 → 回复 (ReAct Loop) │
├───────────────────────────────────────────────────────────────────┤
│ Event Stream (28 typed events) │ Permission Engine (三态决策) │
│ Multi-Agent (agent_spawn/send) │ Plan Mode (只读规划) │
├───────────────────────────────────────────────────────────────────┤
│ Distributed Backend │ MCP Protocol │ A2A & AG-UI Protocol │
│ Redis/MySQL/PG/ │ │ │
│ OSS/COS │ │ │
└───────────────────────────────────────────────────────────────────┘
核心设计要点(直接来自 README)[ref:4]:
设计哲学:双层 Agent 架构——ReActAgent 作为无状态推理核心,HarnessAgent 通过 Middleware 和 Toolkit 两个扩展通道叠加工程化基础设施。核心理念是"让智能体稳定完成任务"。
-
Harness Engineering — 面向长时运行的复杂任务:
- Self-evolution & Skill Repository:成功模式自动保存为 Markdown skills,跨会话共享,按需加载
- Layered Memory:In-context 对话 + agent-curated MEMORY.md + 磁盘事实日志,带自动压缩以控制 Prompt 长度
- Sub-agents:通过 Markdown 声明子 Agent 规格,运行时
agent_spawn/agent_send,支持同步或后台委派 - Auto Context Management:结构化压缩保留目标/状态/发现/下一步;超大工具结果卸载到磁盘
- Plan Mode:只读规划状态,plan 文件持久化并驱动执行
-
Enterprise-grade Distributed Deployment:
- Multi-tenant Isolation:session/user/agent/org 多维度隔离
- Secure Sandbox:local subprocess / Docker / Kubernetes / E2B cloud sandbox,支持快照和恢复
- Permission Control:三态引擎(allow / approve / deny),敏感工具需要 HITL 审批
- Session Recovery:AgentStateStore 支持零停机滚动部署
-
Foundation Framework:
- Event Stream:28 种类型化事件,覆盖模型调用、文本增量、工具执行和用户确认的实时流
- Middleware:五阶段
onAgent/onReasoning/onActing/onModelCall/onSystemPrompt - HITL First Class:确认工具参数、批准敏感操作、与外部系统交互
3.2. LangChain4j 架构
来源:LangChain4j README — “Introduction” 章节 [ref:1]
LangChain4j 是一个惯用的 Java 库(Library),非框架。其核心是统一 API:在 LLM 提供商和向量存储之上提供可移植的抽象层。
┌───────────────────────────────────────────────────────────────────┐
│ Application Code │
│ (Chatbot / RAG / Agent / Workflow) │
├───────────────────────────────────────────────────────────────────┤
│ ┌─────────────────────────┐ ┌─────────────────────────┐ │
│ │ AI Services (声明式) │ │ Agentic Framework │ │
│ │ @AiService / @Agentic │ │ SupervisorAgent / BDI / │ │
│ │ 动态代理 + 类型安全 │ │ Debate / Blackboard / │ │
│ │ 接口驱动 │ │ Voting │ │
│ └─────────────────────────┘ └─────────────────────────┘ │
├───────────────────────────────────────────────────────────────────┤
│ Comprehensive Toolbox │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ Prompt │ │ Chat │ │ Function │ │ RAG Pipeline │ │
│ │ Templates│ │ Memory │ │ Calling │ │ (Embed→Store→ │ │
│ │ │ │ (Window/ │ │ (Tools) │ │ Retrieve) │ │
│ │ │ │ Token) │ │ │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────────────┘ │
├───────────────────────────────────────────────────────────────────┤
│ Unified Model API (ChatLanguageModel) │
│ OpenAI │ Anthropic │ Gemini │ Ollama │ Azure │ 20+ providers │
├───────────────────────────────────────────────────────────────────┤
│ Unified Embedding Store API │
│ Pinecone │ Milvus │ Chroma │ Weaviate │ Qdrant │ 30+ stores │
├───────────────────────────────────────────────────────────────────┤
│ Framework Integrations: Spring Boot / Quarkus / Helidon / │
│ Micronaut / Camel │
└───────────────────────────────────────────────────────────────────┘
核心设计要点(直接来自 README)[ref:1]:
设计哲学:库(Library)而非框架,高度模块化,每个功能独立为模块按需引入。以 LLM 为中心,注重灵活性和可组合性。
- 两层抽象:低层提供原语(ChatModel、EmbeddingStore 等)供自由组合;高层通过 AI Services 隐藏复杂度,以声明式方式交互。使用 Java 惯用风格(Builder 模式、强类型、注解驱动、接口优先)。
- 不是 LangChain(Python)的 Java 移植 — 它是为 Java 从零设计的惯用库,围绕 Java 惯例构建:类型安全、POJO、注解、接口、依赖注入、Fluent API
- 统一 API:避免需要学习和实现每个提供商的特定 API,在提供商之间切换无需重写代码
- 全面的工具箱:从低层 prompt templating、chat memory 管理、function calling 到高层模式如 Agents 和 RAG
- 框架中立:不绑定特定框架,可在 Spring Boot、Quarkus、Helidon、Micronaut 等环境中使用
3.3. Spring AI 架构
来源:Spring AI README — 项目概述 [ref:2]
Spring AI 的核心目标是将 Spring 生态系统的设计原则应用于 AI 领域,连接企业的 Data 和 API 与 AI Models。
┌───────────────────────────────────────────────────────────────────┐
│ Spring Boot Application │
├───────────────────────────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ ChatClient API (Fluent Builder) │ │
│ │ 类似 WebClient / RestClient 的编程体验 │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Advisors API (拦截器模式 — 封装通用 AI 模式) │ │
│ │ Memory │ RAG │ Logging │ Custom │ │
│ └─────────────────────────────────────────────────────────────┘ │
├───────────────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ Tool │ │ MCP │ │ ETL │ │ Structured │ │
│ │ Calling │ │ Client + │ │ Pipeline │ │ Output │ │
│ │ │ │ Server │ │ │ │ (POJO映射) │ │
│ │ │ │ STDIO/SSE/ │ │ │ │ │ │
│ │ │ │ HTTP │ │ │ │ │ │
│ └──────────┘ └──────────────┘ └──────────┘ └──────────────┘ │
├───────────────────────────────────────────────────────────────────┤
│ ChatMemory Repository │ Vector Store Abstraction │
│ JDBC/Cassandra/Mongo/ │ 20+ stores (Pinecone/Milvus/ │
│ Neo4j/Redis │ Chroma/Weaviate/... ) │
├───────────────────────────────────────────────────────────────────┤
│ Model Abstraction (ChatModel / EmbeddingModel) │
│ OpenAI │ Anthropic │ Gemini │ Ollama │ Bedrock │ DeepSeek │ ... │
│ 支持 Chat / Embedding / Image / Audio / Moderation 等多种模态 │
├───────────────────────────────────────────────────────────────────┤
│ Spring Boot Auto-Configuration & Starters (start.spring.io) │
│ (Micrometer / Spring Security / Spring Data) │
└───────────────────────────────────────────────────────────────────┘
核心设计要点(直接来自 README)[ref:2]:
设计哲学:框架(Framework),遵循 Spring 的"约定优于配置"原则,与 Spring 生态无缝集成。核心挑战是"连接企业 Data 和 APIs 与 AI Models"。所有核心组件均为 Spring Bean,深度依赖 Spring IOC 容器。提供一站式解决方案,企业级稳定。定位为 AI 工程框架而非 Agent 框架,通过 ChatClient + Advisors + Tool Calling 组合实现类 Agent 行为。
- 可移植性:跨 AI 提供商的统一 API,同步和流式选项
- 模块化设计:各组件解耦,按需组合(从 2.0 开始拆分为 commons/model/vector-store/client-chat/rag 等独立模块)
- 强类型:使用强类型数据结构和 API(Structured Outputs 映射为 POJO)
- Spring Boot 原生集成:所有组件通过 Auto-Configuration 和 Starters 一键集成
- 无原生 Agent 类型:Spring AI 定位为 AI 工程框架,通过 ChatClient + Advisors + Tool Calling 组合实现类 Agent 行为
3.4. Spring AI Alibaba 架构
来源:Spring AI Alibaba README — “架构设计 (Architecture)” 章节 [ref:3]
Spring AI Alibaba 采用三层架构:平台层(Admin)→ 框架层(Agent Framework)→ 运行时层(Graph)。

┌───────────────────────────────────────────────────────────────────┐
│ Platform Layer │
│ Spring AI Alibaba Admin (一站式 Agent 平台) │
│ 可视化 Agent 开发 │ 可观测性 │ 评估 │ MCP 管理 │
│ 与 Dify 等低代码平台集成,支持 DSL 迁移 │
├───────────────────────────────────────────────────────────────────┤
│ Framework Layer │
│ Spring AI Alibaba Agent Framework │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ ReactAgent (多模态:文本 + 图像理解,基于工具的图像/音频生成) │ │
│ ├─────────────────────────────────────────────────────────────┤ │
│ │ Multi-Agent Orchestration (内置四种编排模式) │ │
│ │ SequentialAgent │ ParallelAgent │ RoutingAgent │ LoopAgent │ │
│ ├─────────────────────────────────────────────────────────────┤ │
│ │ Context Engineering (上下文工程最佳实践) │ │
│ │ HITL │ Compaction │ Editing │ Limits │ Retry │ Planning │ │
│ │ Dynamic Tool Selection │ │
│ └─────────────────────────────────────────────────────────────┘ │
├───────────────────────────────────────────────────────────────────┤
│ Runtime Layer │
│ Spring AI Alibaba Graph │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Graph-Based Workflow (DAG 引擎) │ │
│ │ 条件路由 │ 嵌套图 │ 并行执行 │ 状态管理 │ │
│ │ 导出 PlantUML / Mermaid │ │
│ ├─────────────────────────────────────────────────────────────┤ │
│ │ A2A (Nacos 集成) │ MCP Registry │ Sandbox │ │
│ └─────────────────────────────────────────────────────────────┘ │
├───────────────────────────────────────────────────────────────────┤
│ Spring AI Core (模型 / 工具 / 向量存储) │
│ DashScope │ OpenAI │ DeepSeek │ 智谱AI │ ... │
├───────────────────────────────────────────────────────────────────┤
│ Spring Boot Auto-Configuration │
│ (Nacos / ARMS / Langfuse / Alibaba Cloud) │
└───────────────────────────────────────────────────────────────────┘
核心设计要点(直接来自 README)[ref:3]:
设计哲学:基于 Spring AI 构建的 Agentic AI 框架。
- 三层架构:
- 平台层(Admin):一站式可视化平台,支持无代码构建和部署 Agent,可导出为独立 Java 项目
- 框架层(Agent Framework):内置上下文工程最佳实践和 HITL 支持
- 运行时层(Graph):提供长运行有状态 Agent 所需的持久化、工作流编排和流式处理
- 多 Agent 编排:SequentialAgent(顺序)/ ParallelAgent(并行)/ RoutingAgent(路由)/ LoopAgent(循环)
- Graph-Based Workflow:基于图的工作流运行时,支持条件路由、嵌套图、并行执行、状态管理,可导出 PlantUML/Mermaid。以 DAG Graph 为核心理念,实现单 Agent、多 Agent 和复杂工作流编排。
- Context Engineering:HITL、上下文压缩、上下文编辑、模型与工具调用限制、工具重试、规划、动态工具选择
- A2A 支持:通过 Nacos 实现分布式 Agent 协调
- 官方明确指出:“ReactAgent 实际上运行在 Graph Runtime 之上”,如需更高级的 ReactAgent 范式驱动智能体,推荐使用 AgentScope。深度集成阿里云生态。
3.5. OpenJiuWen Core Java 架构
来源:OpenJiuWen Core Java README.zh — “架构设计” 和 “项目结构” 章节 [ref:5]
OpenJiuWen Core Java 架构分为三层:SDK 接口层 → Agent 引擎 → 高性能图执行引擎。

┌───────────────────────────────────────────────────────────────────┐
│ SDK Interface Layer (SDK 接口层) │
│ 开发接口:Agent 创建 │ 工作流设计/编排 │ LLM 调用 │ 工具调用 │
│ 目标:Java SDK 接口,关注开发者需求 │
├───────────────────────────────────────────────────────────────────┤
│ Agent Engine (智能体引擎) │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Application Layer (application/) │ │
│ │ ┌───────────────┐ ┌─────────────────────┐ │ │
│ │ │ ReActAgent │ │ WorkflowAgent │ │ │
│ │ │ (Think→Act→ │ │ (预定义工作流 + │ │ │
│ │ │ Observe 循环)│ │ 任务切换 + │ │ │
│ │ │ 自我修正 │ │ 断点续传) │ │ │
│ │ └───────────────┘ └─────────────────────┘ │ │
│ │ schema/ (配置 Schema) │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ Controller Layer (controller/) │ │
│ │ Agent 控制器:任务规划 / 工具选择调用 / 工作流切换 │ │
│ │ 内置标准化组件:意图识别 │ 提问器 │ LLM 调用 │ 工具 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ Foundation Layer (foundation/) │ │
│ │ llm/ (盘古/Qwen/DeepSeek) │ tool/ (工具系统) │ │
│ │ store/ (存储系统) │ prompt/ (模板) │ │
│ └─────────────────────────────────────────────────────────┘ │
├───────────────────────────────────────────────────────────────────┤
│ High-Performance Graph Execution Engine (高性能图执行引擎) │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Pregel 模型 — 异步并行图执行器 │ │
│ │ 组件并发执行 │ 异步 I/O 处理 │ 结构化上下文管理 │ │
│ │ 流批一体传值 │ 动态跳转 │ 状态中断与恢复 │ │
│ │ 流式数据传输 │ 多工作流并行处理 │ │
│ └─────────────────────────────────────────────────────────────┘ │
├───────────────────────────────────────────────────────────────────┤
│ Storage Backends │
│ Vector │ Milvus / Chroma / pgvector / 内存向量 │
│ Graph │ 内存图数据存储 │
│ KV │ 数据库 KV + 内存 KV │
│ Object │ 本地对象存储 │
├───────────────────────────────────────────────────────────────────┤
│ 开放能力:Memory (记忆系统) │ Context (上下文管理) │ │
│ Runner (运行器) │ Session (会话管理) │
└───────────────────────────────────────────────────────────────────┘
核心设计要点(直接来自 README)[ref:5]:
设计哲学:以"CLI as New POSIX, Skill as New Library, Agent as New Service"为设计理念。
- SDK 接口层:聚焦大模型应用的开发需求,覆盖 Agent 创建、工作流编排、LLM 调用、提示词模板等
- Agent 引擎:两大场景——ReAct 智能交互与工作流自动跳转,通过 Agent 控制器支撑复杂任务规划
- 高性能图执行引擎:基于 Pregel 模型的异步并行图执行器,支持组件并发执行、状态中断与恢复、流式数据传输
- 开箱即用组件:意图识别、提问器、LLM 调用、工具组件等标准化组件,降低开发门槛
- 多工作流切换:单会话内管理多个工作流,支持自由切换,框架保障被打断工作流的断点接续
- 多存储后端:向量(Milvus/Chroma/pgvector)、图、KV、对象存储
3.6. 架构差异总结
| 差异点 | LangChain4j | Spring AI | Spring AI Alibaba | AgentScope Java | OpenJiuWen Core Java |
|---|---|---|---|---|---|
| 分层模型 | 库(Library),无固定分层,统一 API + 工具箱 + 框架集成 [ref:1] | 5 层:应用→ChatClient/Advisors→能力→模型→Spring Boot [ref:2] | 3 层:Platform(Admin)→ Framework(Agent Framework)→ Runtime(Graph)[ref:3] | 双层:ReActAgent(无状态核心)+ HarnessAgent(工程化层)[ref:4] | 3 层:SDK Interface → Agent Engine → Graph Engine + 存储层 [ref:5] |
| 核心抽象 | AI Service 接口 + 动态代理 [ref:1] | ChatClient + Advisors [ref:2] | ReactAgent + Graph DAG [ref:3] | ReActAgent + HarnessAgent + Middleware [ref:4] | ReActAgent + WorkflowAgent + Pregel Graph Engine [ref:5] |
| 状态管理 | Agent 实例有状态,ChatMemory 管理 [ref:1] | 依赖 Spring Bean 生命周期 [ref:2] | Graph 节点状态 + 持久化(长运行有状态 Agent)[ref:3] | Agent 完全无状态,Reactor Context 透传 [ref:4] | Session 级状态建模 + Checkpoint 断点恢复 [ref:5] |
| 扩展机制 | 模块化 JAR + 接口实现 [ref:1] | Spring Bean + Advisors [ref:2] | Graph 节点 + Agent 组合 [ref:3] | Middleware 五阶段钩子 + Toolkit 通道 + Skill 系统 [ref:4] | 组件化 + 图节点扩展 + 标准化组件 [ref:5] |
| 设计定位 | 惯用 Java 库(非 LangChain 移植)[ref:1] | Spring 生态 AI 工程框架 [ref:2] | 生产级 Agentic/Workflow/Multi-Agent 框架 [ref:3] | 生产级分布式 Agent 运行平台 [ref:4] | 大模型应用 Java SDK + 高性能运行时 [ref:5] |
4. 详细比较
4.1. Agent 支持类型与扩展机制
| 方面 | LangChain4j | Spring AI | Spring AI Alibaba | AgentScope Java | OpenJiuWen Core Java |
|---|---|---|---|---|---|
| 内置 Agent 类型 | AI Service(@AiService 声明式)、@Agentic(1.3.0+)、SupervisorAgent、BDI Agent(1.18.0+)、Debate Agent(1.17.0+)、Blackboard Agent(1.16.0+)、Voting Agent(1.16.0+)——共 7 种 Agent 模式 | 无显式 Agent 类型。通过 ChatClient + Advisors + Tool Calling 组合实现类 Agent 行为。Advisors 链可封装对话记忆、RAG、安全审核等通用逻辑 | ReactAgent(ReAct 范式,多模态文本+图像理解)、SequentialAgent、ParallelAgent、RoutingAgent/LlmRoutingAgent、LoopAgent、Supervisor——共 6 种 | ReActAgent(无状态推理核心,安全并发多 session)、HarnessAgent(工程化层,叠加 Middleware + Toolkit)、Sub-agents(YAML/Markdown 声明式)——3 层 Agent 架构 | ReActAgent(思考→行动→观察迭代循环,自我纠错)、WorkflowAgent(多步骤任务导向的流程自动化,灵活切换任务)——2 种 |
| 扩展机制 | @Tool 注解(支持继承 1.16.0+)、动态工具(LLM 生成代码执行)、Guardrails(Input/Output 拦截链)、声明式+编程式 API 混用(1.6.0+)、A2A 声明式创建远程 Agent(1.17.0+) | @Bean 注册 Function 作为工具、Advisor 接口自定义拦截逻辑(1.1.0+ 递归 Advisor 执行)、MCP 注解(@McpTool/@McpResource/@McpPrompt)、结构化输出(强制 JSON 格式) | Graph API 灵活编排自定义工作流、Context Engineering 策略集(HITL/上下文压缩/编辑/模型工具调用限制/工具重试/规划/动态工具选择)、自定义 Graph 节点、A2A 远程 Agent 注册 | Middleware 五阶段钩子(onAgent/onReasoning/onActing/onModelCall/onSystemPrompt)、Toolkit 扩展通道、PermissionEngine 三态决策(允许/审批/拒绝)、四层 Skill 组合(Classpath/FS/Nacos/Marketplace)+ SkillFilter、自学习闭环(propose→curate→promote) | 标准化组件(意图识别/提问器/LLM 调用/工具组件)、Agent 控制器(controller/ 任务规划/工具选择/工作流切换)、图节点扩展(Pregel 模型异步并行图执行器)、组件并发+流批一体传值+动态跳转、多工作流管理(单会话内多任务执行与按需恢复)、事件驱动钩子(EDA)+图计算(Graph)混合调度模式 |
4.2. Session 实现方式
| 方面 | LangChain4j | Spring AI | Spring AI Alibaba | AgentScope Java | OpenJiuWen Core Java |
|---|---|---|---|---|---|
| 存储 | ChatMemory 接口,MessageWindowChatMemory(按消息条数)和 TokenWindowChatMemory(按 Token 数)。支持 5+ 持久化存储后端 | ChatMemoryRepository 接口,支持 JDBC、Cassandra、MongoDB、Neo4j、Redis、Oracle、H2、SQLite 等多种后端 | Graph 层面提供 FileSystemSaver 等持久化能力,依托 Spring AI 的 ChatMemory API | AgentStateStore 自动按 (userId, sessionId) 分区。支持内存、JSON 文件、MySQL、Redis、PostgreSQL、OSS、COS | Session 级状态建模(session/ 模块)。向量数据库(Milvus/Chroma/pgvector/内存向量)、KV 存储(数据库+内存 KV)、图存储(内存图数据)、本地对象存储 |
| 生命周期管理 | ChatMemoryProvider 按 sessionId 提供/创建 ChatMemory 实例 | Spring Bean 管理,PromptChatMemoryAdvisor 将记忆注入 Prompt 上下文 | Graph 节点状态管理,支持长时间运行的有状态 Agent | Agent 实例完全无状态,所有 per-call 可变状态通过 Reactor Context 透传。支持跨副本 session 恢复,零停机滚动部署 | 状态持久化 + Checkpoint 断点恢复机制。支持 Agent 多实例状态的全局管理与隔离 |
| 并发处理 | Agent 实例有状态,需注意并发安全 | 依赖 Spring 的 Bean 生命周期和线程安全机制 | 基于 Spring Boot 并发模型,Graph 支持并行执行节点 | 同一 Agent 实例可安全并发服务多个 (userId, sessionId) 组合——2.0 核心设计突破 | 基于混合批-流图执行引擎的组件并发执行。异步 I/O 处理和流式数据传输 |
| 持久化后端 | 内存、Redis 及其他可扩展存储 | JDBC、Cassandra、MongoDB、Neo4j、Redis、Oracle、H2、SQLite | FileSystem、Redis(通过 Spring AI)、其他 Spring AI 支持的后端 | 内存、JSON 文件、MySQL、Redis、PostgreSQL、OSS、腾讯云 COS | Milvus、Chroma、pgvector、内存向量存储、数据库 KV、内存 KV、内存图数据存储、本地对象存储 |
4.3. 工作流实现方式
| 方面 | LangChain4j | Spring AI | Spring AI Alibaba | AgentScope Java | OpenJiuWen Core Java |
|---|---|---|---|---|---|
| 编排模型 | Agentic 框架(langchain4j-agentic 模块),声明式 + 编程式 API 可混用 | 无原生工作流引擎。通过 Advisors 链实现管道式处理 | Graph DAG 引擎(spring-ai-alibaba-graph-core),底层运行时引擎 | 非传统工作流引擎。通过 Middleware(5 阶段洋葱+管道)+ Event 系统(28 种类型化事件)+ Plan Mode 实现 | 混合批-流图执行引擎(Hybrid Batch-Stream Graph Execution),基于 Pregel 模型的异步并行图执行器 |
| 条件分支 | 通过 Guardrails(Input/Output)控制流程,Agent 根据推理结果动态选择工具和路径 | 通过自定义 Advisor 逻辑实现条件判断,非框架原生能力 | Graph 节点的条件路由(Conditional Routing),基于状态和上下文动态决策 | ReAct Agent 动态决策工具选择和路径。Plan Mode 支持只读规划状态 | 工作流节点条件路由 + 动态跳转。WorkflowAgent 可根据用户意图变化灵活切换任务 |
| 并行执行 | 1.17.0+ 改进并行代理执行,异步 Agent 在根调用结束前自动等待所有异步 Agent 完成 | 不支持原生并行 Agent 执行 | ParallelAgent 并行执行多个 Agent;Graph 支持并行节点执行 | 子 Agent 支持同步阻塞和后台委派两种模式。子 Agent 事件流可实时转发到父 Agent | 异步并行图执行,组件并发执行 + 异步 I/O 处理 + 结构化上下文管理 |
| 工作流引擎 | LangGraph4j(社区项目)提供图状工作流和状态管理 | ETL Pipeline 用于文档处理,非 Agent 工作流 | Graph API + 多 Agent 编排模式(Sequential/Parallel/Routing/Loop)。支持导出 PlantUML 和 Mermaid 格式 | 无独立工作流引擎,但 Middleware + Event + Plan Mode 提供了灵活的编排能力 | WorkflowAgent + 混合批-流图执行引擎。组件间流批一体传值、动态跳转、状态中断与恢复 |
4.4. 记忆实现机制
| 方面 | LangChain4j | Spring AI | Spring AI Alibaba | AgentScope Java | OpenJiuWen Core Java |
|---|---|---|---|---|---|
| 短期记忆 | ChatMemory(MessageWindowChatMemory 按消息条数 / TokenWindowChatMemory 按 Token 数),窗口策略管理短期对话上下文 | ChatMemory + PromptChatMemoryAdvisor 将短期对话注入 Prompt 上下文 | 依托 Spring AI ChatMemory,通过 Context Engineering 控制短期上下文 | In-context 对话(ReAct 循环内上下文),随推理轮次自然流转 | 对话上下文管理(context/ 模块),支持多轮对话的状态跟踪 |
| 长期记忆 | 通过 RAG + 向量存储实现长期知识记忆。30+ embedding stores | 通过 RAG + Vector Store 实现。Spring Data 原生支持向量数据库 | mem0 记忆模块集成(社区贡献)。RAG 知识库(依托阿里云百炼平台) | MEMORY.md 文件 + 磁盘事实日志 + 自动压缩。成功模式自动保存为 Markdown Skills,跨会话共享 | Java SDK:Memory 模块(简化实现)。Python 生态完整:AutoGenetic Memory(L0 原始→L1 摘要→L2 结构化→L3 用户画像)、AutoDreaming(后台离线固化)、MemoryTurbo(时延降低 80%,Token 降低 50%+)、GraphMemory(记忆知识图谱)、Swarm Memory(群体记忆共享) |
| 存储后端 | ChatMemoryStore 接口,内置内存实现,可扩展 Redis 等持久化后端。5+ chat memory stores | ChatMemoryRepository 接口,支持 JDBC、Cassandra、MongoDB、Neo4j、Redis、Oracle、H2、SQLite | 依托 Spring AI 的 ChatMemory Repository。Graph 层提供 FileSystemSaver 持久化 | 分布式记忆管理:Redis、MySQL、PostgreSQL、OSS、COS。Workspace 本地文件系统 | 向量数据库(Milvus/Chroma/pgvector/内存向量)、KV 存储(数据库+内存 KV)、图存储(内存图数据)、本地对象存储 |
| 检索策略 | 窗口策略:MessageWindowChatMemory(最近 N 条消息)、TokenWindowChatMemory(按 Token 数)。RAG 检索:查询转换/路由/结果重排序 | PromptChatMemoryAdvisor 将记忆注入 Prompt。VectorStoreChatMemoryAdvisor 使用向量存储增强记忆检索 | ReactAgent 内置 Context Engineering 最佳实践。上下文压缩、上下文编辑 | 分层记忆架构:In-context conversation(短期)→ MEMORY.md(长期,Agent 自主整理)→ On-disk fact log(磁盘事实日志) | 对话历史上下文管理(context/ 模块)。Memory 模块(memory/)提供记忆提取、存储、检索能力 |
| 压缩机制 | 直接截断型:MessageWindowChatMemory 按消息条数丢弃最旧消息(先进先出);TokenWindowChatMemory 按 Token 预算丢弃,超出部分从头部移除。均为简单截断,无 LLM 摘要压缩 | 截断 + 缓存型:PromptChatMemoryAdvisor 按配置的消息数量截断(从头部丢弃),无 LLM 摘要压缩。Anthropic Claude Prompt Caching(精准/固定/会话/工具 4 种策略)属于缓存复用,非上下文压缩 | 模型压缩型:Context Compaction(上下文压缩)由 LLM 对历史消息进行摘要归纳,将冗长对话压缩为精简摘要后注入 Prompt;配合 Context Editing 手动编辑、Tool Retry 清理失败轨迹 | 结构化提取 + 卸载型:Structured Compaction(结构化压缩)由 LLM 将对话提炼为固定字段——任务目标/当前状态/关键发现/后续步骤,丢弃原始对话文本;超大工具结果(如文件内容、JSON)自动从上下文卸载到磁盘文件,上下文中仅保留占位符引用。使用 LLM 进行压缩提取 | 图状态精简型:基于 Pregel 图引擎的组件级状态管理,每个图节点仅保留当前执行所需的最简状态(输入/输出快照),历史节点数据按 Checkpoint 策略归档到持久化存储,不在活跃上下文中保留 |
| 上下文窗口管理 | 基于 Token 数或消息条数的窗口控制。支持流式输出时的增量记忆 | 通过 Advisor 配置控制注入上下文的消息数量 | 模型与工具调用限制、工具重试、规划、动态工具选择 | 结构化压缩 + 超大结果卸载到磁盘,有效控制 Prompt 长度 | 通过混合批-流图执行引擎的状态管理控制上下文。组件并发执行时的上下文隔离 |
4.5. Skill 技能系统
Skill(技能)系统是衡量 Agent 框架复用性、可组合性和自演进能力的重要指标。
| 框架 | Skill 理念 | Skill 载体 | Skill 粒度 | 自学习能力 |
|---|---|---|---|---|
| LangChain4j | 工具即能力 | Java 方法 + @Tool 注解 | 方法级 | ❌ 无 |
| Spring AI | 函数即能力 | Java Function + @Tool 注解 | 方法级 | ❌ 无 |
| Spring AI Alibaba | 节点即能力 | Graph 节点 + Context Engineering 策略 | 节点级 | ❌ 无 |
| AgentScope Java | 技能即资产 | Markdown 文件 + 代码实现 | 任务级/流程级 | ✅ propose→curate→promote 闭环 |
| OpenJiuWen | Skill as New Library | 技能插件 + SkillHub | 组件级/服务级 | ✅ 自演进优化 |
- 说明:AgentScope Java 的 Skill 系统设计最为系统化。其 README 明确描述了 “Self-evolution & skill repository”——成功模式自动保存为 Markdown skills,跨会话共享,按需加载 [ref:4]。OpenJiuWen README 文档索引中提到了 “Skills” 作为高阶用法的模块之一 [ref:5],但具体能力描述尚不完整。LangChain4j、Spring AI 和 Spring AI Alibaba 均未在 README 中提及 “Skill” 概念,其类似能力通过工具注册机制实现。
4.5.1. AgentScope Java Skill 体系
AgentScope Java 是五个框架中 Skill 体系最为完善的框架,其设计核心理念是"技能作为 Agent 的可积累、可复用、可进化的资产"。
4.5.1.1. 四层 Skill 加载机制
┌─────────────────────────────────────────────────────────────┐
│ Skill Loading Architecture │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ① Classpath Skill(内置技能) │ │
│ │ 框架自带的核心技能,随 JAR 包分发 │ │
│ │ 例:文件操作、HTTP 请求、代码执行 │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ② FileSystem Skill(本地文件技能) │ │
│ │ 本地文件系统中的 Markdown/YAML 声明技能 │ │
│ │ 例:业务流程模板、行业解决方案 │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ③ Nacos Skill(远程配置技能) │ │
│ │ 从 Nacos 配置中心动态加载技能 │ │
│ │ 支持热更新、版本管理 │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ④ Marketplace Skill(市场技能) │ │
│ │ 技能市场中的共享技能 │ │
│ │ 社区贡献、第三方集成 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ SkillFilter(技能过滤器) │ │
│ │ 按标签、权限、场景过滤可用技能 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
4.5.1.2. Skill 自学习闭环
┌─────────────┐
│ Propose │ Agent 自主提议新技能
│ (提议) │ 成功模式自动提取
└──────┬──────┘
↓
┌─────────────┐
│ Curate │ 人工审核/筛选
│ (筛选) │ 质量评估与优化
└──────┬──────┘
↓
┌─────────────┐
│ Promote │ 升级为正式 Skill
│ (推广) │ 入库并跨会话共享
└─────────────┘
Skill 声明示例(Markdown 格式):
---
name: data-analysis
version: 1.0.0
tags: [data, analysis, report]
description: 数据分析与报告生成技能
---
# Data Analysis Skill
# 能力描述
对输入数据进行统计分析、趋势识别和可视化报告生成。
# 触发条件
当用户请求数据分析、统计报表、趋势分析时激活。
# 执行步骤
1. 接收数据源
2. 执行统计分析
3. 生成可视化图表
4. 输出分析报告
4.5.2. OpenJiuWen Skill 体系
OpenJiuWen 以"Skill as New Library"为核心理念,将技能视为新时代的软件库。
┌─────────────────────────────────────────────────────────────┐
│ OpenJiuWen Skill Architecture │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ SkillHub(技能仓库) │ │
│ │ 集中管理所有技能组件 │ │
│ │ 支持技能注册、版本管理、依赖解析 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Team Skills Hub(团队技能中心) │ │
│ │ 跨 Agent 技能共享与复用 │ │
│ │ 一个 Leader 带队多个 Teammate 协同作战 │ │
│ │ 例:JiuwenSwarm 群体智能"养蜂"模式 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Skill Plugin(技能插件) │ │
│ │ JiuwenClaw 等技能插件 │ │
│ │ 例:代码编程助手、个人助理 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Self-Evolving(自演进) │ │
│ │ 技能运行轨迹分析 │ │
│ │ 自动优化与进化 │ │
│ │ "越用越聪明" │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
4.5.3. LangChain4j — 工具组合模式
// 通过 @Tool 注解声明技能
public class DataAnalysisTools {
@Tool(description = "对销售数据进行季度趋势分析")
public SalesTrend analyzeQuarterlySales(String data) {
// ...
}
@Tool(description = "生成可视化报表")
public Report generateVisualization(SalesTrend trend) {
// ...
}
}
// 通过 A2A 复用远程 Agent 能力
A2ARemoteAgent skill = A2ARemoteAgent.builder()
.url("https://remote-agent.example.com")
.capability("data-analysis")
.build();
4.5.4. Spring AI — 函数调用模式
// 通过 @Tool 注解声明技能
@Tool(description = "查询客户订单历史")
public List<Order> getCustomerOrders(String customerId) {
// ...
}
// 通过 MCP 注解声明服务级技能
@McpTool(name = "order-service", description = "订单管理服务")
@McpResource(uri = "order://{id}")
@McpPrompt(name = "order-summary")
public class OrderService {
// ...
}
4.5.5. Spring AI Alibaba — 策略节点模式
// Context Engineering 策略作为技能
ReactAgent agent = ReactAgent.builder()
.contextEngineering(ContextEngineering.builder()
.hitl(true) // 人类在环
.compaction(true) // 上下文压缩
.planning(true) // 规划模式
.toolRetry(3) // 工具重试
.dynamicToolSelection() // 动态工具选择
.build())
.build();
// Graph 节点作为技能单元
StateGraph graph = StateGraph.builder()
.addNode("analyze", analyzeSkill)
.addNode("report", reportSkill)
.addEdge("analyze", "report")
.build();
4.5.6. Skill 维度总结
| 能力 | AgentScope Java | LangChain4j | Spring AI | Spring AI Alibaba | OpenJiuWen |
|---|---|---|---|---|---|
| Skill 抽象层级 | 任务级/流程级(Markdown 声明) | 方法级(@Tool) | 方法级(@Tool/@Mcp) | 节点级(Graph + 策略) | 组件级/服务级(插件) |
| Skill 加载方式 | 四层加载(Classpath/FS/Nacos/Market) | 类路径扫描 | Spring Bean 注册 | Graph 构建时注册 | SkillHub 注册 |
| Skill 过滤/选择 | SkillFilter 多维过滤 | LLM 动态选择 | LLM 动态选择 | 动态工具选择策略 | 意图识别自动匹配 |
| Skill 持久化 | Markdown + 数据库 | 内存 | Spring Bean 生命周期 | Graph 状态持久化 | SkillHub 持久化 |
| Skill 共享/复用 | ✅ 跨会话/跨 Agent(Marketplace) | ✅ A2A 远程复用 | ⚠️ 有限(MCP) | ✅ A2A 远程复用 | ✅ Team Skills Hub |
| Skill 自学习 | ✅ propose→curate→promote | ❌ | ❌ | ❌ | ✅ 自演进优化 |
| Skill 版本管理 | ✅ SkillFilter 版本控制 | ❌ | ❌ | ⚠️ Graph 版本 | ✅ SkillHub 版本 |
| 自然语言描述 | ✅ Markdown 自然语言 | ✅ @Tool description | ✅ @Tool description | ⚠️ Graph 节点描述 | ✅ Skill 描述 |
5. 总结与选型建议
5.1. 框架定位总结
| 框架 | 定位一句话 | 成熟度 | 生态规模 | 特色能力 | Skill 体系成熟度 |
|---|---|---|---|---|---|
| LangChain4j | Java 生态最成熟的 LLM 应用开发库,非 LangChain 的 Java 移植,而是从零设计的惯用 Java 库,模块化、灵活、多 Agent 模式丰富 | ⭐⭐⭐⭐⭐ | 最大(12.7k Stars,20+ LLM,30+ 向量库) | 20+ LLM、30+ 向量库、7 种 Agent 模式、框架中立 | ⭐⭐⭐(工具组合模式) |
| Spring AI | Spring 官方 AI 工程框架,将 Spring 设计原则应用于 AI 领域,连接企业数据与 AI 模型 | ⭐⭐⭐⭐ | 大(9.2k Stars,Spring 生态加持) | Spring Boot 深度集成、MCP 一等支持、20+ 向量库 | ⭐⭐(函数调用模式) |
| Spring AI Alibaba | 基于 Spring AI 的企业级 Agent 编排框架,多 Agent + 工作流 + 阿里云生态 | ⭐⭐⭐⭐ | 大(10.3k Stars,阿里云生态) | Graph DAG 引擎 + 5 种编排模式 + A2A + Admin 可视化平台 | ⭐⭐⭐(策略节点模式) |
| AgentScope Java | 面向生产级分布式部署的 Agent 运行平台,双层架构 + 自演进 Skill 系统 + 多层沙箱 | ⭐⭐⭐⭐ | 中(4.6k Stars,快速成长) | 完全无状态并发、四层 Skill 组合、28 种事件流、E2B 云沙箱 | ⭐⭐⭐⭐⭐(完整 Skill 体系) |
| OpenJiuWen Core Java | 华为 openJiuwen 社区出品的企业级 Agent 技术底座,大模型应用 Java SDK + 高性能运行时,Pregel 图引擎 + 多工作流切换 | ⭐⭐⭐ | 中(GitCode 2,521 Stars,236 名成员) | Pregel 模型图引擎、单会话多工作流切换、断点续传 | ⭐⭐⭐⭐(Skill as Library) |
5.2. 选型建议
| 场景 | 推荐框架 | 理由 |
|---|---|---|
| 已有 Spring Boot 项目快速接入 AI | Spring AI | 原生 Spring 集成,Auto-Configuration + Starters,零学习成本 [ref:2] |
| 需要丰富 Agent 模式和最大模型支持 | LangChain4j | 20+ LLM、7 种 Agent 模式、框架中立 [ref:1] |
| 企业级多 Agent 协作 + 工作流编排 | Spring AI Alibaba | Graph DAG + 5 种编排模式 + A2A + Admin 可视化平台 [ref:3] |
| 生产级分布式 Agent + 长时运行任务 | AgentScope Java | 双层架构、完全无状态、四层 Skill、多层沙箱、跨副本恢复 [ref:4] |
| 需要多工作流切换 + 断点续传 | OpenJiuWen Core Java | Pregel 图引擎、单会话内多工作流自由切换、被打断工作流断点接续 [ref:5] |
| 需要 MCP + A2A 双协议支持 | AgentScope Java / LangChain4j / Spring AI Alibaba | 三者均支持双协议 [ref:1][ref:3][ref:4] |
| 需要沙箱隔离执行代码 | AgentScope Java / Spring AI Alibaba | 前者 Local/Docker/K8s/E2B 四层 [ref:4],后者有 sandbox 模块 [ref:3] |
| 需要完整 Skill 技能系统 | AgentScope Java | 四层 Skill 来源 + 自学习闭环 + SkillFilter 过滤 [ref:4] |
| 需要多模型提供商支持 | LangChain4j | 20+ LLM 全覆盖,统一 API 无缝切换 [ref:1] |
| 需要可视化开发平台 | Spring AI Alibaba / OpenJiuWen | 前者有 Admin 一站式平台 [ref:3],后者有 Studio 可视化开发(Python 生态) |
6. 总体评价
Java Agent 框架已经形成清晰的格局,各框架定位互补:
- LangChain4j 是 Java 生态最成熟的 LLM 应用开发库,强调"惯用 Java 设计",明确并非 LangChain(Python)的 Java 移植,而是从零为 Java 构建。框架中立,7 种 Agent 模式覆盖广泛场景 [ref:1]。
- Spring AI 是 Spring 官方 AI 工程框架,核心定位是"将 Spring 设计原则应用于 AI 领域",连接企业 Data 和 API 与 AI Models。无原生 Agent 类型,通过 ChatClient + Advisors 组合实现类 Agent 行为 [ref:2]。
- Spring AI Alibaba 定位为"生产级框架,用于构建 Agentic、Workflow 和 Multi-agent 应用",采用三层架构(Admin → Agent Framework → Graph)。其 Graph 层作为 Agent Framework 的底层运行时,支持 PlantUML/Mermaid 导出 [ref:3]。
- AgentScope Java 2.0 定位为"生产就绪的框架,用于构建分布式企业级 Agent",HarnessAgent 层提供 Self-evolution & skill repository、Layered memory、Multi-Agent orchestration 等关键工程能力 [ref:4]。
- OpenJiuWen Core Java 定位为"大模型应用 Java SDK + 高性能运行时",内置 Pregel 模型异步并行图执行器,核心特色是单会话内多工作流自由切换和被打断工作流的断点接续能力 [ref:5]。
在 Skill 维度:五个框架中,
- AgentScope Java 的 Skill 系统最为系统化——其 README 明确将 “Self-evolution & skill repository” 作为 Harness Engineering 的核心特性之一:“successful patterns auto-save as Markdown skills, shared across sessions and loaded on demand” [ref:4]。
- OpenJiuWen 文档索引中提到了 “Skills” 作为高阶用法模块 [ref:5]。LangChain4j 通过 @Tool 注解实现工具注册,Spring AI 通过 @Bean Function + MCP Tool 扩展能力,Spring AI Alibaba 通过 Graph 节点 + A2A 远程 Agent 扩展,三者均未在 README 中提及 “Skill” 作为独立抽象概念。
7. 参考文献
- LangChain4j GitHub Repository — https://github.com/langchain4j/langchain4j
- Spring AI GitHub Repository — https://github.com/spring-projects/spring-ai
- Spring AI Alibaba GitHub Repository — https://github.com/alibaba/spring-ai-alibaba
- AgentScope Java GitHub Repository — https://github.com/agentscope-ai/agentscope-java
- OpenJiuWen Core Java GitCode Repository — https://gitcode.com/openJiuwen/agent-core-java ;GitHub Mirror — https://github.com/openJiuwen-ai/agent-core-java
- Spring AI 官方参考文档
- Spring AI Alibaba 官方文档(Java2AI)
- AgentScope Java 2.0 官方文档
- LangChain4j 官方文档
- openJiuwen 社区 — https://gitcode.com/openJiuwen/community
- Microsoft and LangChain4j Partnership
- Spring AI 2.0 模块重构
- Spring AI 1.1 GA Release
- 点赞
- 收藏
- 关注作者
评论(0)