AgentScope 2.0 深度解析:不约束模型、只给基元,3.2 万星的 Agent 框架怎么设计
AgentScope 2.0 深度解析:不约束模型、只给基元,3.2 万星的 Agent 框架怎么设计
大多数 Agent 框架在替模型做决定,它的选择是把决定权还回去。
AgentScope 是阿里开源的生产级 Agent 框架,目前 32,783 stars、3,611 forks、608 个 open issues,Apache-2.0 许可,Python 3.11+,最新版本 v2.0.9(2026-09-28),文档在 docs.agentscope.io。
它对自己的定位在 README 第一段就写清楚了,而且这句话值得单独拎出来看:
We design for increasingly agentic LLMs. Our approach leverages the models' reasoning and tool use abilities rather than constraining them with strict prompts and opinionated orchestrations.
翻译一下:它是为"越来越像 Agent 的模型"设计的——靠模型自己的推理与工具使用能力,而不是用刻板的提示词和强观点的编排把它捆住。 项目的一句宣传语是 "Build and run agents you can see, understand and trust"(构建并运行你能看见、能理解、能信任的 Agent)。
这篇文章拆它的设计:九个 SDK 基元、ReAct 循环与事件总线、权限与中间件、记忆与沙箱、以及把 SDK 变成产品的 Agent Service。
本文提纲
- 它是什么:一个"给基元、不做决定"的框架
- 生态与家族:不只是一个 Python 库
- SDK 的九个基元
- 第一个能跑的 Agent
- ReAct 循环与事件系统:为什么它"看得见"
- 上下文、权限与中间件
- 记忆与沙箱:八种执行后端
- 从 SDK 到产品:Agent Service
- 2026 年 9 月的更新,以及选型边界
它是什么:一个"给基元、不做决定"的框架
Agent 框架大致分两种路线。一种是强编排:给你图、给你状态机、给你预定义的协作模式,你按它的范式把流程画出来。另一种是给基元:它只提供 Agent 循环、工具、上下文、事件、权限这些零件,具体怎么组合由你和模型决定。
AgentScope 2.0 明确站在第二种,而且理由讲得挺硬:如果你的编排逻辑写死了,模型能力升级时你享受不到红利——更聪明的模型本来能自己找到更好的路径,却被你的流程图锁住了。所以它的取舍是"把模型当成越来越能干的执行者,而不是需要被脚手架约束的组件"。
这个取向也解释了它后面很多设计:为什么要做中间件钩子而不是固定流程、为什么权限系统要细到工具和资源、为什么事件系统要把推理过程完整暴露出来("看得见"才能"理解"和"信任")。
生态与家族:不只是一个 Python 库
AgentScope 所在的 agentscope-ai 组织有 23 个公开仓库,星数分布很有意思:
| 仓库 | 星数 | 语言 | 定位 |
|---|---|---|---|
| QwenPaw | 35,441 | TypeScript | 个人 AI 助手,可本机或云端部署 |
| agentscope | 32,783 | Python | 本文主角,Agent 框架 |
| AgentTeams | 5,698 | Go | 协作式多 Agent OS,透明、human-in-the-loop |
| agentscope-java | 5,872 | Java | "构建分布式、生产级、长期运行的 Agent" |
| agentscope-spark-design | 455 | TypeScript | UI 组件库 |
| agentscope-samples | 351 | Python | 可直接运行的样例集合 |
| agentscope-runtime-java | 186 | Java | Agent 部署与工具沙箱运行时 |
| skills | 128 | Python | AgentScope 生态的技能合集 |
| PawBench | 114 | Python | 评测 LLM × harness 性能的基准 |
| agentscope-typescript / agentscope-go | 86 / 47 | TS / Go | 多语言版本 |
三点值得注意。第一,多语言是认真的:Python 之外有 Java(6k 星,且明确面向"分布式、长期运行")、Go、TypeScript。第二,它有配套评测基准(PawBench)——一个框架敢自己做 harness 级评测,说明它在乎"同一模型在不同 harness 下差多少"。第三,全家桶是围绕同一个理念展开的:框架 + 运行时 + 个人助手 + 多 Agent OS + UI 组件 + 技能库。
另外它有一篇早期的学术论文(arXiv 2402.14034,cs.MA),这在国内工业界开源的 Agent 框架里不算常见。
SDK 的九个基元
官方把 SDK 层拆成九个 building block,这张表基本就是它的架构图:
| 基元 | 里面有什么 |
|---|---|
| ReAct | 推理-行动循环;结构化输出;实时中断与恢复;批量工具执行(顺序或并发) |
| Toolkit | 工具管理:Python 函数、MCP server、skills;内置编码工具(shell、文件编辑、搜索)与任务/计划工具 |
| Model | LLM、embedding、TTS,覆盖 OpenAI、Anthropic、Gemini、DashScope、DeepSeek、Moonshot、Volcengine、xAI、Ollama |
| Context | 自动压缩、工具结果 offload、上下文注入(系统提示词、RAG、记忆),全部通过中间件实现 |
| Event System | 统一事件总线,把推理过程、工具调用、多模态内容(文本/图像/音频)流式推给前端 |
| Permission & HITL | 对工具与资源的细粒度控制、确认、bypass 模式 |
| Middleware | 循环上的可组合钩子:reply、reasoning、acting、model calling、权限检查、上下文压缩、系统提示词 |
| Memory | Agentic memory,后端可切换(ReMe、Mem0) |
| Workspace / Sandbox | 隔离的工具与代码执行:local、Docker、Apple Container、Bubblewrap、E2B、OpenSandbox、Daytona、K8s |
把这张表读一遍,你会发现它把"框架该管的事"和"不该管的事"划得很清楚:管循环、管上下文预算、管权限、管事件;不管你的业务编排长什么样。
第一个能跑的 Agent
官方 quickstart 相当克制——一个 Agent、一个 Toolkit、一个模型,然后扔进终端控制台:
from agentscope.agent import Agent
from agentscope.console import launch_console
from agentscope.tool import Toolkit, Bash, Grep, Glob, Read, Write, Edit
from agentscope.credential import DashScopeCredential
from agentscope.model import DashScopeChatModel
import os, asyncio
async def main() -> None:
agent = Agent(
name="Friday",
system_prompt="You're a helpful assistant named Friday.",
model=DashScopeChatModel(
credential=DashScopeCredential(
api_key=os.environ["DASHSCOPE_API_KEY"]
),
model="qwen3.6-plus",
),
toolkit=Toolkit(
tools=[Bash(), Grep(), Glob(), Read(), Write(), Edit()]
),
)
# 终端里对话:流式输出、工具调用确认、Ctrl+C 中断都由框架处理
await launch_console(agent)
asyncio.run(main())安装只有一行(要求 Python 3.11+):
uv pip install agentscope这段代码里有三个设计信号值得注意:
- 凭证与模型分离(
DashScopeCredential+DashScopeChatModel)——换厂商时改的是模型类,凭证对象可以复用; - 工具是对象而不是装饰器(
Bash()、Read()、Write())——内置编码工具开箱即用,这跟"给 Agent 一台电脑"的路线一致; launch_console把交互该有的东西都做好了:流式输出、工具调用确认、Ctrl+C中断——注意最后一条,中断与恢复是一等公民,不是补丁。
ReAct 循环与事件系统:为什么它"看得见"
ReAct 是所有 Agent 框架都会实现的东西,差别在工程细节。AgentScope 2.0 的循环突出了四件事:
- 结构化输出:模型的推理与行动走结构化通道,而不是从自由文本里正则提取工具调用;
- 实时中断与恢复:可以在执行中途打断并继续——这正是
Ctrl+C能干净工作的原因,也是做长任务产品的前提; - 批量工具执行:同一轮里模型给出的多个工具调用可以顺序或并发执行,由框架统一调度;
- 统一事件总线:推理、工具调用、多模态内容都通过事件流出去。
最后一点是"see, understand and trust"的技术基础。大多数 Agent 框架的问题不是不能跑,而是跑起来之后你只能看到结果:中间它想了什么、调了什么、为什么这么调,全靠日志拼。事件总线把这条链路变成了结构化的流,前端可以直接渲染成"推理中 → 调用工具 X → 得到结果 → 继续推理"的时间线。
而且这个事件流是多模态的——文本、图像、音频都能走同一条总线,这为后面的语音/实时 Agent 留了接口。
上下文、权限与中间件
上下文这块,它把三件事都做成内置:自动压缩(接近上限时摘要历史)、工具结果 offload(大结果挪出上下文,需要时再取回)、上下文注入(系统提示词、RAG 结果、长期记忆)。这三件事在很多项目里是各自手写的补丁,这里是框架能力。
权限与 HITL 是细粒度的,覆盖工具与资源两个维度,支持确认流程和 bypass 模式(端到端跑完、不为工具调用停下来)。官方 demo 里专门有一个 bypass 模式的演示——它想说明"安全与流畅是配置问题,不是二选一"。
中间件是我认为这套设计里最有杠杆的部分:钩子横跨 reply、reasoning、acting、model calling、权限检查、上下文压缩、系统提示词。
这意味着你可以做到一些很实际的事,比如:在每次模型调用前动态选模型、在权限检查阶段插入自己的策略、在上下文压缩时替换成自己的摘要策略、在 reply 阶段统一注入企业规范——全部不用改框架、不用 fork。还记得 9 月更新里的 ModelRouterMiddleware 吗?它就是"用中间件做模型路由"的官方实现,正好验证了这套钩子的可扩展性。
记忆与沙箱:八种执行后端
长期记忆走的是 "agentic memory",后端可切换:ReMe 或 Mem0。把记忆做成可替换后端而不是内建数据库,是个务实的选择——记忆方案还在快速演化,锁死任何一个都会后悔。
沙箱这块列得非常全,八种执行后端覆盖了从笔记本到集群:
local · Docker · Apple Container · Bubblewrap
E2B · OpenSandbox · Daytona · K8s这个清单的读法是"按隔离强度递增":local 最快但没隔离;Docker 是通用选择;Apple Container 和 Bubblewrap 分别是 macOS 与 Linux 上的轻量系统级隔离;E2B、OpenSandbox、Daytona 是托管沙箱服务;K8s 面向集群化部署。
它把"沙箱"当作一个可插拔的接口,而不是绑定某个实现——对要过安全审计的团队,这一点比"支持 Docker"更有价值:你可以先在本地开发,再平滑切到 E2B 或 K8s,Agent 代码不用改。
从 SDK 到产品:Agent Service
很多框架止步于"能跑一个 Agent",AgentScope 额外给了一个开箱即用的 Agent Service:FastAPI 后端 + 预置 Web UI,把 Agent 变成多租户、多会话的应用。
| 能力 | 内容 |
|---|---|
| Serving | 多租户、多会话隔离、FastAPI 后端、预置 Web UI |
| Agent Team | leader–worker 编排、内置团队工具、任务规划 |
| Channels | 接入 IM 平台:飞书(Lark)、Discord、自定义渠道、消息路由 |
| RAG Service | Blob 存储、索引 worker、多租户检索 |
| MCP & Skill Hub | 浏览 Hub(GitHub MCP Registry、ClawHub)、装进自己的库、加到工作区 |
| Resource Sharing | 组级/组织级共享模型、MCP server、skills 与工作区 |
| Persistence | Agent 状态与会话的 SQL / NoSQL 持久化 |
| Scheduling | 定时任务、Agent 唤醒、后台任务卸载 |
启动方式就是两段命令:
git clone -b main https://github.com/agentscope-ai/agentscope.git
cd agentscope/examples/agent_service
# 启动 agent service 后端
python main.pycd agentscope/examples/web_ui
# 启动 Web UI
pnpm install
pnpm dev官方演示了四个能力:Agent team(leader 生成 worker 并通过内置团队工具协调)、任务规划(把复杂工作拆成可跟踪的计划并随时更新)、bypass 模式下的权限控制、以及后台任务卸载——一个长跑工具挪到后台,结果回来时唤醒 Agent,对话继续。
最后这条我觉得最能说明它的产品化程度:"后台任务的结果唤醒 Agent"听起来简单,但它要求状态持久化、事件重放、会话续接全部正确,是 Demo 和产品的分水岭。
2026 年 9 月的更新,以及选型边界
把最近一个月的更新排在一起看,方向很清楚:
- SOP(标准作业程序,实验性):把多步任务当成标准流程来跑,框架和 agent service 都支持;
TeamPipeline:leader agent 把任务分派给成员 agent;ModelRouterMiddleware:为每次回复选择合适的模型(模型路由内建化);JevClassifierModel:通过 TypeSafe SDK 接入 Jev 分类模型——也就是前几天日报里那个"决策模型"类别;- Realtime voice agent(实验性):支持 DashScope、OpenAI、Gemini、xAI 的 realtime API,做语音到语音;
- A2A 协议支持:用
A2AAgent与任何远程 A2A agent 对话; Pipeline:用固定逻辑在一条事件流后面跑多个 Agent。
这份清单有两个信号:一是它在补齐"确定性"那一半(SOP、Pipeline、TeamPipeline 都是有固定逻辑的编排),说明"不写死编排"并不意味着拒绝编排,而是把编排变成可选的一层;二是它对协议与模态的跟进很快(MCP、A2A、realtime 语音),这三样恰好是 2026 年 Agent 生态的三条主线。
什么时候该选它?
- 你要生产级的多租户 Agent 服务,而不只是一个能跑的循环——Agent Service 直接给了你后端、Web UI、渠道、RAG、权限和调度;
- 你在国内技术栈里(飞书渠道、DashScope/Qwen 默认、Java 版可复用 Java 中台)——顺便说一句,今天就有一篇工程复盘讲用 Java 版 Harness + RuoYi 中台做企业 Agent 平台(链接);
- 你需要沙箱可插拔(从本地开发到 K8s 部署不用重写)或者记忆后端可替换;
- 你重视可观测与可干预:事件总线 + 中间件 + 细粒度权限,这三样决定了你能不能在出问题时说清楚发生了什么。
什么时候不必选它?
- 你的工作流非常固定(就是三步顺序调用)——直接写 Python 更省事,上框架是负担;
- 你团队已经在 LangGraph 这类图编排范式上投入很多,且不打算换范式——两套心智模型混用成本很高;
- 你需要的是极简:只想包一个工具循环,那 OpenAI Agents SDK 或裸 API 更轻;
- 你要求单一语言的极薄依赖——AgentScope 的能力面很宽,功能多本身就意味着需要更多时间理解它的抽象。
参考链接
- GitHub: agentscope-ai/agentscope — 32,783 stars,Apache-2.0,v2.0.9
- AgentScope 官方文档 — 中英文双语文档
- 中文 README
- 原始论文(arXiv 2402.14034) — AgentScope 的学术出处
- AgentScope Java — 5,872 stars,面向分布式长期运行 Agent
- AgentTeams — 5,698 stars,Go 写的协作式多 Agent OS
- QwenPaw — 35,441 stars,个人 AI 助手
- PawBench — 评测 LLM × harness 性能的基准
- agentscope-samples — 可直接运行的样例 Agent
- skills 仓库 — AgentScope 生态技能合集
- Building blocks 文档 — ReAct、Toolkit、Context、Middleware 等基元详解
- Agent Service 部署文档 — 多租户服务、持久化与调度
- SOP 文档(实验性) / TeamPipeline — 9 月新增的确定性编排能力
- A2A 支持 / Realtime 语音 — 协议与模态的跟进
你的 Agent 项目现在是"写死的流程"还是"给模型自由的基元"?评论区聊聊你的取舍,觉得这份拆解有用就点个赞。
作者: itech001 来源: 公众号:AI人工智能时代(the-ai-era) 网站: https://www.theaiera.top/ 关注每日最新AI新闻和技术博客,主页有更多的文章的AI 技术参考:https://www.theaiera.top
本文首发于 AI人工智能时代,转载请注明出处。