
随着我们接触的深入,大模型早已不局限于单轮问答、文本生成这类基础场景。大家应该也慢慢发现,单个大模型能力存在天然短板:上下文长度有限、无法自主拆解复杂任务、难以持续完成多步骤目标,也很难和其他智能体分工配合。
于是基于大模型的智能体技术也快速迭代,时不时也会出现各种新型概念。一个Agent可以自主规划、调用工具、持续迭代完成目标。但新的难题随之而来,当我们想要搭建多个智能体协同工作的系统时,开发成本会急剧上升。如果从零开发多智能体项目,我们需要自行实现智能体生命周期管理、消息通信机制、对话持久化、多模型兼容、任务调度、异常处理、可视化调试等一系列底层能力。不同团队实现方案五花八门,代码无法复用,调试困难,极大的增加了应用实践门槛。
在慢慢的探索中,发现了一个AgentScope的框架,它是一款专为大模型多智能体场景打造的开发框架,核心目标就是把多Agent系统底层基础设施封装标准化,让开发者把精力聚焦在智能体逻辑与业务需求上,不用重复造轮子。往期我们也探索了各种框架,初始AgentScope,容易把它和LangChain、AutoGen、CrewAI等框架混淆。它们虽然都支持构建大模型智能体,但定位、架构设计、适用场景存在明显区别,今天我们一探究竟。

要理解AgentScope,首先理清两个核心概念:LLM智能体、多智能体系统。
LLM 智能体(Agent):
多智能体系统(Multi-Agent System):由两个及以上独立Agent组成,智能体之间通过消息交互、分工协作,共同完成单一 Agent 无法胜任的复杂任务。 举几个现实场景:
原生大模型没有内置多智能体通信能力。想要实现多个Agent对话,我们必须手动设计消息格式、消息路由、对话隔离机制。这就是各类多智能体开发框架想要解决的核心工程痛点。
AgentScope是一套轻量级多智能体开发框架,主打简单易用、高可扩展性、原生支持分布式部署,专门面向基于大模型构建多 Agent 应用。它的核心定位可以总结三点:
聚焦多智能体交互,而非单Agent工具链:
降低分布式多Agent开发难度:
统一标准化抽象,兼容各类大模型
AgentScope整体遵循三大设计理念:
- 1. 一切交互皆消息:
- 2. 智能体独立自治
- 3. 环境解耦设计
先看一段最小可运行示例,直观感受 AgentScope的开发方式,注意要先进行依赖安装:pip install agentscope
# 前置依赖安装:pip install agentscope
import agentscope
from agentscope.agents import DialogAgent
from agentscope.message import Msg
# 初始化框架,配置大模型
agentscope.init(
model_configs={
"config_name": "qwen",
"model_type": "dashscope_chat",
"model_name": "qwen-turbo",
"api_key": "你的api-key"
}
)
# 创建两个对话智能体
agent_a = DialogAgent(
name="分析师",
sys_prompt="你是一名数据分析分析师,简洁回答问题。",
model_config_name="qwen"
)
agent_b = DialogAgent(
name="产品经理",
sys_prompt="你是产品经理,善于提出业务疑问。",
model_config_name="qwen"
)
# 启动对话循环
msg = Msg(name="用户", content="聊聊AI智能体落地难点")
for _ in range(3):
msg = agent_a(msg)
print(f"\n{msg.name}: {msg.content}")
msg = agent_b(msg)
print(f"\n{msg.name}: {msg.content}")这段代码完成两个智能体连续对话。我们没有手动处理消息传递、上下文管理,所有底层逻辑由 AgentScope接管。通过这个例子能直观体会:框架屏蔽大量底层工程代码,我们只需要定义智能体角色与交互流程。
AgentScope 采用分层模块化架构,自上而下分为五层,层级职责清晰,依赖单向向下:

