site logo

Marico's space

每日开源项目(第104期):AgentScope 2.0 — 阿里巴巴围绕模型推理打造的生产级 Agent 框架

AI技术与应用 2026-06-24 17:39:34 7

最近折腾了阿里达摩院开源的 AgentScope 2.0,踩了几个坑,这篇把问题说清楚。

现在的 Agent 框架市场是真的卷。LangChain 搞链式编排,AutoGen 搞多 Agent 对话,CrewAI 搞角色协作。AgentScope 的差异化在哪?它的设计理念是:当大语言模型(LLM)的推理能力足够强时,框架应该往后退,而不是用僵化的流程图去限制模型的决策空间。

AgentScope 2.0 给这个理念配套了生产级基础设施:事件系统、权限控制、多租户隔离、沙箱执行、中间件钩子。目标不是跑个 Demo 给你看,是能直接上线的那种。

你会学到什么

  • AgentScope 2.0 的设计理念:为什么"模型驱动"优于"固定流程"
  • 五大核心系统:事件 / 权限 / 多租户 / 工作空间 / 中间件
  • Agent Team 模式:Leader-Worker 架构如何处理复杂任务
  • 细粒度权限系统:工具调用审批和边界配置
  • 与 LangChain、AutoGen 的定位差异
  • 完整生态:AgentScope Runtime、ReMe、OpenJudge、Trinity-RFT

前置知识

  • 熟悉 LLM Agent 概念(工具调用、推理循环)
  • 基本的 Python 异步编程
  • 用过 LangChain 或 AutoGen 会有助于对比理解

项目背景

什么是 AgentScope?

AgentScope 2.0 是一个生产级 Agent 框架——"一个包含必要抽象的 Agent 开发平台,设计目标是适配日益增强的模型能力,内置生产环境支持。"

它解决的核心问题:传统 Agent 框架用僵化的流程图和固执的提示词模板约束 LLM。随着 LLM 推理能力快速提升,这种约束反而成了瓶颈。AgentScope 转向"让模型原生的推理和工具调用能力驱动 Agent 行为"——框架提供生产基础设施,而不是执行路径约束。

开发团队

  • 团队:阿里巴巴达摩院
  • 核心研究者:高大卫、李子涛、李亚亮、丁博林、周景仁等
  • 协议:Apache-2.0
  • 版本:v2.0.2(2025年6月)
  • 论文:arXiv:2402.14034 (2024) 和 arXiv:2508.16279 (2025)

项目数据

  • ⭐ GitHub Stars: 27,100+
  • 🍴 Forks: 3,100+
  • 📦 Releases: 40
  • 📄 License: Apache-2.0

核心功能

基础构建单元

AgentScope 2.0 的最小工作单元是 Agent,通过组合各种系统来扩展:

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. 事件系统

统一事件总线,连接 Agent 推理过程的所有阶段:

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. 权限系统

细粒度控制哪些工具调用需要审批、哪些自动执行:

from agentscope.permission import PermissionConfig, ApprovalMode config = PermissionConfig( # 文件写入需要确认
 Write: ApprovalMode.ALWAYS, # Shell 执行需要确认
 Bash: ApprovalMode.ALWAYS, # 读取操作自动放行
 Read: ApprovalMode.NEVER, # 费用超过 0.10 元需要确认
 default_cost_threshold=0.10
)

权限绕过模式:用于测试或可信场景,禁用所有审批,让 Agent 完全自主运行。

3. 多租户 / 会话隔离

FastAPI 服务层提供生产级的租户和会话隔离:

  • 跨租户的 Agent 实例互不可见
  • 会话级上下文管理
  • 多用户并发请求处理
  • 内置认证机制

4. 工作空间 / 沙箱执行

三种后端选项用于隔离的工具执行:

后端 适用场景
Local 开发和测试,最快
Docker 生产环境,依赖隔离
E2B 云沙箱,最高安全性

5. 中间件系统

