【AI智能体工程化实战07】企业产品需求多智能体评审系统
第7章 实战:企业PRD需求多智能体评审系统
本章你将学到:
- 将Harness五步法从单智能体迁移到多智能体协作系统
- 设计多个Agent的角色职责边界,避免职责重叠和输出混乱
- 用Trae搭建多角色研讨流程,让Agent按顺序发言并生成评审报告
- 为复杂系统构建配套的评测智能体,实现全链路自动化评测
- 将完整项目包装为课程设计、科创竞赛或求职作品集
本章你将产出:一个包含4个评审角色Agent、1个汇总报告Agent、1个评测审计Agent的企业级多智能体系统,以及一份可直接用于求职的项目报告
全部章节:收录在专栏《AI应用工程化实战教程》
7.1 从单智能体到多智能体:一次能力的跃迁
前七章,我们围绕“评论甄别智能体”走完了完整的Harness五步法流程。你学会了用一套工程化方法,开发一个可评测、可迭代的AI系统。你用Claude Code和Trae分别实现了一遍,证明了范式不绑定工具。
但现在,让我们面对一个事实:真实企业场景中,几乎没有哪个有价值的系统是单个智能体能完成的。
一个产品需求文档(PRD)评审,需要产品经理关注用户价值,研发工程师评估技术可行性,测试工程师识别质量风险,运营人员考虑市场影响。你不可能把这四种视角全部塞进一个Prompt里,然后指望一个AI面面俱到——它会变成第1章那种“规则越加越多、最后不敢再改”的乱麻。
正确的做法是:让多个智能体各司其职,像一支真正的团队一样协作。 这就是多智能体系统的核心价值——不是“一个更聪明的AI”,而是“一群分工明确的AI”。
本章,你将搭建这样一支AI评审团队。
7.2 项目背景与需求定义
7.2.1 场景设定
某软件公司需要一套自动化系统,用来对新产品需求文档(PRD)进行多角色协同评审。传统做法是:产品经理写好PRD,群发邮件给研发、测试、运营,各自回复意见,然后开会讨论——流程冗长、标准不统一、评审质量高度依赖个人状态。
公司希望用多智能体系统来改进这个流程。系统接收一份PRD,自动触发四个角色Agent依次评审,最后汇总生成评审报告(包含通过/不通过决定、风险项清单、行动项建议)。
这仍然是一个“用AI评测AI”的Harness工程场景——评审系统本身是业务智能体群,我们还会为它开发一个专属的评测审计智能体,用来评估整套系统的评审质量。
7.2.2 系统架构设计
整个系统由以下角色组成:
评审角色(4个业务智能体):
| 角色 | 职责 | 关注维度 |
|---|---|---|
| 产品经理Agent | 评审PRD的用户价值和市场合理性 | 用户场景是否清晰、需求是否解决真实痛点、优先级依据是否充分 |
| 研发工程师Agent | 评审技术可行性和实现复杂度 | 技术方案是否合理、依赖是否明确、是否有潜在实现风险 |
| 测试工程师Agent | 评审可测试性和质量风险 | 验收标准是否可度量、边界情况是否覆盖、是否存在安全或性能隐患 |
| 运营经理Agent | 评审市场影响和运营可落地性 | 上线后对用户的影响、运营推广的可执行性、数据监控指标是否明确 |
协作调度角色:
| 角色 | 职责 |
|---|---|
| 汇总报告Agent | 收集四个评审角色的输出,按照统一结构生成最终评审报告(包含总体结论、各角色意见、风险项汇总、行动项清单) |
质量保障角色:
| 角色 | 职责 |
|---|---|
| 评测审计Agent | 对整套系统的评审输出进行质量评估——拿到一份PRD和对应的黄金评审报告,比对系统生成的评审报告是否覆盖了关键风险点、是否遗漏重要行动项 |
角色间的信息流转如下:
用户输入PRD
│
▼
┌─────────────┐
│ 调度层(Harness) │
└──────┬──────┘
│ 并行/串行调度
▼
┌──────┬──────┬──────┬──────┐
│ 产品 │ 研发 │ 测试 │ 运营 │ ← 四个评审Agent依次或并行发言
└──┬───┴──┬───┴──┬───┴──┬───┘
│ │ │ │
└──────┴──────┴──────┘
│
▼
┌──────────┐
│ 汇总报告Agent │
└─────┬────┘
│
▼
最终评审报告
关键设计原则:四个评审角色职责正交——产品关心“做不做”,研发关心“怎么做”,测试关心“怎么验”,运营关心“怎么推”。如果某个角色的输出里出现了另一个角色的核心判断(比如研发在评审“用户价值大不大”),就说明职责边界定义不清。
7.3 创建项目并设计规范文档
从本章开始,我们使用Trae作为主开发工具——多智能体项目涉及多个Prompt文件、多个脚本、复杂的依赖关系,可视化IDE能更好地管理这些复杂性。
7.3.1 创建新项目
打开Trae,选择“新建项目”,创建一个名为 prd-review-system 的新文件夹。
在Trae的AI对话面板中输入:
请为项目 prd-review-system 创建以下目录结构:
- specs/ 存放规范文档
- prompts/ 存放各角色的Prompt模板
- agents/ 存放各角色的运行脚本
- data/ 存放测试数据集
- tests/ 存放评测脚本和报告
- README.md 项目说明文档
7.3.2 用AI生成系统规范文档
在对话面板中输入:
我正在开发一个“企业PRD需求多智能体评审系统”。请帮我生成一份系统设计规范文档,保存为 specs/system_design.md。
系统架构如下:
- 4个评审角色Agent:产品经理、研发工程师、测试工程师、运营经理
- 1个汇总报告Agent
- 1个评测审计Agent(用于评估评审质量)
请为每个角色定义:
1. 职责描述(一句话)
2. 输入内容(它收到什么信息)
3. 输出内容(它输出什么,格式是什么)
4. 评审关注的具体维度(3-4个)
5. 与其他角色的职责边界(明确指出“这不是你的职责范围”的事项,避免重叠)
另外:
- 定义汇总报告的格式:包含总体评审结论(通过/有条件通过/不通过)、各角色意见摘要、风险项列表(按严重程度排序)、行动项清单
- 定义评测审计Agent的评测标准:如何判断一次评审是否“正确”——关键风险是否被识别、是否有重要遗漏、行动项是否具体可执行
- 描述角色间的协作流程:是串行(一个接一个发言)还是并行(同时发言再汇总),以及调度层的职责
Trae会生成一份完整的系统设计规范。审查重点:
- 每个角色的职责边界是否清晰?有没有重叠?
- 有没有明确列出“这不是你的职责”——这是避免多Agent输出混乱的关键。
- 汇总报告的结构是否包含结论、风险、行动项?
- 评测审计的标准是否可操作(不是“评审质量好”,而是“风险覆盖率超过80%且无严重遗漏”)?
如果发现职责有重叠或模糊地带,在对话面板中要求Trae修正:
specs/system_design.md 中,产品经理Agent和运营经理Agent都在关注“用户影响”,职责有重叠。请明确划分:产品经理关注“用户价值和需求本身”,运营经理关注“上线后对现有用户行为的影响和推广策略”。
7.4 构建测试数据集与黄金标准
7.4.1 生成测试PRD
在对话面板中输入:
请根据 specs/system_design.md,生成10条测试用的产品需求(PRD),保存为 data/test_prds.json。
要求:
1. 每条PRD包含:
- prd_id(PRD-001到PRD-010)
- title(需求标题)
- background(背景描述)
- requirement(具体需求描述,100-200字)
- acceptance_criteria(验收标准,至少2条)
- priority(优先级:P0/P1/P2)
2. 覆盖以下类型:
- 需求清晰、方案合理的优秀PRD(3条)
- 技术方案有明显缺陷的PRD(2条)
- 验收标准模糊、不可度量的PRD(2条)
- 用户场景不清晰、价值不明的PRD(1条)
- 缺少关键信息(如没有背景、没有验收标准)的不完整PRD(1条)
- 包含潜在安全或合规风险的PRD(1条)
3. JSON数组格式,语言为中文。
7.4.2 构建黄金评审报告
这是本章最关键的步骤。对于每条测试PRD,我们需要一份“黄金评审报告”——由人工确认的、高质量的标准答案。这份黄金报告用来衡量评审系统的输出质量。
在对话面板中输入:
现在我需要为每条测试PRD构建黄金评审报告。请读取 data/test_prds.json,逐条分析,为每条PRD生成一份黄金评审报告,保存为 data/golden_reviews.json。
每条黄金报告包含:
- prd_id:对应的PRD编号
- overall_conclusion:"通过"/"有条件通过"/"不通过"
- product_opinion:产品视角的关键判断(2-3句话)
- dev_opinion:研发视角的关键判断(2-3句话)
- test_opinion:测试视角的关键判断(2-3句话)
- ops_opinion:运营视角的关键判断(2-3句话)
- risk_items:应该被识别出的风险项列表(每条包含 risk_description 和 severity)
- action_items:应该被提出的行动项列表(每条包含 action_description 和 owner角色)
- key_review_points:评审中必须覆盖的关键检查点(3-5个),用于后续评测审计
注意:
- 这是“标准答案”,必须经过认真推敲。请基于系统设计规范中每个角色的关注维度,给出专业、准确的评审意见。
- 对于明显有缺陷的PRD,要明确指出缺陷所在。
- 对于不完整的PRD,要指出缺失了哪些关键信息。
审查黄金报告:打开 data/golden_reviews.json,逐条检查。黄金报告的质量直接决定了评测体系的可信度。如果某条黄金报告明显不合理(比如对有严重安全风险的PRD给出了“通过”),你需要手动修正。
实际上,建议的做法是:AI生成黄金报告后,你至少手动校准3条(包括1条“通过”、1条“不通过”、1条“边界情况”),其余7条可以在AI生成的基础上微调。这样既保证了GT的权威性,又提高了效率。
7.5 分步实现评审系统
7.5.1 生成四个评审角色的Prompt
在对话面板中输入:
请根据 specs/system_design.md 中的角色定义,为四个评审角色分别生成系统提示词。
要求:
1. 每个角色一个文件,保存在 prompts/ 目录下:
- prompts/product_owner.txt(产品经理)
- prompts/developer.txt(研发工程师)
- prompts/tester.txt(测试工程师)
- prompts/operations.txt(运营经理)
2. 每个Prompt包含:
- 角色设定:你是谁,你的专业背景
- 职责范围:你负责评审什么
- 职责边界:明确写出“你不负责”的事项
- 评审框架:按哪些维度进行评审(具体到子问题)
- 输出格式:严格JSON,结构如下:
{
"role": "角色名称",
"prd_id": "PRD编号",
"conclusion": "通过"/"有条件通过"/"不通过",
"strengths": ["优点1", "优点2"],
"concerns": ["关注点1", "关注点2"],
"risk_items": [{"description": "...", "severity": "高/中/低"}],
"suggestions": ["建议1", "建议2"],
"requires_clarification": ["需要澄清的问题1"]
}
- 约束:不输出JSON以外的任何内容,不越权评审其他角色的核心职责
3. 请先读取 specs/system_design.md 理解各角色定义,再生成Prompt。
7.5.2 生成汇总报告Agent
在对话面板中输入:
请为汇总报告Agent生成系统提示词,保存为 prompts/summarizer.txt。
要求:
- 角色:PRD评审汇总分析师
- 输入:一份PRD + 四个角色的评审输出(JSON格式)
- 任务:
1. 综合四个角色的意见,形成总体结论("通过"/"有条件通过"/"不通过")
2. 汇总各角色意见摘要
3. 合并所有风险项,按严重程度排序(高→中→低),去重
4. 汇总所有行动项,按负责角色分组
5. 标注角色之间有分歧的问题点(如果存在)
- 输出格式:严格JSON
{
"prd_id": "...",
"overall_conclusion": "通过/有条件通过/不通过",
"conclusion_reason": "总体结论依据",
"role_summaries": {
"product_owner": "摘要",
"developer": "摘要",
"tester": "摘要",
"operations": "摘要"
},
"risk_items": [{"description": "...", "severity": "高/中/低", "raised_by": "角色"}],
"action_items": [{"description": "...", "owner": "角色", "deadline_suggestion": "..."}],
"divergence_points": ["分歧点描述"]
}
- 约束:不输出JSON以外的任何内容
7.5.3 生成调度运行脚本
四个评审角色和一个汇总角色都有了,现在需要一个调度脚本串联整个流程。在对话面板中输入:
请根据以上设计,生成一个调度运行脚本 agents/run_review.py。
要求:
1. 读取 data/test_prds.json 中的某条PRD(通过命令行参数指定prd_id,如果不指定则默认评测第一条)。
2. 调度流程:
a. 将PRD内容分发给四个评审Agent(串行或并行均可,但建议串行以便观察流程)
b. 每个评审Agent调用Claude API,传入对应的系统提示词(从 prompts/ 目录读取),获得评审输出
c. 将PRD和四个评审输出一起提交给汇总报告Agent
d. 获得最终评审报告
3. 运行脚本时:
- 在终端显示进度:正在调用产品经理Agent... → 完成 → 正在调用研发工程师Agent... → ...
- 将最终评审报告保存为 data/review_result_{prd_id}.json
- 同时将报告打印到终端
4. 使用 anthropic 和 python-dotenv 库,从 .env 文件读取API密钥。
5. 代码清晰,关键步骤有注释。
审查要点:
- 确认调度逻辑按照设计执行(四个评审角色→汇总报告)。
- 确认每个Agent调用时加载了正确的Prompt文件。
- 确认输出保存路径正确。
7.5.4 首次运行并测试
在Trae终端中执行:
cd agents
python run_review.py PRD-001
观察终端中依次刷过的进度提示。运行完成后,打开 data/review_result_PRD-001.json,检查评审报告的结构和质量:
- 四个角色都给出了合理的判断吗?
- 汇总报告的结论是否综合考虑了各方意见?
- 风险项是否按严重程度排序?
- 有没有某个角色“越权”评审了不属于它职责范围的内容?
如果发现明显问题,先记录下来,不要立刻修改Prompt。 等到8.6节跑完完整评测,有了数据支撑再迭代。
7.6 开发评测审计智能体
评审系统本身是可运行的,但我们怎么知道它评审得好不好?这就需要评测审计Agent。
7.6.1 生成评测审计Prompt
在对话面板中输入:
请为评测审计Agent生成系统提示词,保存为 prompts/auditor.txt。
这个Agent的任务是:比对评审系统生成的评审报告与黄金评审报告,评估评审系统的质量。
要求:
- 角色:AI系统质量审计员
- 输入:PRD原文、评审系统生成的报告、黄金评审报告
- 评测维度:
1. 结论一致性(30%):系统总体结论与黄金结论是否一致?
2. 风险覆盖率(40%):黄金报告中的关键风险项,系统覆盖了多少?
3. 遗漏检测(20%):黄金报告中的关键检查点,系统是否都有回应?
4. 行动项有效性(10%):系统提出的行动项是否具体、可执行?
- 输出格式:严格JSON
{
"overall_score": 0-100,
"conclusion_match": true/false,
"risk_coverage_rate": 0.0-1.0,
"missed_risks": ["遗漏的风险项"],
"missed_checkpoints": ["遗漏的检查点"],
"action_item_quality": "高/中/低",
"analysis": "综合评价,不超过150字"
}
- 约束:不输出JSON以外的任何内容
7.6.2 生成批量评测脚本
在对话面板中输入:
请生成一个批量评测脚本 tests/run_audit.py。
要求:
1. 读取 data/golden_reviews.json 中的所有黄金报告。
2. 对每条黄金报告对应的PRD:
a. 如果对应的评审报告 data/review_result_{prd_id}.json 不存在,则调用 agents/run_review.py 生成评审报告
b. 调用评测审计Agent,比对评审报告和黄金报告
c. 收集所有评测结果
3. 计算汇总指标:
- 平均总分
- 结论一致率
- 平均风险覆盖率
- 行动项质量分布
4. 将逐条评测结果和汇总指标保存为 tests/audit_report.json。
5. 终端输出汇总指标概览。
7.6.3 运行评测
在Trae终端中执行:
cd tests
python run_audit.py
首次评测分数可能不高——这是正常的。评审系统涉及多个角色协作,初版通常存在协调问题。评测报告会告诉你:哪个角色经常漏掉关键风险?汇总报告是否正确传递了各角色的判断?行动项是否过于空泛?
这个评测审计Agent本身也是一份工程资产——它证明了你有能力对复杂AI系统进行全链路质量审计。
7.7 迭代优化一轮
基于 tests/audit_report.json 的分析,找出最影响系统质量的问题(通常是“风险覆盖率低”或某个特定角色表现不佳),针对性修改对应角色的Prompt。
例如,如果测试工程师经常漏掉安全风险:
请修改 prompts/tester.txt,在评审框架中增加一个专门的安全检查子维度:
- 安全性检查:PRD是否涉及用户数据收集?如果有,是否有明确的数据安全措施描述?是否存在潜在的安全漏洞(如输入未校验、权限未控制)?
修改后重新运行评测:
python run_audit.py
对比两次 audit_report.json 的指标变化,确认迭代有效。然后用Git提交:
git add -A
git commit -m "v1.1: 强化测试Agent安全评审维度,风险覆盖率从XX%提升至XX%"
7.8 作品集包装指南
你刚刚完成了一个企业级多智能体系统——这绝不是普通的课堂作业能比的。以下是包装建议:
1. 项目命名(用于简历和GitHub)
“基于多Agent协作的PRD智能评审系统——含自动化质量审计闭环”
2. 一句话介绍
模拟产品、研发、测试、运营四角色协同评审产品需求文档,内含5个专用Agent和1个评测审计Agent,实现从评审到质量评估的完整闭环。
3. 项目亮点(简历中的bullet points)
- 设计了4个正交职责的评审Agent(产品/研发/测试/运营),避免角色重叠和输出混乱
- 采用Harness工程化方法,规范驱动开发,所有Agent输出严格结构化
- 构建了10条PRD黄金评审报告数据集,用于自动化质量评测
- 配套开发了评测审计Agent,实现风险覆盖率、结论一致率等多维度自动评估
- 完整走通“规范定义→数据构建→Agent开发→评测迭代”的工程闭环
4. 可用于:
- 软件工程/人工智能课程设计
采用主流多智能体框架进一步完善后(见后续专栏) 可用于:
- 互联网+/挑战杯/大创等科创竞赛
- 校招AI应用岗/产品岗求职作品集
- GitHub开源项目(附带完整文档)
7.9 本章小结
- 多智能体系统的核心是职责正交。每个Agent只做自己最擅长的事,不越权、不重叠。设计阶段花在“定义职责边界”上的每一分钟,都会在开发阶段获得十倍的回报。
- 五步法在复杂系统中依然有效:规范定义→数据构建→Agent开发→评测迭代→优化闭环。规模变大了,方法不变。
- 评测审计Agent是系统的“质检员”。它让多智能体系统的质量不再是拍脑袋说“看起来还行”,而是可量化、可追溯的。
- 这个项目是你求职作品集的核心资产。它展示了工程化思维、多智能体架构设计能力、以及对AI系统质量的认真态度——这些恰好是企业最看重而普通毕业生最缺乏的。
课后练习
- 运行评审系统,观察四个角色的输出。有没有某个角色出现了“越权评审”的情况?如果有,修改它的Prompt明确边界。
- 从
data/test_prds.json中选择一条你感兴趣的PRD,手动写一份你认为正确的评审报告,然后与系统生成的评审报告对比。你发现了哪些系统没有覆盖到的点? - (进阶)尝试修改调度脚本
agents/run_review.py,让四个评审Agent并行调用而不是串行调用(提示:使用concurrent.futures或asyncio)。对比并行和串行的运行时间。 - (进阶)为评测审计Agent增加一个评测维度:“角色覆盖完整性”——检查评审报告是否缺失了某个角色的意见。修改
prompts/auditor.txt并重新评测。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)