最近我在学习多Agent协作的完整流程,做了一次实操演练:让产品经理、开发工程师、测试工程师三个Agent角色并行工作,从需求对齐到文档交付。整个过程没有写一行代码,却产出了3,555行结构化文档。这里复盘一下关键做法和踩坑经验。

目标与角色设计

我设定了一个"智能任务协作平台"——一个支持任务CRUD、状态流转、列表查询的简易系统。三个角色各司其职:

  • 产品经理:输出PRD和API契约文档
  • 开发工程师:基于PRD做技术方案设计
  • 测试工程师:基于PRD和API契约设计测试用例

技术选型很克制:Python FastAPI + SQLite + 原生HTML/JS,零构建复杂度,聚焦协作流程本身。

三角色并行启动

这是最关键的一步。我把三个角色的task同时dispatch出去,让它们并行工作。核心命令结构是:三个独立task,每个包含完整的角色定义、上下文、产出要求。

信息流设计成闭环:PRD流向开发做设计,PRD+API契约流向测试写用例。每个角色的产出成为下一个角色的输入。

实际产出

三份文档全部生成到 D:/multi-agent-project/docs/

  • PRD.md:10条用户故事 + 22条验收标准(Given-When-Then格式),覆盖任务CRUD和状态流转
  • api_contract.md:5个API端点的完整JSON Schema,含请求参数、响应格式、错误码定义
  • design.md:9个模块目录 + 6张ER图 + 7个Mermaid图,20个API详细设计
  • test_cases.md:30条测试用例(TC-CREATE-001格式),覆盖正常流程、边界异常、并发场景

踩坑与思考

  1. 上下文传递是最大挑战。每个Agent是独立session,必须把项目背景、技术栈、产出格式等所有信息显式写进task的context里,否则角色会"失忆"或输出格式不统一。

  2. 并行不等于完全独立。开发的技术设计依赖PRD,测试的用例依赖PRD+API契约。虽然三个任务同时启动,但需要在task描述中注明"如果上游文档已存在则读取并基于编写",避免时序问题。

  3. 产出格式必须提前约定。我在协作机制中规定了:需求文档用Markdown+用户故事格式、测试用例用表格+ID格式、Bug报告含复现步骤和严重等级。没有约定就没有对齐。

  4. 异步回调要处理好。三个Agent并行运行,完成时间不同。需要轮询或等待异步通知,再汇总结果。实际执行中最慢的任务跑了约250秒。

下一步

文档层面对齐后,下一步是激活开发工程师Agent基于 design.md 写实际代码,跑通前后端联调,然后测试工程师Agent用自动化脚本验证。这才是真正的协作闭环——从文档到可运行系统。

多Agent协作的核心不是"一个AI做所有事",而是让每个Agent专注自己的强项,通过结构化的交付物串联起完整的工作流。这次实践验证了这条路走得通。