在不修改核心 Agent 代码的情况下,向 Agent 的推理-执行循环中插入可组合的钩子:

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 分解任务并通过内置的团队工具创建 Worker Agent,然后汇总结果。

from agentscope.tools import TeamTools # Leader 拥有 team_tools — 可以创建和协调 workers
leader = Agent( name="research-leader", system_prompt="你领导一个研究团队。分解任务并综合结果。", model=model, toolkit=Toolkit(tools=[*TeamTools()])
) # 运行时,leader 自动分解任务:
# "分析这 5 篇论文的核心论点"
# → 创建 5 个 workers,每篇论文一个
# → 汇总结果

Worker Agent 的能力由 Leader 在运行时动态决定——不需要预先定义所有可能的 Worker 类型。

任务规划

Agent 将复杂任务分解为可跟踪的计划步骤,在执行过程中实时更新状态:

任务:"为这个 Python 项目编写完整的测试套件"
Agent 生成计划: 步骤 1: [进行中] 扫描项目结构,识别所有模块 步骤 2: [等待中] 分析每个模块的公开 API 步骤 3: [等待中] 生成单元测试 步骤 4: [等待中] 生成集成测试 步骤 5: [等待中] 运行测试套件,修复失败 步骤 1 完成 → 步骤 2 自动开始,计划状态更新

后台任务卸载

长时间运行的工具调用(文件处理、网络请求、代码编译)切换到后台执行,不会阻塞 Agent 对话流:

用户:"编译这个大型 C++ 项目并运行测试"
Agent:[启动后台任务,立即继续对话]
Agent:"编译已在后台开始,预计需要 5 分钟。 我可以先帮你处理其他事情。"
...(5分钟后)
系统通知:后台任务完成
Agent:"编译完成。测试结果:..."

深入解析

设计理念:让模型主导

这是 AgentScope 2.0 与许多同类框架最根本的区别:

传统做法(LangChain 风格):

开发者定义固定链:
步骤 1 → 步骤 2 → 步骤 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 微调框架(解耦的探索器/训练器/缓冲区)
Mem0 集成 长期记忆(2025年6月新增)

框架对比

维度 LangChain AutoGen AgentScope 2.0
核心模式 链式 多 Agent 对话 模型推理驱动
生产基础设施 第三方 第三方 内置
沙箱执行 有限 Local / Docker / E2B
人在回路 插件 原生支持 事件系统原生
评估系统 OpenJudge(50+ 评估器)
微调支持 Trinity-RFT
学术支撑 有(2 篇 arXiv 论文)

最大的差距在这里:AgentScope 覆盖了完整的 Agent 生命周期——框架 → 记忆 → 评估 → 微调 → 应用。LangChain 和 AutoGen 只做到框架和记忆层就停了。

快速上手

安装:

pip install agentscope

或者从源码安装:

git clone https://github.com/agentscope-ai/agentscope.git
pip install -e .

运行 Web UI:

cd agentscope
pnpm install && pnpm run dev # 前端
python -m agentscope.service # 后端

链接和资源

  • 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 推理能力快速提升的当下,它选择了"减少框架约束,让模型主导"这个方向。

五大核心系统(事件 / 权限 / 工作空间 / 多租户 / 中间件)解决的是传统框架的生产痛点:观测性差、缺少细粒度工具权限控制、难以服务多用户、安全逻辑和业务逻辑混在一起。

生态覆盖度才是它拉开差距的地方。框架 → 记忆 → 评估 → 微调是一条完整的链条,LangChain 和 AutoGen 都没做到。光是 OpenJudge——50+ 评估器覆盖代码、数学、工具调用和多模态输出——就填补了大多数团队还在自己写评估脚本的空白。

27.1k Stars、40 个版本、2 篇 arXiv 论文,背后是阿里巴巴工程团队的背书。在生产级 Agent 框架里,AgentScope 2.0 是目前最完善的选择之一。