引言
"构建你能看见、能理解、能信任的 Agent。"
这是"每日一个开源项目"系列的第140篇文章 。今天的主角是 AgentScope 2.0------阿里巴巴达摩院开源的生产级 Agent 框架。
Agent 框架这个赛道已经很拥挤。LangChain 以链式调用为核心,AutoGen 以多 Agent 对话为核心,CrewAI 以角色协作为核心。AgentScope 的差异点在设计哲学上:它认为当 LLM 的推理能力足够强时,框架应该让路,而不是用严格的流水线约束模型的行为空间。
AgentScope 2.0 在这个理念上增加了生产环境所需的基础设施:事件系统、权限控制、多租户隔离、沙箱执行、中间件机制。不只是"能跑起来的 Demo",而是"能上线的系统"。
你将学到什么
- AgentScope 2.0 的设计哲学:为什么选择"让模型主导"而非"固定流水线"
- 五个核心系统:Event / Permission / Multi-tenancy / Workspace / Middleware
- Agent Team 模式:Leader-Worker 架构如何协调复杂任务
- 权限系统的精细控制:工具调用的审批和边界设定
- 与 LangChain/AutoGen 的定位差异
- 生态全貌:AgentScope Runtime、ReMe、OpenJudge、Trinity-RFT
前置知识
- 了解 LLM Agent 的基本概念(工具调用、推理循环)
- 有 Python 异步编程基础
- 接触过 LangChain 或 AutoGen 更容易理解框架定位差异
项目背景
项目简介
AgentScope 2.0 是一个生产级 Agent 框架,定位是"有基本抽象、配合模型能力提升、内置生产级支持的 Agent 开发平台"。
它解决的核心问题是:传统 Agent 框架在大量场景里用严格的流水线和提示词模板约束模型,但随着 LLM 推理能力的快速提升,这种约束反而变成了瓶颈。AgentScope 转向"让模型的原生推理和工具使用能力来主导 Agent 行为",框架负责提供生产环境的基础设施,而不是约束执行路径。
作者/团队介绍
- 团队: 阿里巴巴达摩院(DAMO Academy)
- 核心研究者: Dawei Gao、Zitao Li、Yaliang Li、Bolin Ding、Jingren Zhou 等
- License: Apache-2.0
- 版本: v2.0.2(2026年6月)
- 论文: arXiv:2402.14034(2024)和 arXiv:2508.16279(2025)
项目数据
- ⭐ GitHub Stars: 27,100+
- 🍴 Forks: 3,100+
- 📦 Release 数量: 40 个
- 📄 License: Apache-2.0
主要功能
核心构建块
AgentScope 2.0 的最小工作单元是 Agent,通过组合不同系统扩展能力:
python
import asyncio
from agentscope import Agent, Toolkit, DashScopeChatModel, DashScopeCredential
from agentscope.tools import Bash, Grep, Glob, Read, Write
from agentscope.message import UserMsg
# 定义工具集
toolkit = Toolkit(tools=[Bash(), Grep(), Glob(), Read(), Write()])
# 创建 Agent
agent = Agent(
name="code-assistant",
system_prompt="你是一个代码助手,帮助用户分析和修改代码。",
model=DashScopeChatModel(
credential=DashScopeCredential(api_key="your_key"),
model="qwen3.6-plus"
),
toolkit=toolkit
)
# 流式推理循环
async def run():
async for evt in agent.reply_stream(UserMsg("user", "分析当前目录的代码结构")):
match evt.type:
case EventType.TEXT_BLOCK_DELTA:
print(evt.delta, end="", flush=True)
case EventType.TOOL_CALL_START:
print(f"\n[工具调用] {evt.tool_name}")
asyncio.run(run())
五个核心系统
1. 事件系统(Event System)
统一事件总线连接 Agent 推理过程的所有阶段:
python
EventType.REPLY_START # Agent 开始回复
EventType.MODEL_CALL_START # 调用模型开始
EventType.TEXT_BLOCK_START # 文本块开始输出
EventType.TEXT_BLOCK_DELTA # 文本流式增量
EventType.TEXT_BLOCK_END # 文本块结束
EventType.TOOL_CALL_START # 工具调用开始
EventType.TOOL_CALL_END # 工具调用完成
Human-in-the-loop 工作流通过事件系统接入:在特定事件上暂停 Agent,等待人工确认后恢复执行。
2. 权限系统(Permission System)
细粒度控制哪些工具调用需要审批,哪些可以自动执行:
python
from agentscope.permission import PermissionConfig, ApprovalMode
config = PermissionConfig(
# 文件写入需要确认
Write: ApprovalMode.ALWAYS,
# Bash 执行需要确认
Bash: ApprovalMode.ALWAYS,
# 读取可以自动执行
Read: ApprovalMode.NEVER,
# 单次操作超过 $0.10 需要确认
default_cost_threshold=0.10
)
Permission Bypass Mode:对于测试或信任场景,可以关闭所有审批,Agent 完全自主运行。
3. 多租户/会话隔离(Multi-tenancy)
FastAPI 服务层提供生产级的租户和会话隔离:
- 不同租户的 Agent 实例互相不可见
- 会话级别的上下文管理
- 并发处理多个用户请求
- 内置鉴权
4. Workspace / 沙箱执行
工具执行的隔离环境,三种后端可选:
| 后端 | 适用场景 |
|---|---|
| 本地(Local) | 开发和测试,速度最快 |
| Docker | 生产环境,依赖隔离 |
| E2B | 云端沙箱,最高安全性 |
5. 中间件系统(Middleware)
在 Agent 的推理-行动循环上插入可组合的钩子,不需要修改核心 Agent 代码:
python
from agentscope.middleware import LoggingMiddleware, GuardrailMiddleware
agent = Agent(
...
middlewares=[
LoggingMiddleware(log_tool_calls=True),
GuardrailMiddleware(blocked_patterns=["rm -rf", "DROP TABLE"]),
]
)
Agent Team(多 Agent 协作)
Leader-Worker 模式:Leader Agent 分解任务,调用内置 Team 工具创建 Worker Agent,汇总结果。
python
from agentscope.tools import TeamTools
# Leader Agent 有 team_tools,可以创建和协调 Worker
leader = Agent(
name="research-leader",
system_prompt="你是研究团队负责人,负责分解任务和汇总结果",
model=model,
toolkit=Toolkit(tools=[*TeamTools()]) # 包含创建 Worker 的工具
)
# 运行时,Leader 会自动分解任务:
# "分析这 5 篇论文的核心观点"
# → 创建 5 个 Worker,每个处理一篇
# → 汇总结果
Worker Agent 的能力由 Leader 在运行时动态决定,不需要预先定义所有可能的 Worker 类型。
Task Planning(任务规划)
Agent 把复杂任务分解为可追踪的计划步骤,执行过程中实时更新:
vbnet
任务: "给这个 Python 项目写完整的测试套件"
Agent 生成计划:
Step 1: [进行中] 扫描项目结构,识别所有模块
Step 2: [等待] 分析每个模块的公共 API
Step 3: [等待] 生成单元测试
Step 4: [等待] 生成集成测试
Step 5: [等待] 运行测试套件,修复失败
Step 1 完成后 → Step 2 自动开始,计划状态更新
Background Task Offloading
长时间运行的工具调用(文件处理、网络请求、代码执行)转到后台,不阻塞 Agent 对话流:
vbnet
用户: "编译这个大型 C++ 项目并运行测试"
Agent: [发起后台任务,立即继续对话]
Agent: "编译任务已在后台开始,预计 5 分钟。在等待期间我可以帮你做别的事情。"
...(5 分钟后)
系统通知: 后台任务完成
Agent: "编译完成,测试结果如下:..."
项目详细剖析
设计哲学:让模型主导
这是 AgentScope 2.0 和很多同类框架最根本的差异:
传统方式(LangChain 风格):
vbnet
开发者定义固定链:
Step 1 → Step 2 → Step 3(开发者决定每步做什么)
模型只在每步内做填空
AgentScope 方式:
开发者提供:工具集 + 权限 + 约束
模型决定:做什么、按什么顺序做、用什么工具
框架负责:生产环境安全、可观测性、人工接入
当模型推理能力很弱时,固定流水线是对的------模型需要被引导。当模型推理能力足够强时,固定流水线成了约束------模型有更好的方案但执行不了。AgentScope 2.0 的时机判断是:2025 年以后的主流模型已经足够强,应该给它们更大的自主权。
流式事件架构
标准的 async for evt in agent.reply_stream() 使得:
- 前端可以实时显示 Agent 的思考过程
- 工具调用可以在开始时就显示,不等执行完
- 人工审批可以插在任何工具调用前
- 整个推理过程完全可观测和可记录
生产部署:AgentScope Runtime
独立的 AgentScope Runtime(runtime.agentscope.io)提供完整的生产服务层:
- 安全沙箱执行:用于代码运行和工具调用
- 服务化部署:把 Agent 变成可调用的 API 服务
- 多语言运行时:Python、Java(JVM)、TypeScript 三种后端
完整生态
AgentScope 不只是一个框架,背后有一套完整的工具链:
| 组件 | 功能 |
|---|---|
| AgentScope Studio | Agent 运行的可视化调试工具 |
| ReMe | 跨会话持久化记忆(文件 + 向量两种存储) |
| OpenJudge | 50+ 个评判器(代码、数学、工具使用、多模态) |
| Trinity-RFT | Agent 微调框架(Explorer/Trainer/Buffer 解耦架构) |
| Mem0 集成 | 长期记忆(2026年6月新增) |
与主流框架的对比
| 维度 | LangChain | AutoGen | AgentScope 2.0 |
|---|---|---|---|
| 核心模式 | 链式调用 | 多 Agent 对话 | 模型推理主导 |
| 生产设施 | 第三方 | 第三方 | 内置 |
| 沙箱执行 | 无 | 有限 | 本地/Docker/E2B |
| 人工接入 | 插件 | 原生 | 事件系统原生 |
| 评测体系 | 无 | 无 | OpenJudge |
| 微调支持 | 无 | 无 | Trinity-RFT |
| 论文背书 | 有 | 有 | 有(2篇 arXiv) |
项目地址与资源
官方资源
- 🌟 GitHub : agentscope-ai/agentscope
- 🌐 官网 : agentscope.io
- 📖 文档 : docs.agentscope.io
- ⚡ Runtime : runtime.agentscope.io
- 📄 论文 1: arXiv:2402.14034(2024年)
- 📄 论文 2: arXiv:2508.16279(2025年)
总结
AgentScope 2.0 的时机感很准:在 LLM 推理能力飞速提升的时间节点上,选择"减少框架约束,让模型主导"的方向。
技术路线上,五个核心系统(Event/Permission/Workspace/Multi-tenancy/Middleware)构成的基础设施层解决的是传统框架的痛点:可观测性差、无法细粒度控制工具权限、不适合多用户服务化部署、代码逻辑和安全约束混在一起。
生态完整度上,从框架到记忆(ReMe)到评测(OpenJudge)到微调(Trinity-RFT)形成了一条完整的链路------这是 LangChain 和 AutoGen 没有覆盖的。
27.1k Stars,40 个 Release,有 arXiv 论文和阿里巴巴工程团队支撑,是目前生产级 Agent 框架里最值得深入研究的选项之一。
探索 PrimeSkills ------ 精选 AI Agent 与技能的市场,每一个都经过真实企业工作流验证,去掉浮夸,留下真正有用的。
欢迎访问我的个人主页,发现更多有价值的见解和有趣的产品。