3步跑通AgentScope多智能体协作:GoalPipeline决策、通信与状态机制全拆解
【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope
多个AI各干各的容易失控:谁说了算?断了怎么续?AgentScope用GoalPipeline做多智能体协作——执行者干活、验收者把关,循环到通过。本文带你一条命令跑通演示,再拆透决策、通信、状态三套机制。
🎬 效果先行
这一节回答一个问题:它跑起来到底值不值得把时间花上?
跑起来后你会看到:主智能体在界面上拉起多个工作智能体协作完成任务,每个角色的推理、工具调用都逐条流式输出,全程可见、可随时打断,不需要你手写任何调度代码。
🚀 最小步骤跑起来
这一节解决"我5分钟内能不能在本地跑通"。
前提条件:
- Python 3.11+,安装框架:
uv pip install agentscope - 设置环境变量
DASHSCOPE_API_KEY
一条命令启动"执行者-验收者"协作演示:
python examples/pipeline/goal/goal_pipeline.py提示:演示默认使用
qwen3.8-max模型,你可以在自己的脚本里换任意有凭证的模型。终端会交替流式输出两个智能体的消息;若某个工具调用需要人工确认,流会停下来,把确认事件喂回去即可继续。
核心机制拆解
这一节回答:协作框架里面到底藏了什么。拆开看只有三件事——谁做决策、怎么传话、状态存哪里。
执行者-验收者:决策靠结构化输出
GoalPipeline 像工厂里的"工人+质检":一个干活,一个抽检,不合格就打回返工。每个 Agent 相当于一个能被派活的员工,而质检的"结论"不是自由文本,是结构化输出:
class _VerificationResult(BaseModel): result: Literal["pass", "fail", "impossible"] message: str # 不通过时,精确指出要修哪里pass就终止循环,impossible直接放弃,否则最多返工max_iters轮。源码见 src/agentscope/pipeline/_goal_pipeline.py。
共享工作区:通信走事件流
两个智能体不互相发消息,更像两个人共用一张工作台:执行者把文件写进工作区(工具来自 Toolkit,相当于它的工具箱),质检者读同一份工作区,验收的是真实产物而不是"它说它写了"。过程则通过 reply_stream 事件流——像工厂传送带——把两个角色的每一步按序广播给终端:
async with LocalWorkspace(workdir="./workspace") as workspace: executor = Agent(name="Executor", toolkit=Toolkit(tools=await workspace.list_tools()))验证者同理配置,两者绑定同一张"工作台"。示例见 examples/pipeline/goal/goal_pipeline.py。
状态即交接单:中断也能续
AgentState 像一张交接班单:对话上下文、待确认的工具调用、已消耗的迭代预算都记在上面。被人工确认打断时流会停,但什么都不丢——把确认事件重新喂进 reply_stream 就能续跑,且迭代预算不会清零:
async for event in pipe.reply_stream(user_confirm_result_event): ... # 事件的 reply_id 告诉你被打停的是哪个智能体实现见 src/agentscope/state/_state.py。
🔧 定制与进阶
这一节给你三个可以动手的改造点,全部在你自己目录里新建脚本完成(参照仓库示例的写法),仓库本身保持原样。
换模型与智能体
GoalPipeline 只收两个 Agent 实例,模型、提示词、工具链随便换:
pipe = GoalPipeline( executor=Agent(model=OpenAIChatModel(...)), verifier=Agent(model=OpenAIChatModel(...)), )各厂商模型封装都在 src/agentscope/model/。
控制返工轮数
max_iters管验收总轮数,max_retries管单个智能体产合法结构化输出的重试次数,verifier_reset_context决定质检者每轮是否清空上下文:
GoalPipeline(executor=e, verifier=v, max_iters=5, max_retries=2)给智能体挂上长期记忆
想让智能体跨会话记住事实,在构造时加一个记忆中间件,相当于给员工配一本工作日志,演示里已有现成配置可抄:
middlewares=[AgenticMemoryMiddleware(workdir=workspace.workdir, backend=workspace.get_backend())]参考 examples/console/main.py。
📚 延伸资源
这一节把值得继续挖的材料集中在一个地方:
- examples/pipeline/goal/README.md:演示的完整说明,含中断续跑的用法
- src/agentscope/pipeline/:GoalPipeline 全部源码
- examples/agent_service/:带预置 Web UI 的多智能体服务,支持 Agent Team 与任务规划
- examples/long_term_memory/:ReMe、Mem0 等长期记忆后端示例
- docs/NEWS.md:功能更新时间线
多智能体协作没那么神秘:决策是结构化输出,通信是共享工作区加事件流,状态是一张能续写的交接单。下一步,把仓库拉到本地跑起来:
git clone https://gitcode.com/GitHub_Trending/ag/agentscope【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考