进阶
用阿里 AgentScope 搭一个会思考会协作的智能体(模块化 + 多智能体实战)
你是不是也想搭 AI 智能体,却被状态管理、工具调用、消息传递这些底层活劝退?2026 年 7 月,阿里开源了智能体开发平台 AgentScope,用一套分层模块化架构,把"让 AI 像人一样观察—思考—行动"这件难事封装成了几行代码。它内置 ReAct(推理—行动)循环、丰富的工具系统,还支持多智能体团队协作。本教程从装环境、三行代码起一个 Agent,一路进阶到多智能体分工协作,开发者向,但有 Python 基础就能跟下来。
🔗 本教程适合:想自己写 Agent 的开发者、学生、技术爱好者。你需要 Python 3.10+ 环境,会基本的命令行与 pip 安装。
先搞懂:AgentScope 把难事拆成了哪几层?
AgentScope 把智能体开发抽象成四个核心模块,你只管写业务逻辑,底层循环它帮你跑:
| 模块 | 负责什么 | 支持什么 |
|---|---|---|
| 模型层 | 统一调用接口 | Claude、OpenAI、Gemini 等主流模型 |
| 智能体引擎 | 自动跑思考—执行 | 内置 ReAct 循环 |
| 工具系统 | 扩展能力 | 文件操作、代码执行、API 调用 + 自定义 |
| 协作框架 | 多 Agent 配合 | 任务分配、结果聚合 |
和"无代码平台"的区别:Dify / Coze 是拖拽搭应用,AgentScope 是写代码造引擎。前者快但受限,后者灵活可深度定制。本教程是开发者路线,需要会 Python。
Step 1:安装 AgentScope
1 一条 pip 装好
# 建议用虚拟环境
python -m venv .venv && source .venv/bin/activate
pip install agentscope
# 验证
python -c "import agentscope; print(agentscope.__version__)"
💡 AgentScope 持续迭代,安装后留意官方示例仓库(agentscope/examples)里的"智能数据分析助手"等现成样板,本教程思路即源于此。
Step 2:配置模型并起第一个 Agent
2 三行代码启动"思考机器"
import agentscope
from agentscope.agents import ReActAgent
agentscope.init(model_configs={
"openai": {
"model_type": "openai_chat",
"model_name": "gpt-4o",
"api_key": "sk-xxxx",
}
})
agent = ReActAgent(name="助手", model_config_name="openai")
print(agent.reply("用一句话解释什么是多智能体协作"))
API Key 别硬编码进仓库:用环境变量(os.getenv)读取,避免泄露。ReActAgent 已内置"思考—行动—观察"循环,你给目标它自己拆解步骤、调工具、评估。
Step 3:给 Agent 挂上工具
3 让它真的能干活
光会聊天不够,AgentScope 的威力在工具。注册一个自定义工具(比如查天气):
from agentscope.tools import Tool
@Tool
def get_weather(city: str) -> str:
"""查询指定城市的天气"""
# 这里接真实天气 API,示例返回模拟值
return f"{city} 今天晴,25℃,东南风3级"
agent.register_tool(get_weather)
print(agent.reply("北京今天适合出差吗?查下天气"))
🚀 内置工具已覆盖文件操作、代码执行、API 调用;自定义只需装饰器 + 类型标注,引擎会自动决定何时调用。
Step 4:搭一个智能数据分析助手
4 真实场景跑通
把多个工具组合起来,做一个能读数据、出图、给建议的助手:
tools = [load_csv, draw_chart, summarize]
analyst = ReActAgent(
name="数据分析师",
model_config_name="openai",
tools=tools,
)
report = analyst.reply(
"分析 sales.csv:识别异常波动,画一张趋势图,给优化建议"
)
print(report)
工具粒度要小:每个工具只做一件事(读表 / 画图 / 总结),Agent 自己编排顺序,比写一个"大工具"更稳更可复用。
Step 5:进阶到多智能体协作
5 让几个 Agent 分工
from agentscope.agents import DictDialogAgent
planner = DictDialogAgent("规划者", model_config_name="openai")
writer = DictDialogAgent("写手", model_config_name="openai")
reviewer= DictDialogAgent("校验员", model_config_name="openai")
# 规划者拆题 → 写手成文 → 校验员挑错,循环收敛
msg = planner.reply("写一篇关于 AI Agent 的科普短文")
msg = writer.reply(msg)
msg = reviewer.reply(msg)
🔑 这就是 AgentScope 协作框架的价值:把"单人马拉松"变成"团队接力",每个 Agent 专注一个角色,结果通过消息传递汇聚。
Step 6:用工作流编排复杂任务
6 自然语言也能派活
AgentScope 支持复杂工作流配置,让 Agent 按顺序执行多任务:
# 用 msghub / 管道把多个 Agent 串成流水线
pipeline = [planner, writer, reviewer, publisher]
result = run_pipeline(
pipeline,
"根据这份研报,出一份给老板看的 1 页摘要"
)
调试技巧:先用单个 Agent 验证每步输出,再串工作流。一次性全串容易分不清是哪环出错。
Step 7:避坑与最佳实践
7 让 Agent 更稳更省
· 模型配置集中管理,别在每个 Agent 里写死 Key
· 工具加类型标注和 docstring,引擎才好决策调用
· 多智能体任务设最大轮数,防无限循环烧钱
· 长任务加日志,定位是规划 / 执行 / 校验哪环掉链
· 敏感操作(删文件、发请求)加人工确认开关
🎉 恭喜!你已经从"装环境"走到"多智能体协作流水线"。AgentScope 把最难的循环与编排封装好,你专注业务逻辑即可。
常见问题速查
| 你遇到的现象 | 大概率原因 & 解决 |
|---|---|
| import 报错 | 虚拟环境没激活或 pip 装错解释器 |
| Agent 不调工具 | 工具没 register,或 docstring 描述不清 |
| 多 Agent 死循环 | 设最大轮数 / 终止条件 |
| 费用飙高 | 检查是否重复触发长程 ReAct,收紧提示 |