多 Agent 协作架构:从 Bug 响应链路看流程设计的缺失
2026/5/16 18:55:10 网站建设 项目流程

多 Agent 协作架构:从 Bug 响应链路看流程设计的缺失

摘要:多 Agent 协作框架在角色配置齐全的情况下,实际运行中仍暴露出流程链缺失、通知中断、角色越位等问题。本文基于真实项目中的 Bug 响应场景,记录问题发现、原因分析与方案落地的完整过程。


一、背景

多 Agent 协作框架采用四角色架构:

角色代号职责
PM/协调员零 (Zero)任务拆解、分派、进度跟踪
前端老钱 (laoqian)前端代码、UI 开发
后端老六 (laoliu)后端代码、API 开发
测试老严 (laoyan)Bug 排查、测试报告

框架已实现 workspace 隔离(git worktree)、共享上下文加载、交叉校验机制,底层通信基于MCP(Model Context Protocol)协议,而非 ACP。

代码开发完成后的验收流程也已定义:

老钱/老六开发完成 → 老严全链路测试 → 零复核 → 验收/打回

但在实际项目中遇到用户侧 Bug 时,暴露出该流程并未覆盖"用户报 Bug 时的响应链路"。


二、问题一:Bug 响应流程缺失

2.1 问题描述

框架定义了"代码开发完成后的验收流程",但未定义"用户上报 Bug 时的响应流程"。导致 PM Agent 收到 Bug 报告后,直接自行排查代码,而非按职责分派给测试 Agent。

2.2 解决方案

新增用户侧 Bug 响应流程:

用户报 Bug → 零接收并确认分派目标 → 老严排查并输出报告 → 零汇总汇报 → 零分派老钱/老六修复 → 老严验证

关键规则:

  • PM 角色不直接参与代码排查和修复
  • 收到技术问题后,先明确分派目标,确认后再执行
  • 区分交互类型:对话/讨论由 PM 直接响应;Bug 排查/代码修复走分派流程

三、问题二:任务完成通知链断裂

3.1 问题描述

测试 Agent 完成 Bug 排查后,将报告写入 results 目录并发送飞书通知,但 PM Agent 的 session 未被唤醒,导致任务完成信息出现 20 分钟空窗期——PM 不知道测试已完成,直到被主动询问才去查询系统状态。

3.2 原因分析

底层 Worker 完成任务后的通知是单向的:写文件 + 发消息。PM Agent 的 session 处于空闲状态,没有机制被自动触发检查任务结果。

3.3 解决方案

放弃轮询方案,采用事件驱动:

方案实现方式缺陷
轮询(已废弃)cron 每 2 分钟检查任务状态资源消耗大,有延迟
事件驱动(最终方案)接入框架原生 hooks 机制,Worker 完成时触发 webhook 唤醒 PM session0 轮询,10 秒内响应

hooks 机制工作流程:

Worker 完成任务 → 触发 completion hook → 调用 webhook → 唤醒 PM session → PM 读取结果并汇报

四、问题三:PM 角色越位与惯性操作

4.1 问题描述

在多轮交互中,PM Agent 出现三次越位行为:

  1. 收到 Bug 后自行排查代码,而非分派测试
  2. 测试报告产出后自行修复 Bug,而非分派开发
  3. 收到新的技术问题后再次自行排查

4.2 原因分析

给 Agent 编写流程文档不等于其会严格遵守。语言模型存在惯性倾向——收到问题后倾向于直接给出解决方案,而非走分派流程。

4.3 解决方案

在操作链中增加确认闸门:

  1. 交互类型区分— 对话类(聊天/讨论方案)由 PM 直接响应;技术操作类(Bug 排查/代码修复)必须先分派
  2. 分派前确认— PM 收到技术问题后,先输出分派计划(“我打算分派给谁、做什么”),等待确认后再执行

核心思路:通过强制确认环节阻断惯性操作,而非单纯增加规则数量。


五、上一篇文章发布后,部分功能优化

上一篇文章发布后,框架在实际运行中持续迭代,落地了以下功能优化:

优化维度具体实现
多轮对话上下文新增history/目录,实现多轮对话记录保存与加载,Agent 可跨 session 延续上下文
Workspace 隔离升级从"独立目录"方案升级为git worktree,各角色代码隔离更严格,分支管理更清晰
共享上下文自动加载Agent 启动时自动加载全局状态文件(如 MEMORY.md、项目配置),无需手动初始化
MCP Server 统一架构从一开始采用单 Server 架构,避免多 Server 通信带来的复杂度和延迟

六、总结:六条实践教训

#结论说明
1配置有 ≠ 流程通角色配置齐全不等于流程可运行,需实际验证
2链路断裂比 Bug 更危险任务完成但无人感知,问题会被掩盖
3治惯性靠闸门不靠规则单纯增加规则无效,需在关键节点强制确认
4能触发就别轮询事件驱动优于定时轮询,零资源消耗
5架构是成长出来的,不是设计出来的第一篇文章写完后,实际运行中又新增了大量优化
6对话与派活是两件事不分派和乱分派都不可取,需按场景选择

核心观点:架构不是一次设计完成的,而是在"发现问题 → 修正流程 → 固化机制"的循环中逐步完善的。

上一篇:《从单 Agent 到多智能体协作:一个真实落地项目的架构演进与实践》

项目地址:《多 Agent 协作项目》

技术栈:OpenClaw + claudecode(mcp协议) + 飞书 + Gitee


如果你觉得这篇文章对你有帮助,欢迎点赞收藏。有问题可以在评论区交流。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询