分层设计最大优势是模块化解耦,我们可以只替换其中任意一层实现,不需要改动整套代码。例如想要更换消息存储方案,仅需要实现新的持久化适配器,上层业务代码完全不用修改。
消息是整个框架的数据基石。所有信息流转都依托Message对象。标准消息内置字段:
消息支持序列化保存,天然支持对话回放、调试、日志溯源。同时框架支持消息广播、定向单发两种传输模式,适配不同交互场景。
所有智能体都继承自基础 Agent 类,基类约定统一调用入口 __call__(msg)。自定义智能体只需要重写响应逻辑。 框架内置开箱即用 Agent 模板:
同时我们可以基于基类扩展工具调用、长记忆、反思、自主规划能力。
Environment 用来承载多智能体所处场景,负责消息路由、全局状态维护。常见两种环境模式:
这里容易混淆:Agent负责自身思考逻辑;Environment负责管理智能体之间的交互规则。如果想要实现 “多人聊天室”“模拟辩论赛”,自定义Environment是标准方案。
这一层抹平不同大模型API接口差异。不管调用在线API还是本地开源 LLM,对外暴露统一函数。 我们只需在配置文件统一声明模型参数,全局智能体直接引用配置名称,集中管理密钥、模型参数、请求限流、重试策略。模型切换只需要修改配置,无需修改智能体业务代码。
AgentScope支持两种部署模式,代码几乎兼容:
两种模式实现平滑切换,只需要初始化时调整少量配置,极大降低项目从原型迁移到生产环境的成本,这也是AgentScope相比很多同类框架突出优势。
一个智能体完整生命周期包含初始化、接收消息、推理执行、产生响应、暂停、销毁。 如果从零开发多智能体系统,很容易出现资源泄漏、重复初始化、并发冲突等问题。AgentScope统一管控生命周期:

同时框架提供完善回调钩子,我们可以在智能体启动、消息收发、异常崩溃等节点插入自定义逻辑,例如数据埋点、异常告警。
记忆是Agent持续完成任务的核心能力。AgentScope没有强制绑定单一记忆方案,提供多层级记忆抽象:

内置智能体默认携带基础对话记忆。如果需要实现RAG、历史反思,只需要扩展记忆模块,将检索结果拼接进提示词。这里区分一个关键点:框架只提供记忆抽象接口,向量库检索逻辑需要我们结合 LangChain、LlamaIndex 自行接入,灵活性更高。
现代智能体离不开工具调用(函数调用),让大模型能够操作外部系统:查询数据库、联网搜索、执行代码、调用业务接口。
AgentScope 支持两种工具集成方式:
可以基于ReActAgent快速搭建具备工具使用能力的智能体。下面提供简易工具调用伪代码示例:
from agentscope.agents import ReActAgent
# 定义工具函数
def search_internet(keyword: str) -> str:
"""联网搜索信息"""
return f"【搜索结果】关于{keyword}的相关资讯"
# 创建具备工具能力的智能体
tool_agent = ReActAgent(
name="检索助手",
sys_prompt="你可以调用搜索工具获取外部信息",
model_config_name="qwen",
tools=[search_internet]
)面对复杂任务,常常需要多条智能体协作流程。AgentScope提供两套编排方案应对不同场景:
可以混合使用两种模式:
多智能体系统调试难度远高于普通程序。多个Agent并行交互,消息链路复杂,一旦出错很难定位问题。 AgentScope原生配套工程化调试能力:

调用大模型 API 经常遇到限流、超时、网络错误、输出格式异常。框架内置统一容错策略:
我们也探讨过多个Agent框架,都会面对选型纠结的问题:AgentScope、AutoGen、CrewAI、LangChain如何选择:
1.1 LangChain:单智能体流水线、RAG、工具链构建。
1.2 AutoGen:多智能体对话,擅长代码相关智能体协作。
1.3 CrewAI:面向任务规划的多智能体团队,擅长静态任务分工。
1.4 AgentScope:通用多智能体底层基础设施,消息抽象、分布式扩展、环境解耦。
框架之间不存在绝对壁垒,可以组合使用。例如使用AgentScope管理多智能体通信,每个智能体内部借助LangChain实现RAG与工具调用。
结合实际应用场景,我们通过六个专用智能体协作完成文档撰写的应用流程,需满足需求Agent梳理目标,检索Agent收集资料,整理Agent提炼要点,撰写Agent生成初稿,评审Agent检查漏洞,输出Agent整合修改意见后交付终稿。各环节职责清晰、顺序流转,形成从需求到交付的完整闭环。

