返回 FEED
AGENT2026-05-26

AgentScope 2.0 深度解析:生产级 Multi-Agent 框架的架构升级

AgentScope 2.0 深度解析:生产级 Multi-Agent 框架的架构升级

阿里通义实验室发布多智能体开发框架 AgentScope 2.0。这是一次 breaking release,相比 1.0 偏向可视化展示消息的「透明开发」定位,新版本聚焦于智能体在真实生产环境中的高可用与安全控制。

Agent 类重构:从回调到事件流

1.0 的 ReActAgent 被重构为统一的 Agent 类:

  • 废弃 __call__ 方法,替换为 reply_streamreply 两个公共方法
  • reply_stream 支持 yield agent events,实现更丰富的可观测性和控制
  • 通过事件流支持权限检查human-in-the-loop 确认
  • 新增 Offloader 接口,用于压缩上下文和卸载 oversized tool results
  • 废弃 hook 机制,替换为新的 agent middleware 系统
  • 废弃 state_dict/load_state_dict,转向显式 AgentState 类型管理
  • 废弃 print 接口,Agent 变成 pure producer(纯生产者)
  • OpenTelemetry 集成从 agent 类内移出,由新的 middleware 实现

这个改动的核心意义:Agent 从"被动回调"变成"主动事件流",更适合前端集成和实时交互场景。

Message 模块:Content Block 重构

所有 content block 继承自 Pydantic BaseModel,获得更好的验证、序列化和扩展性:

  • ImageBlockAudioBlockVideoBlock 统一为 DataBlock,通过 media_type 字段区分
  • 新增 HintBlock,用于 agent 引导和中间推理
  • ToolUseBlock 重命名为 ToolCallBlock
  • ToolCallBlock 新增 statesuggested_rules 字段,支持更丰富的 tool-call 生命周期建模
  • ToolResultBlock 新增 state 字段
  • 所有 block 新增 id 字段,支持更好的 traceability 和引用

Msg 类同样重构为继承 BaseModel

  • 新增 created_atfinished_atusage 字段,用于可观测性和计费
  • 新增 append_event 方法,支持从 agent reply stream yield events
  • 新增工厂方法 UserMsgAssistantMsgSystemMsg
  • content 字段根据 role 类型施加约束

Permission 模块:安全控制的新边界

2.0 新增独立的权限系统(Permission),这是从 demo 到 production 的分水岭:

  • Gate tool execution:对工具执行进行权限控制
  • Human-in-the-loop confirmation:高风险操作请求人工确认
  • Agent autonomy control:对 agent 自主行为进行整体控制

配合 Tool 模块的升级,内置工具(BashEditGlobGrepReadWrite)都带上了权限控制。这意味着 Agent 不能再无限制地执行 Shell 命令或读写文件,系统会根据策略静态或动态拦截高危操作。

Tool 与 Toolkit 重构

新增 ToolBase 抽象,所有工具统一继承。内置工具新增:

  • BashEditGlobGrepReadWrite(带权限控制)
  • TaskCreateTaskGetTaskListTaskUpdate(任务管理)

Toolkit 重构为支持 tools、skills、MCPs 和 tool groups 作为一等公民:

  • ToolGroup 支持按需激活,basic group 始终激活
  • ResetTools meta-tool 允许 agent 在运行时切换 tool group
  • MCPToolFunctionTool adapter 统一工具注册

MCP:统一客户端

MCP 实现重构为单一的 MCPClient 类,提供统一的客户端接口:

  • StdioMCPConfigHttpMCPConfig 声明式配置类型
  • 支持 typed MCP setup

Skill 模块:按需加载

新增 skill loader 抽象,支持从文件系统、沙箱或网络实时加载 skill:

  • LocalSkillLoader 支持基于目录的 skill 加载和监控
  • Skill 可打包为 ToolGroup,支持按需激活和更好的组织

Workspace:环境解耦的核心抽象

这是 2.0 最大的架构升级。Workspace 抽象将 agent 的业务逻辑与执行环境解耦:

  • LocalWorkspace:本地开发调试
  • DockerWorkspace:容器化部署
  • E2BWorkspace:云沙箱隔离

三个实现共享相同的 agent-facing API,agent 代码无需修改即可切换执行后端。

配套基础设施:

  • Offloader 协议:由 Agent 消费,用于上下文压缩和 oversized tool-result 处理
  • LocalWorkspaceManagerDockerWorkspaceManagerE2BWorkspaceManager:支持 agent-level isolation,面向多租户服务
  • Workspace 内 MCP gateway:宿主 agent 可以访问运行在容器和沙箱内的 MCP server

Model 模块:凭证解耦

  • 凭证管理从 model 类解耦,集中到新的 Credential 模块
  • 支持凭证感知的 model listing 和 retrieval
  • 新增模型支持:Kimi、Moonshot、DeepSeek、XAI、OpenAI Response API
  • ModelCard schema 描述模型身份、能力和参数覆盖
  • list_models 类方法支持前端模型列表和选择
  • 废弃 Trinity model wrapper

Middleware:替代 Hook

1.0 的 hook 机制被重构为更通用的 agent middleware 系统:

  • TracingMiddleware 作为 OpenTelemetry tracing 的新入口点
  • AGUIProtocolMiddleware 支持流式传输
  • ToolOffloadMiddleware 处理 oversized payloads

Agent Service:FastAPI 生产服务

新增基于 FastAPI 的 agent service 和沙箱支持:

  • create_app FastAPI factory 暴露 agent、chat、model、credential、session、schedule、workspace 和 background-task 路由
  • Lifespan-scoped SessionManagerSchedulerManagerBackgroundTaskManager 和 workspace managers,支持多租户资源分配
  • Redis-backed storage

Memory 与 RAG 的重新定位

  • 1.0 的 Memory 模块在 2.0 中被 deprecate,原因是与 agent 逻辑耦合过紧
  • RAG 和长期记忆被统一到一个新模块
  • 1.0 到 2.0 的迁移正在进行中,knowledge bases、document readers 和 stores 将在 upcoming releases 中基于 2.0 架构回归

这个决策说明团队对"记忆"的理解从"agent 内部耦合"转向"外部统一服务",与当前 AI 架构的 trend 一致。

1.0 vs 2.0 核心差异

维度AgentScope 1.0AgentScope 2.0
核心定位透明开发、可视化消息流生产级高可用、安全控制
Agent 交互__call__ 回调reply_stream 事件流
内容格式独立 Block 类型统一 DataBlock + Pydantic
安全机制基础日志Permission 模块 + 权限控制
环境支持本地为主Local/Docker/E2B Workspace
工具管理简单注册ToolBase + ToolGroup + MCP
服务化FastAPI Agent Service
语言PythonPython + TypeScript + Java(即将)

意义

AgentScope 2.0 的发布标志着国内多智能体框架从"演示工具"向"生产基础设施"的跃迁。Workspace 抽象解决了环境一致性问题,Permission 系统解决了安全可控性问题,FastAPI Service 解决了部署和服务化问题。

对于正在构建 Agent 系统的团队,AgentScope 2.0 提供了一个值得认真评估的开源选项——尤其当你需要多 Agent 协作、长任务执行、跨环境部署、以及多租户隔离时。