AgentScope 详解:面向日益强大模型的 Agent 框架
Agent 框架这两年有个反复出现的争论:模型越强,框架该越多还是越少?agentscope-ai/agentscope(AgentScope 2.0)的立场很明确:"为日益 agentic 的 LLM 而设计"——不靠严格提示词与强意见的编排去约束模型,而是顺着模型的推理与工具使用能力做薄抽象。Description 只有一句话:构建并运行你看得见、能理解、可信任的 Agent。这是阿里通义实验室出品的生产级框架,约 31.6k Star、Apache 2.0 协议,配套 FastAPI 后端 + Web UI 的一体化 Agent Service。本文从设计哲学、积木体系、服务层到选型,完整拆解。
1、项目概述
AgentScope 定位为生产就绪、易用的 Agent 框架,保持与模型能力同步演进的核心抽象。项目 2024 年 1 月创建,由阿里通义实验室团队维护(作者列表里 Bolin Ding、Jingren Zhou 均为通义资深研究员),有两篇论文背书:2024 年的多 Agent 平台论文与 2025 年的 1.0 开发者中心框架论文(arXiv 2402.14034 / 2508.16279)。仓库约 31.6k Star、3.5k Fork、Apache 2.0 协议,Python 3.11+,中英双语文档站 docs.agentscope.io。
基本盘:
- 安装:uv pip install agentscope 一条命令,Python 3.11+ 起步
- 模型面:OpenAI、Anthropic、Gemini、DashScope、DeepSeek、Moonshot(Kimi)、火山引擎、xAI、Ollama 全覆盖
- 双层结构:SDK 层(积木组合)+ Agent Service 层(多租户应用,FastAPI + 预建 Web UI)
- 近期更新密集:A2A 协议、实时语音 Agent(实验性)、Pipeline、Console、IM 渠道、MCP Hub 相继落地
- 社区:Discord + 钉钉双社群,Trendshift 徽章在列
2、设计哲学:不与模型能力对抗
README 开篇的设计宣言值得整段引用:为日益 agentic 的 LLM 设计,利用模型的推理与工具使用能力,而不是用严格提示词与强意见编排去约束它。
哲学拆解:
- 薄抽象:框架提供推理-行动循环与工具管理,决策权交给模型,不预设固定工作流
- 可见性优先:统一事件总线把推理、工具调用、多模态内容流式推给前端——"看得见"是信任的前提
- 中间件架构:回复、推理、行动、模型调用、权限检查、上下文压缩、系统提示词全程可挂载组合钩子
- 实时可控:ReAct 循环支持实时打断与恢复、批量(串行/并发)工具执行
哲学要点:
1. 与 LangGraph 式"图编排"路线形成对照:AgentScope 认为模型够强时,框架的价值在基础设施而非流程控制
2. 权限系统是一等公民:细粒度工具与资源控制、确认模式、旁路模式,对应"可信任"的产品化落地
3. 上下文管理自动化:自动压缩、工具结果卸载、系统提示词 / RAG / 记忆注入全走内置中间件
4. 记忆后端可换:ReMe、Mem0 即插即用,长期记忆不锁死单一实现
3、SDK 层:九类积木
Agent 由九类构建块组成,每一类都可独立替换,最小可用代码大约二十行。
// 最小 Agent:模型 + 工具包 + 终端控制台(官方示例改编)
from agentscope.agent import Agent
from agentscope.console import launch_console
from agentscope.tool import Toolkit, Bash, Grep, Glob, Read, Write, Edit
from agentscope.model import DashScopeChatModel
agent = Agent(
name="Friday",
system_prompt="You're a helpful assistant named Friday.",
model=DashScopeChatModel(model="qwen3.6-plus"), // 任选 9 家模型商
toolkit=Toolkit(tools=[ // 内置编码工具全家桶
Bash(), Grep(), Glob(), Read(), Write(), Edit(),
]),
)
// 终端对话:流式输出、工具调用确认、Ctrl+C 打断,全部内置
await launch_console(agent)积木清单:
- ReAct:推理-行动循环,结构化输出、实时打断恢复、批量工具执行
- Toolkit:Python 工具、MCP 服务器、技能的统一管理,内置 shell / 文件编辑 / 搜索与任务规划工具
- Model:LLM / 嵌入 / TTS 三类接口,九家提供商
- Context:自动压缩、工具结果卸载、上下文注入中间件
- Event System:统一事件总线,推理 / 工具调用 / 多模态内容流式到前端
- Permission & HITL:细粒度工具与资源控制、确认与旁路模式
- Middleware:贯穿循环的可组合钩子
- Memory:可切换后端的 Agent 记忆(ReMe、Mem0)
- Workspace / Sandbox:隔离执行——本地、Docker、Apple Container、Bubblewrap、E2B、OpenSandbox、Daytona、K8s 八种
积木要点:
1. 内置编码工具即开即用:Bash / Grep / Glob / Read / Write / Edit 六件套,对标 Claude Code 的工具面
2. 沙箱选项八种业界最全:从本地直跑到 K8s,Apple Container、Bubblewrap 等小众选项都有
3. A2AAgent 让远程 Agent 即插即聊:任何 A2A 协议的远端 Agent 都能挂进对话
4、Agent Service:一体化应用层
SDK 之上还叠了一层"电池全含"的服务层,把 Agent 变成多租户多会话应用。
服务能力:
- Serving:多租户、多会话隔离,FastAPI 后端 + 预建 Web UI
- Agent Team:领导者-工人编排,内置团队工具与任务规划
- Channels:飞书、Discord、钉钉等 IM 渠道接入与消息路由
- RAG Service:Blob 存储、索引 worker、多租户检索
- MCP & Skill Hub:浏览 GitHub MCP Registry 与 ClawHub,一键安装进库与工作区
- 资源共享:组与组织级管理模型、MCP、技能、工作区
- 持久化与调度:SQL / NoSQL 状态存储、定时任务、Agent 唤醒、后台任务卸载
服务要点:
1. 双端起跑:python main.py 起后端,pnpm dev 起 Web UI,examples/agent_service 即为模板
2. 后台任务卸载有巧思:长时工具转后台,结果回来自动唤醒 Agent 续跑对话
3. 与 SDK 层全部可组合:服务层能力可拆开嵌入自家应用,"最少胶水代码"是官方口号
5、定位对比:Agent 框架三选一
把 AgentScope 与 PydanticAI、LangGraph 放在一张桌上,三种框架哲学清晰起来。
三者对比:
- AgentScope:薄抽象 + 服务层一体,权限 / 沙箱 / 记忆 / IM 渠道全内置,阿里出品、国内模型生态友好(31.6k Star,Apache 2.0)
- PydanticAI:类型安全 SDK,结构化输出与校验是灵魂,持久执行与 Harness 配套(19.9k Star,MIT)
- LangGraph:图编排引擎,状态机与检查点最强,LangChain 生态集成最深(37k Star 级,MIT)
选型建议:
1. 要开箱服务层(多租户 + IM 渠道 + RAG)、国内外模型通吃 → AgentScope
2. 要类型安全与校验、配合编码代理开发 → PydanticAI
3. 要精细图状态机与断点恢复、重度 LangChain 生态 → LangGraph
4. 组合玩法:AgentScope 起服务底座,类型敏感的抽取任务下放 PydanticAI,复杂流程用 LangGraph 编排
6、总结
AgentScope 2.0 是阿里通义实验室出品的 Agent 框架(约 31.6k Star、Apache 2.0 协议,两篇 arXiv 论文背书):设计哲学是"为日益强大的模型让路"——薄抽象、中间件贯穿、事件总线全透明;SDK 层九类积木覆盖 ReAct 循环、工具包、九家模型商、上下文中间件、权限系统、可换记忆后端与八种沙箱;Agent Service 层再把多租户服务、Agent 团队、飞书/钉钉/Discord 渠道、RAG、MCP Hub、持久化调度打包成一体化应用,FastAPI + 预建 Web UI 即起。A2A 协议与实时语音等新能力仍在快速落地。
适用与边界:它适合要快速把 Agent 做成产品(而非只写脚本)的团队——服务层与渠道层的完整度在国内生态里少见,DashScope / Kimi / 火山引擎等国产模型一等公民支持是显著加分项;"薄抽象"路线意味着复杂固定流程的表达能力弱于图编排框架,强流程场景可考虑 LangGraph 补位。实时语音仍标注实验性,按当前文档确认成熟度即可。


