开发与工程 java-sdkreact-agentevent-streaminghuman-in-the-loopdistributed-sessionssandboxingmulti-agent-orchestration

AgentScope Java

用于构建可分布式部署、可长期运行的 Java 智能体框架。

FollowAgents 评估 · FARS-2.1
不推荐
49/ 100 五分制 2.5 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全11 / 29 · 1.9/5

证据显示:README 描述了权限系统(允许/批准/拒绝)和 HITL 支持,但未提供具体实现细节或安全审计。用户确认机制存在但未深入验证。数据流透明度有限,未详细说明数据如何流动或存储。敏感数据处理未明确提及。依赖安全未提供漏洞扫描或依赖锁定。外部影响(如工具执行)有沙箱描述但未验证。回滚机制未提及。来源归属有贡献者列表但未验证。扣分原因:缺乏具体实现证据和验证。

2可靠稳定8 / 14 · 2.9/5

证据显示:README 和 CI 配置一致,构建流程清晰。依赖可用性通过 Maven Central 和 CI 缓存体现,但未验证。失败消息未在文档中明确。扣分原因:失败处理细节不足。

3适用触发10 / 18 · 2.8/5

证据显示:README 面向企业级开发者,场景明确(分布式、长运行)。能力边界通过模块划分(core、harness、extensions)清晰。触发精度未详细说明。环境适配支持 JDK 17+、多操作系统。扣分原因:触发机制细节不足。

4规范维护10 / 18 · 2.8/5

证据显示:信息架构清晰,有文档链接和模块划分。安装说明详细(Maven 依赖)。命名稳定(io.agentscope)。示例丰富(Hello AgentScope)。已知限制未明确列出。许可证为 Apache-2.0。版本变更日志有发布说明。维护责任未明确。扣分原因:已知限制和维护责任缺失。

5有效结果7 / 13 · 2.7/5

证据显示:输出可用性通过事件流和示例体现。边际价值高(生产级框架)。成本效益未量化。扣分原因:成本效益缺乏数据。

6证据核验3 / 8 · 1.9/5

证据显示:README 中的声明有文档链接,但未提供独立验证。跨来源佐证有限(仅 README 和 CI)。事实与推断未明确分离。扣分原因:缺乏独立验证和明确分离。

证据充分度: 评估于 2026年8月9日 审查版本 85e67bc4e40a
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 权限系统和 HITL 的具体实现细节未在提供的文件中展示,需进一步审查代码。
  • 依赖安全未提供漏洞扫描或依赖锁定,建议检查依赖版本和已知漏洞。
  • 回滚机制未提及,对于生产级框架可能是一个风险。
  • 已知限制未列出,用户可能对框架的边界条件缺乏了解。
评估证据 [1][2][3][4][5][6]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

AgentScope Java 2.0 是一个面向生产环境的 Java 智能体框架,核心组件包括 `ReActAgent` 与提供工程化能力的 `HarnessAgent`。它以 `call()` 执行阻塞式调用,也可通过 `streamEvents()` 输出实时事件流,供前端渲染和人工介入流程使用。框架定义了 28 种类型化事件,并以 `ContentBlock` 统一表示文本、文件、图像、音频、视频和工具结果。HarnessAgent 提供工作区、分层记忆、上下文压缩、技能文件和子智能体编排;状态可由多种 `AgentStateStore` 后端持久化,以支持跨副本恢复。它适合需要自行集成模型、工具、存储和部署环境的 Java 团队,而不是一个开箱即用的终端用户聊天产品。