同时这套流程可以通过Pipeline串联。如果想要让评审Agent和撰写Agent来回辩论修改,则切换为Environment实现双向消息交互。整套流程依托AgentScope管理消息传递、上下文隔离,我们只需要定义每个智能体角色提示词与逻辑。
总的来说,AgentScope本质上不是用来 “一键造出超级智能体” 的魔法工具,而是一套标准化多智能体系统工程底座。在大模型应用开发走向纵深的当下,单一模型问答应用慢慢无法满足复杂业务需求,多智能体协同必然是重要发展方向。但如果每个团队从零搭建通信、调度、状态管理底层模块,会造成大量重复开发。AgentScope核心价值,就是把多Agent系统中通用、繁琐的底层工程问题标准化解决,把通信、消息序列化、智能体生命周期、分布式能力封装好。
技术框架永远只是手段。真正决定多智能体应用效果的,依旧是任务拆解思路、智能体角色设计、提示词工程、流程规则设计。框架解决工程效率问题,业务逻辑需要我们持续打磨。
示例实现多智能体协作撰写行业分析报告,使用内置DialogAgent,消息流转由AgentScope管理,其中需求解析Agent接收用户需求,梳理报告大纲;信息调研Agent基于大纲梳理关键调研方向,撰稿Agent根据大纲+调研信息生成报告初稿;评审Agent审阅初稿,提出优化修改意见;
"""
AgentScope 完整实战示例:多智能体协作生成行业分析报告
框架版本:AgentScope >=0.0.8
"""
import agentscope
from agentscope.agents import DialogAgent
from agentscope.message import Msg
# ===================== 1. 初始化框架与模型配置 =====================
# 请替换为自己的模型Key,示例使用通义千问;也支持OpenAI、本地LLM等
model_config = {
"config_name": "qwen_turbo",
"model_type": "dashscope_chat",
"model_name": "qwen-turbo",
"api_key": "sk-xxxxxxxxxxxxxxxxxxxxxxxx", # 替换你的API Key
}
# 加载配置,初始化agentscope运行环境
agentscope.init(model_configs=model_config)
# ===================== 2. 创建各个职能智能体 =====================
# 智能体1:需求解析助手
demand_agent = DialogAgent(
name="需求分析师",
sys_prompt="""
你是专业需求分析师。接收用户撰写报告需求,输出结构化行业分析报告大纲。
输出规范:
1. 清晰划分章节标题;
2. 逻辑层层递进;
3. 不需要生成正文,只输出大纲。
""",
model_config_name="qwen_turbo"
)
# 智能体2:信息调研助手
research_agent = DialogAgent(
name="调研专员",
sys_prompt="""
你负责根据报告大纲,梳理需要收集的关键信息点与调研维度。
模拟行业信息调研,列出支撑报告写作的关键素材方向。
条理清晰,分点罗列。
""",
model_config_name="qwen_turbo"
)
# 智能体3:报告撰稿人
writer_agent = DialogAgent(
name="撰稿专员",
sys_prompt="""
你是资深行业分析师。根据报告大纲 + 调研素材,撰写完整行业分析报告初稿。
行文正式、客观,段落通顺,具备商业分析逻辑。
""",
model_config_name="qwen_turbo"
)
# 智能体4:评审专家
review_agent = DialogAgent(
name="评审专家",
sys_prompt="""
你是行业评审专家,审阅分析报告初稿。
从逻辑完整性、数据视角、风险分析、落地价值四个维度提出修改建议。
逐条列出问题与优化方向。
""",
model_config_name="qwen_turbo"
)
# ===================== 3. 搭建多智能体执行流水线 =====================
def run_report_workflow(user_query: str):
print("===== 用户需求输入 =====\n", user_query, "\n")
# 初始化起始消息
current_msg = Msg(name="用户", content=user_query)
# 步骤1:需求分析师生成大纲
current_msg = demand_agent(current_msg)
print(f"\n【{current_msg.name}输出】\n{current_msg.content}\n")
# 步骤2:调研专员基于大纲梳理调研要点
current_msg = research_agent(current_msg)
print(f"\n【{current_msg.name}输出】\n{current_msg.content}\n")
# 步骤3:撰稿专员生成报告初稿
current_msg = writer_agent(current_msg)
print(f"\n【{current_msg.name}输出】\n{current_msg.content}\n")
# 步骤4:专家评审给出修改意见
current_msg = review_agent(current_msg)
print(f"\n【{current_msg.name}输出】\n{current_msg.content}\n")
return current_msg
# ===================== 4. 启动运行 =====================
if __name__ == "__main__":
user_requirement = "生成一份2026年AI智能体行业发展趋势分析报告"
run_report_workflow(user_requirement)原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。