AgentScope Java
用于构建可分布式部署、可长期运行的 Java 智能体框架。
- Star 数
- ★ 6.3k
- 最近更新
- 1 天前
- License
- Apache-2.0
- 主语言
- Java
- FA 评分
- 49/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- Java 后端团队为多租户业务构建需要按
session、user、agent和org隔离状态的服务型智能体。 - 不适合
- 想要开箱即用聊天应用的团队
- 无法使用 JDK 17+ 或 Maven 依赖的项目
- 不愿自行接入模型供应商与存储后端的团队
- 源码审查
- 49/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
AgentScope Java 2.0 是一个面向生产环境的 Java 智能体框架,核心组件包括 ReActAgent 与提供工程化能力的 HarnessAgent。它以 call() 执行阻塞式调用,也可通过 streamEvents() 输出实时事件流,供前端渲染和人工介入流程使用。框架定义了 28 种类型化事件,并以 ContentBlock 统一表示文本、文件、图像、音频、视频和工具结果。HarnessAgent 提供工作区、分层记忆、上下文压缩、技能文件和子智能体编排;状态可由多种 AgentStateStore 后端持久化,以支持跨副本恢复。它适合需要自行集成模型、工具、存储和部署环境的 Java 团队,而不是一个开箱即用的终端用户聊天产品。
开发者通过 HarnessAgent.builder() 设置名称、系统提示、模型和工作区,再创建带 sessionId 与 userId 的 RuntimeContext。模型可用如 "dashscope:qwen-plus" 的字符串由 ModelRegistry 解析,或直接传入 ChatModel;2.0 将模型供应商作为独立扩展模块提供。智能体接收 UserMessage,使用 agent.call(..., ctx).block() 返回一次调用结果,或以 agent.streamEvents(..., ctx) 连续产生文本增量、工具调用开始等事件。运行过程中可利用 Middleware 的 onAgent、onReasoning、onActing、onModelCall 与 onSystemPrompt 阶段扩展推理—行动流程;HarnessAgent 还可通过 agent_spawn 和 agent_send 调度子智能体。工作区和沙箱可使用本地环境、Docker、Kubernetes 或 AgentRun 云沙箱,状态可存入内存、JSON 文件、MySQL、Redis 或 PostgreSQL。
- Java 后端团队为多租户业务构建需要按
session、user、agent和org隔离状态的服务型智能体。 - 需要把文本生成、工具调用和用户确认事件实时推送到自有前端的应用团队。
- 需要在 Docker、Kubernetes 或本地隔离环境中执行智能体工具,并对敏感操作设置批准流程的平台团队。
- 需要在滚动发布或跨副本调度后恢复会话的企业应用团队。
- 需要把复杂任务拆给可声明的子智能体,并通过
agent_spawn或agent_send协作的 Java 开发者。
如何安装或部署这个 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_KEY 和 DEEPSEEK_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_DELTA 或 TOOL_CALL_START,最后调用 .blockLast()。
这个 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 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| AgentScope Java 当前 | 49 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 6.3k | 1 天前 | Java | OpenAI API · Claude API |
| Open Swarm 智能体集群控制台 | 40 · 缺口较多 | — | ★ 827 | 25 天前 | JavaScript | Claude API |
| AgentScope 2.0 | 70 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 35k | 2 天前 | Python | OpenAI API · Claude API |
| AgentField AI 后端 | 45 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2.6k | 2 天前 | Go | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 描述了权限系统(允许/批准/拒绝)和 HITL 支持,但未提供具体实现细节或安全审计。用户确认机制存在但未深入验证。数据流透明度有限,未详细说明数据如何流动或存储。敏感数据处理未明确提及。依赖安全未提供漏洞扫描或依赖锁定。外部影响(如工具执行)有沙箱描述但未验证。回滚机制未提及。来源归属有贡献者列表但未验证。扣分原因:缺乏具体实现证据和验证。
证据显示:README 和 CI 配置一致,构建流程清晰。依赖可用性通过 Maven Central 和 CI 缓存体现,但未验证。失败消息未在文档中明确。扣分原因:失败处理细节不足。
证据显示:README 面向企业级开发者,场景明确(分布式、长运行)。能力边界通过模块划分(core、harness、extensions)清晰。触发精度未详细说明。环境适配支持 JDK 17+、多操作系统。扣分原因:触发机制细节不足。
证据显示:信息架构清晰,有文档链接和模块划分。安装说明详细(Maven 依赖)。命名稳定(io.agentscope)。示例丰富(Hello AgentScope)。已知限制未明确列出。许可证为 Apache-2.0。版本变更日志有发布说明。维护责任未明确。扣分原因:已知限制和维护责任缺失。
证据显示:输出可用性通过事件流和示例体现。边际价值高(生产级框架)。成本效益未量化。扣分原因:成本效益缺乏数据。
证据显示:README 中的声明有文档链接,但未提供独立验证。跨来源佐证有限(仅 README 和 CI)。事实与推断未明确分离。扣分原因:缺乏独立验证和明确分离。
- 权限系统和 HITL 的具体实现细节未在提供的文件中展示,需进一步审查代码。
- 依赖安全未提供漏洞扫描或依赖锁定,建议检查依赖版本和已知漏洞。
- 回滚机制未提及,对于生产级框架可能是一个风险。
- 已知限制未列出,用户可能对框架的边界条件缺乏了解。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
AgentScope Service 2.1.0-BETA1 预发布现已提供 Docker 镜像、Compose/Helm 安装包,以及 CLI 和 Runtime Host。 安装及使用请参阅[官方中文文档](https://java.agentscope.io/v2/zh/service/index)或 [English documentation](https://java.agentscope.io/v2/en/service/index)。在 GitHub 查看 ↗ -
发布说明摘录
AgentScope Java 2.0.4 adds OpenAI Responses API support, a redesigned AgentScope Service, new channel and storage integrations, and stronger isolation for concurrent agent runs, tools, and skills. Added Core / Models - Add the OpenAI Responses API module ([#3078](https://github.com/agentscope-ai/agentscope-java/pull/3078)). - Support returnDirect tool results to short-circuit the reasoning loop ([#2891](https://github.com/agentscope-ai/agentscope-java/pull/2891)). …在 GitHub 查看 ↗ -
发布说明摘录
This release introduces Anthropic prompt caching, a deliver_artifact tool for sandboxed agents, a FinalAnswerFilterMiddleware for ReAct streams, state versioning and optimistic concurrency primitives for agent state stores, an AgentProtocolEventBus for pluggable SSE event handling, and a console transcript overhaul, and includes a broad set of reliability fixes across the core reasoning loop, harness, sandbox, and AG-UI protocol layers. …在 GitHub 查看 ↗
常见问题
它能接入哪些模型?
ChatModel 对象。如何控制危险的工具调用?
服务重启后会话能恢复吗?
AgentStateStore 持久化状态;列出的后端包括 JSON 文件、MySQL、Redis 和 PostgreSQL,并声明支持跨副本会话恢复。是否必须使用 HarnessAgent?
agentscope-core 和 ReActAgent;工作区、持久化和沙箱能力由 HarnessAgent 提供。