什么是 AgentScope?
AgentScope Java 是一个用于构建 AI Agent(智能体)应用 的 Java 框架。
它解决的核心问题是:
如何让大模型不仅能聊天,还能 自主思考、调用工具、完成任务。
Agent 与普通 LLM 的区别
普通 LLM:
输入 → 模型 → 输出
Agent:
输入
↓
思考(Reasoning)
↓
决定是否调用工具
↓
执行行动(Acting)
↓
记录结果(Memory)
↓
再次思考(循环)
↓
最终结果
这就是经典 ReAct(Reason + Act)模式。
AgentScope 的核心就是实现这一循环。
AgentScope 提供了什么?
可以理解为:
一套构建 AI 智能体的基础设施层
主要包括:
Agent(智能体)
系统核心执行单元。
负责:
- 理解任务
- 做决策
- 调用工具
- 管理执行流程
本质上是一个 可循环运行的状态机。
Model(大模型)
Agent 的“大脑”。
支持接入不同模型,例如:
- OpenAI
- Qwen
- Claude 等
AgentScope 负责统一调用接口。
Tool(工具系统)
让 Agent 能真正“行动”。
例如:
- 调 API
- 查询数据库
- 搜索知识库
- 执行代码
- 操作文件系统
模型可以自主决定是否调用工具。
Memory(记忆)
用于保存:
- 对话历史
- 工具执行结果
- 长期知识
使 Agent 具备 上下文连续性。
Planning(任务规划)
用于处理复杂任务:
目标
→ 拆解步骤
→ 分阶段执行
→ 动态调整计划
适合多步骤自动化任务。
企业级能力
AgentScope 不只是实验框架,还关注生产环境:
可控执行
- 支持暂停 / 恢复 Agent
- 人工干预(Human-in-the-loop)
- 安全终止任务
高性能
- Reactive 非阻塞架构
- 支持云原生部署
- 快速启动
可观测性
- 执行链路追踪
- 调试与监控支持
多 Agent 协作
AgentScope 支持:
Agent A ←→ Agent B ←→ Agent C
类似微服务之间调用。
可用于:
- 分工协作
- 专家 Agent
- 自动流程系统
为什么需要?
解决了什么痛点问题?
在传统开发中,将LLM集成到Java应用会面临一系列工程挑战,AgentScope Java正是为了系统性地解决这些问题而设计的:
| 挑战领域 | 具体问题 | AgentScope Java 的解决方案 |
|---|---|---|
| 自主性与失控风险 | LLM的自主决策可能偏离预期,导致不可控的结果。 | 提供运行时干预机制(安全中断、优雅取消、人机协作钩子),在保持自主性的同时,确保人类可以对关键步骤进行监督和控制。 |
| 复杂任务执行 | 智能体难以可靠地执行多步骤、需调用多种外部工具的任务。 | 通过内置的 ReAct框架、PlanNotebook 进行结构化任务分解,以及强大的工具调用系统,使智能体能够有序、可追踪地完成复杂工作流。 |
| 与企业系统集成 | 将智能体与现有的Java服务、数据库、消息队列等基础设施集成困难。 | 支持标准的A2A和MCP协议,并提供Spring Boot Starter等框架集成,使智能体能够作为一等公民融入现有微服务架构。 |
| 数据隐私与安全 | 将企业敏感数据发送给外部LLM服务存在风险,且需要隔离不受信任的代码执行。 | 通过 RAG 技术将LLM响应基于内部知识库,减少敏感数据外传。提供安全沙箱隔离执行不可信工具代码,防止系统资源被未授权访问。 |
| 开发与运维复杂度 | 构建可观测、可调试、高性能的智能体应用需要大量的额外工作。 | 内置OpenTelemetry和可视化Studio,实现开箱即用的可观测性。基于Project Reactor的响应式架构和GraalVM支持,满足高性能和快速扩缩容的生产需求。 |
核心流程
AgentScope 的核心是 ReAct 循环(Reasoning + Acting):
User Input (Message)
|
v
+-------------------------------------------------------------------------+
| ReActAgent |
| |
| +------------------------+ +------------------------+ |
| | Memory | | Toolkit | |
| +------------------------+ +------------------------+ |
| | | |
| v | |
| +------------------------------------------------------------+ |
| | 1. Reasoning | |
| | | |
| | +-----------+ +-----------+ +-------------+ | |
| | | Memory | --> | Formatter | --> | Model | | |
| | +-----------+ +-----------+ +-------------+ | |
| +------------------------------------------------------------+ |
| | |
| v |
| Need tool call? |
| / \ |
| Yes No |
| / \ |
| v v |
| +------------------------+ +------------------------+ |
| | 2. Acting | | Return final response| |
| | | +------------------------+ |
| | +---------+ | | |
| | | Toolkit | | | |
| | +---------+ | | |
| | | | | |
| | v | | |
| | Store in Memory | | |
| | | | | |
| | v | | |
| | Back to step 1 | | |
| +------------------------+ | |
| | |
+-------------------------------------------------------------------------+
|
v
Agent Response (Message)
适合的应用场景
- AI 助手
- 自动化运维 Agent
- 编程 Agent
- 企业知识问答
- 多 Agent 系统
- AI 工作流平台
参考资料
https://java.agentscope.io/zh/task/structured-output.html
https://java.agentscope.io/zh/intro.html
