AI PRD:撰写模型系统真正可验证的需求
AI系统的PRD是一份不同的文档。你的需求不是给工程师的指令,而是对一个将即兴发挥的系统的约束。本文档围绕这一事实重构了PRD结构。
此技能驱动的文件
- ../../templates/definition/prd.md,基础PRD模板
templates/ai/目录下的AI覆盖模板:eval-spec.md、guardrails.md、hallucination-controls.md、human-approval-gates.md、prompt-structure.md、context-management.md、red-team-review.md,以及针对智能体系统的agent-architecture.md和multi-agent-workflow.md- 受监管场景:../../modules/regulated/templates/regulated-ai-prd-template.md,由../../modules/regulated/SKILL.md驱动
何时使用
- 为任何涉及LLM、智能体或模型做出或草拟决策的功能编写规格时
- 评审现有PRD中任何出现“AI应该……”的地方时
- 将演示转化为工程团队可负责的任务时
此技能强制执行的五个部分
1. 验收标准是评估集,而非句子
“智能体应该提取商户名称”是一个愿望。需求应该是:
- 一个带标签的示例集(首次发布至少30到50个案例)
- 以数字形式说明的通过阈值(准确率、召回率@k或评判分数)
- 低于阈值时的处理规则(阻止发布,而非“审查”)
对于草稿中的每个“应该”,请追问:示例集在哪里?阈值是多少?谁负责将失败的案例重新添加回示例集?将答案记录在../../templates/ai/eval-spec.md。
2. 边界情况是规格的核心,而非附录
快乐路径是模型免费就能做到的。文档的价值体现在边界处。要求以明确表格形式包含:
- 必须拒绝:系统拒绝的输入(超出范围、不安全、无法修复的歧义)
- 必须升级:条件路由到人工处理的环境,需指明路由目标;在../../templates/ai/human-approval-gates.md中记录触发条件和超时行为
- 绝不可虚构:虚构比缺失更糟糕的字段(数字、姓名、法律或监管声明、金额);在../../templates/ai/hallucination-controls.md中定义弃权策略
3. 非确定性要书面说明
相同的输入可能明天产生不同的输出。PRD必须声明:
- 哪些输出变化是可接受的(措辞?排序?格式?)
- 哪些是缺陷(不同的决策、不同的数字、不同的拒绝行为)
- 可复现性姿态:温度和种子策略,以及日志是否足以捕获并回放任何决策的足够信息
如果PRD未说明这一点,QA将稍后在Bug跟踪系统中愤怒地自行决定。
4. 防护措施是带有负责人的功能
每个防护措施在../../templates/ai/guardrails.md中占据一行:名称、触发条件、行为、负责人、测试。任何智能体功能需考虑的最小防护措施集:
- 对不可验证的输出默认为失败关闭模式(无法检查=不要推送给用户)
- 任何不可撤销操作前需经人工批准(发送、支付、删除、发布)
- 支出和速率上限,需声明上限值以及达到上限时的行为
- 输入隔离:系统读取的内容是数据,而非指令
- 审计轨迹:谁或什么做出了决策,基于哪些输入,使用哪个模型版本
5. 运维页面
- 每次调用的成本目标和告警阈值
- 每步延迟预算
- 模型版本锁定和升级决策流程
- 遥测:每次决策记录的内容,评估运行位置(CI、预发布、生产采样),以及回滚触发条件
受监管路线
通用PRD工具编写上述五个部分后即结束。当产品处于金融或数据监管机构管辖之下时,不要尝试仅凭记忆运行此技能的覆盖模板。请改用../../modules/regulated/templates/regulated-ai-prd-template.md的字节精确模板,遵循../../modules/regulated/SKILL.md,并在编写任何需求之前先完成其第0部分(许可证前提条件、方案规则、数据驻留和供应商条款、金融犯罪接触点、行为准则、审计证明指标)。空白的覆盖字段等于将决策推迟给发现它空白的人。监管机构名称、章节编号和引用的文本只能来自该模块或用户提供的主要文本;切勿自行编造。
工作流程
- 对上下文进行分类。受监管场景:走上述受监管路线,然后返回此文档处理模块未覆盖的部分。非受监管场景:从../../templates/definition/prd.md开始。
- 阅读PRD草稿,或从零开始与产品经理访谈。
- 将每个“应该”陈述重写为第1节形式。列出那些无法转化为评估集的陈述;这些还不是需求,请标记它们。
- 构建三个边界情况表格。每个表格至少推动填写5行;空表意味着发现工作尚未完成。
- 编写非确定性条款和防护措施表。
- 生成一页差距列表:原始文档中假设存在确定性实现者的所有地方,按影响半径排序。
输出格式
返回包含五个部分的重构PRD,随后是差距表:
| # | 差距 | 原始文档中的位置 | 按现状发布的影响半径 | 最小修复方案 |
|---|
退出关卡
此技能的输出作为../../os/STAGE-GATES.md中关卡2的输入。不要报告PRD已完成,如果:任何需求缺乏数值通过条件,任何防护措施缺乏负责人和测试,或任何差距行缺乏负责人和日期。