1. 项目概述
AgentScope Java 是一个生产就绪的 Java 框架,用于构建分布式、企业级 AI 智能体,内置对长时间运行、安全可控执行的支持——它将智能体开发从原型验证推进到可运营的多租户生产环境。
2. 背景与定位
- 核心使命:大多数智能体框架只关注让单个智能体在演示中"跑起来"。AgentScope Java(2.0 版本)的构建目标正是弥合可用原型与可在生产环境中可靠运行的系统之间的差距——将可观测性、权限控制、沙箱隔离和分布式会话恢复作为一等公民,而非事后补充。
- 与同类项目的区别:AgentScope Java 不仅仅是 LLM 调用的薄封装,它在经典的 ReAct(推理-行动)循环之上叠加了一层"管控框架"(harness)——增加中间件钩子、类型化事件流、人在回路审批门控,以及可插拔的沙箱(本地、Docker、Kubernetes 或云端)。它原生面向 JVM 生态设计,非常适合已经运行 Java/Spring 后端基础设施、希望在不脱离该生态的前提下获得企业级智能体能力的团队。
3. 功能分类
- ⚙️ 基础框架 — 构建智能体的核心原语。代表性示例:28 种用于流式传输智能体状态的类型化事件、统一内容块(文本/文件/图片/音频/视频)、ReAct 执行循环,以及作为内置交互模式的人在回路。目的:为智能体行为提供一致、类型化的词汇表,而非临时拼凑的 JSON 载荷。
- 🧩 管控工程 — 叠加在核心循环之上的中间件。代表性示例:自进化技能库、分层记忆(对话历史 + 精选 Markdown + 事实日志)、子智能体生成、自动上下文管理,以及用于多步骤任务的"计划模式"。目的:在不修改核心框架代码的前提下扩展和定制智能体的推理与行动方式。
- 🏢 企业部署 — 大规模运行智能体的能力。代表性示例:多租户隔离、安全沙箱、细粒度权限控制,以及用于零停机滚动更新的跨副本会话恢复。目的:让智能体在真实生产流量下安全、弹性地运行。
- 🔌 集成 — 与外部世界的模块化连接器。代表性示例:LLM 提供商(OpenAI、Anthropic、DashScope、Gemini、DeepSeek、Ollama)、企业 IM 渠道(钉钉、飞书、企业微信),以及互操作协议(A2A、AG-UI)。目的:让智能体无需自定义胶水代码即可接入现有模型供应商和通信工具。
- 💾 状态与持久化 — 用于存储智能体和会话状态的后端。代表性示例:内存、JSON 文件、MySQL、Redis 和 PostgreSQL。目的:让智能体能够在重启或副本切换后恢复状态。
4. 核心亮点
- 类型化事件流 — 28 种不同的事件类型为前端和编排器提供对智能体实时行为的精确、结构化可见性,而非解析自由文本日志。
- 设计内置人在回路 — 权限系统允许操作员在单个工具调用执行前选择性批准或拒绝,这对于可能采取真实世界行动的智能体至关重要。
- 基于中间件的可扩展性 — AOP 风格的钩子在五个不同阶段拦截推理-行动循环,团队无需分叉核心即可添加日志、护栏或自定义逻辑。
- 灵活的沙箱 — 工具执行可在本地、Docker、Kubernetes 或 AgentRun 云环境中隔离,隔离级别与工作负载的敏感度相匹配。
- 多智能体编排 — 原生
agent_spawn和agent_send原语支持子智能体模式,并在父子智能体之间实时转发事件。 - 分布式会话恢复 — 会话状态可在副本重启和滚动部署中幸存,使用 Redis、MySQL、PostgreSQL、OSS 或 COS 作为后端存储。
5. 按角色的使用场景
- 普通开发者:直接在 Java/Spring 应用中使用熟悉的 Maven 依赖构建智能体功能(聊天机器人、任务自动化、工具使用助手),无需桥接到 Python 服务。
- DevOps/SRE:放心地在滚动更新后部署智能体,因为会话状态和进行中的任务可以在副本间恢复,而非在重新部署时丢失。
- 项目经理:使用权限系统和事件流对敏感的智能体操作强制执行人工审查门控,在智能体行动之前提供监督。
6. 快速开始
- 如何找到所需内容:浏览仓库中的模块结构(
agentscope-core、agentscope-harness、agentscope-extensions、agentscope-examples),或阅读完整文档 java.agentscope.io。 - 如何安装/集成:需要 JDK 17+。将 harness 模块添加为 Maven 依赖:
然后创建智能体:<dependency> <groupId>io.agentscope</groupId> <artifactId>agentscope-harness</artifactId> <version>2.0.1</version> </dependency>HarnessAgent agent = HarnessAgent.builder() .name("assistant") .model("dashscope:qwen-plus") .workspace(Paths.get(".agentscope/workspace")) .build(); agent.call(new UserMessage("Hello!"), ctx).block(); - 如何贡献:Fork github.com/agentscope-ai/agentscope-java 仓库,查看贡献指南,然后提交拉取请求。在较大贡献之前,可通过 Discord、钉钉或微信加入社区进行讨论。
7. 项目结构
agentscope-java/
├── agentscope-core/ # 核心框架:事件、内容块、ReAct 循环
├── agentscope-harness/ # 生产管控框架:中间件、记忆、计划模式
├── agentscope-extensions/ # LLM 提供商和渠道集成
├── agentscope-service/ # 控制平面和仪表盘
├── agentscope-distribution/ # 分发打包
├── agentscope-dependencies-bom/ # 集中式依赖版本管理
├── agentscope-examples/ # 示例实现和快速入门代码
└── docs/ # 文档源
关键目录:agentscope-core 包含每个智能体所依赖的基础抽象;agentscope-harness 是大多数应用开发者直接依赖的模块,因为它用生产级中间件包装了核心;agentscope-extensions 是添加新 LLM 提供商或渠道集成的地方。
8. 相关生态
- 上游依赖:LLM 提供商 — OpenAI、Anthropic、DashScope(阿里云)、Google Gemini、DeepSeek 和 Ollama(用于本地模型)。
- 部署目标:Docker 和 Kubernetes 用于沙箱;Redis、MySQL 和 PostgreSQL 用于状态持久化;OSS 和 COS(云对象存储)用于分布式恢复数据。
- 互补工具:企业 IM 平台钉钉、飞书和企业微信用于基于聊天的智能体部署;A2A 和 AG-UI 协议用于与其他智能体生态的互操作。
- 姊妹项目:AgentScope(Python),本 Java 实现在概念上与之对齐的原始框架,适用于跨两种语言生态工作的团队。
9. 许可证
采用 Apache License 2.0 许可。
- ✅ 可自由使用、修改和分发,包括在商业和专有产品中。
- ✅ 允许贡献者授予专利权。
- ❌ 不提供任何担保——软件按"原样"提供。
- ℹ️ 修改后的文件应保留署名声明,重新分发时必须包含许可证副本。
10. 常见问题
问:使用 AgentScope Java 需要了解 Python 吗?
答:不需要。AgentScope Java 是一个原生 JVM 框架(JDK 17+),拥有自己的 Maven 构件——无需 Python 运行时或桥接。
问:开箱即用支持哪些 LLM 提供商?
答:支持 OpenAI、Anthropic、DashScope(阿里)、Gemini、DeepSeek 和 Ollama 作为模块化扩展集成。
问:智能体能否安全地执行不受信任或有风险的工具调用?
答:可以。内置的权限系统允许您对单个工具调用进行门控以进行人工审批,工作区/沙箱层可以将执行隔离在 Docker、Kubernetes 或云沙箱(AgentRun)中。
问:如果服务实例重启或滚动发布,智能体状态会怎样?
答:会话可以持久化到 Redis、MySQL 或 PostgreSQL,从而在滚动部署期间实现跨副本恢复,不会丢失进行中的工作。
问:如何协调多个智能体协同工作?
答:使用 agent_spawn 和 agent_send 原语创建子智能体并在它们之间实时转发事件。
11. 快速链接
- 仓库:github.com/agentscope-ai/agentscope-java
- 官方文档:java.agentscope.io
- 贡献:请参阅仓库的贡献指南,了解拉取请求和问题约定。
- 社区:Discord、钉钉和微信群聊链接见仓库 README。
12. 总结
AgentScope Java 将生产级智能体基础设施——类型化事件、权限门控、沙箱和分布式会话恢复——原生引入 JVM 生态。它最适合希望构建长时间运行、企业级 AI 智能体而无需采用独立 Python 技术栈的 Java 和 Spring 团队,也适合需要从第一天起就围绕智能体获得人工监督和零停机部署等运营保障的组织。