开发者通过 HarnessAgent.builder() 设置名称、系统提示、模型和工作区,再创建带 sessionIduserIdRuntimeContext。模型可用如 "dashscope:qwen-plus" 的字符串由 ModelRegistry 解析,或直接传入 ChatModel;2.0 将模型供应商作为独立扩展模块提供。智能体接收 UserMessage,使用 agent.call(..., ctx).block() 返回一次调用结果,或以 agent.streamEvents(..., ctx) 连续产生文本增量、工具调用开始等事件。运行过程中可利用 Middleware 的 onAgentonReasoningonActingonModelCallonSystemPrompt 阶段扩展推理—行动流程;HarnessAgent 还可通过 agent_spawnagent_send 调度子智能体。工作区和沙箱可使用本地环境、Docker、Kubernetes 或 AgentRun 云沙箱,状态可存入内存、JSON 文件、MySQL、Redis 或 PostgreSQL。

  1. Java 后端团队为多租户业务构建需要按 sessionuseragentorg 隔离状态的服务型智能体。
  2. 需要把文本生成、工具调用和用户确认事件实时推送到自有前端的应用团队。
  3. 需要在 Docker、Kubernetes 或本地隔离环境中执行智能体工具,并对敏感操作设置批准流程的平台团队。
  4. 需要在滚动发布或跨副本调度后恢复会话的企业应用团队。
  5. 需要把复杂任务拆给可声明的子智能体,并通过 agent_spawnagent_send 协作的 Java 开发者。

这个 Agent 有哪些优点和局限?

优点
  • call()streamEvents() 同时覆盖阻塞调用和实时事件消费,事件流可直接用于前端渲染与人工介入。
  • 权限系统提供允许、要求用户批准、拒绝三种工具调用决策,适合需要敏感操作控制的场景。
  • AgentStateStore 支持内存、JSON 文件、MySQL、Redis 和 PostgreSQL,且文档声明支持跨副本会话恢复。
  • HarnessAgent 在 ReActAgent 之上加入工作区、记忆、上下文压缩、技能与子智能体机制,覆盖长任务运行所需的工程能力。
局限
  • 需要 JDK 17 以上,以及为所选模型单独添加供应商扩展并配置 API 密钥。
  • 模型供应商模块化意味着更换供应商需要调整依赖和模型配置;不同供应商的能力差异未在所给材料中说明。
  • Docker、Kubernetes、E2B 和 AgentRun 等沙箱选项需要团队自行准备相应运行环境或服务。
  • 从 1.x 迁移到 2.0 可能需要适配新的事件、消息和 Middleware 设计;材料将 2.0 描述为重大重构。

如何安装或部署这个 Agent?

运行时需要 JDK 17 或更高版本。在 Maven 项目中加入:<dependency><groupId>io.agentscope</groupId><artifactId>agentscope-harness</artifactId><version>2.0.0</version></dependency>。再按所用模型加入对应扩展,例如 DashScope:<dependency><groupId>io.agentscope</groupId><artifactId>agentscope-extensions-model-dashscope</artifactId><version>2.0.0</version></dependency>;README 还列出 OpenAI、Anthropic、Gemini 和 Ollama 扩展。配置所选供应商对应的 API 密钥环境变量;示例明确提到 OPENAI_API_KEYDEEPSEEK_API_KEY。若只需基础 ReActAgent,可仅依赖 agentscope-core

如何使用这个 Agent?

创建 HarnessAgent,设置 .name("assistant").sysPrompt(...).model("dashscope:qwen-plus").workspace(Paths.get(".agentscope/workspace")),然后构建 RuntimeContext.builder().sessionId("demo").userId("alice").build()。首次调用可执行 agent.call(new UserMessage("Hello!"), ctx).block()。若要驱动实时界面,调用 agent.streamEvents(new UserMessage("Summarize today in three bullets."), ctx),在事件处理器中读取 TEXT_BLOCK_DELTATOOL_CALL_START,最后调用 .blockLast()

常见问题

它能接入哪些模型?
README 列出 DashScope、OpenAI、Anthropic、Gemini 和 Ollama 的独立模型扩展;也可以直接传入 ChatModel 对象。
如何控制危险的工具调用?
权限系统支持允许、要求用户批准和拒绝三种决策;README 表明敏感工具可要求 HITL 批准。
服务重启后会话能恢复吗?
可以使用 AgentStateStore 持久化状态;列出的后端包括 JSON 文件、MySQL、Redis 和 PostgreSQL,并声明支持跨副本会话恢复。
是否必须使用 HarnessAgent?
不是。README 指出仅需基础 ReAct 循环时可以只依赖 agentscope-coreReActAgent;工作区、持久化和沙箱能力由 HarnessAgent 提供。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents