1. 批改功能的 PRD,评审两次没过
一家在线教育机构要做作文批改。老师把学生作文传上去,助手给个分数、指出问题、给修改建议,老师看过之后决定采不采纳。
第一版需求文档写完,评审没过。产品经理在验收标准那一栏写的是「批改准确率不低于 90%」。评审的人问了三句:准确率怎么算、谁判定、拿多少篇作文测。三句都答不上来。
改了三天,第二次评审又没过。这回卡在两个问题上:批改错了学生看到错误的评价怎么办;一次批改花多少费用,一天三千篇是多少钱。文档里都没有。
两次评审没过,暴露的是同一件事:普通功能的需求写法,搬到结果不固定的功能上不够用。普通功能的输入和输出是对应的,点这个按钮出那个结果;批改这件事,同一个学生同一篇作文,两次跑出来的分数可能差三分,指出的问题也可能不完全一样。文档要按这个前提写。
2. 结果不固定的功能怎么写
2.1 别写「准确」,写「什么情况下给什么」
「准确」这个词在需求里没有落点。评审的人没法验收,研发也没法照着做。
换一种写法:把这件事的输入分成几类,每一类写明应该给出什么。作文批改这个功能,输入按「能不能判」分三类。
能判的:一篇完整作文,字数在要求范围内,题目明确。这种给出分数、问题清单、修改建议三段。
判不准的:作文字数明显不足、跑题、或者只写了个开头。这种不给分数,只给一句「本文未达到评分要求,请补充至 800 字以上」,并给出一个「仅看语言表达」的备选入口。
判不了的:图片模糊认不出字、上传的不是作文、内容涉及敏感话题。这种直接拒答,并说明原因,同时给教师的处理入口。
一段需求的好坏,看评审的人能不能照着它画出流程图。 分了三类,流程就能画出来;只写「准确率不低于 90%」,流程画不出来。
三类里各占多少,行业不同差得很远。教育批改这类场景,能判的占大多数、拒答的是少数;金融的合规审查正好相反,一份材料里能直接判合规的往往不到一半,剩下都要转人工复核,所以它的需求里「转人工」那条路径要写得比「给结论」那条还细;医疗的报告解读更极端,几乎没有可以自动下结论的,功能的重心落在「把关键指标抽出来排序」上。分不清比例的时候,先拿一百条真实数据跑一遍,数一数三类各有多少。
2.2 哪几种情况必须拒答
拒答这件事要写成一栏,逐条列出来。作文批改这边列了四条。
非作文内容。上传的是一道数学题或者一张风景照,直接说「这不是一篇作文」。
涉及敏感内容。写到了不该写的话题,不给评价,转给人工处理,并在日志里留记录。
图片质量差到认不出。让老师重新上传,不做猜测。
超出功能范围。比如老师问「这篇作文能得奖吗」,这不在批改范围内,明说不答。
拒答的文案要一起写进需求。写「系统提示无法识别」和写「这张图片里的字看不清,请重新拍一张」,用户的下一步动作完全不同。
2.3 需求段落的改前改后
把一段真实的需求文字放在一起对照,差别更清楚。
| 改前 | 改后 |
|---|---|
| 系统能准确识别学生作文中的语法错误 | 系统逐句检查,指出错别字、语法错误和标点问题,每处给出原文位置和修改建议;同一篇作文里同类问题超过 10 处时,只列出前 10 处并统计其余数量 |
| 给出合理的分数 | 按内容、结构、语言三项各 40、30、30 分权重给分;三项各给一个分档说明;总分低于 60 分时不显示分数,只显示分档与问题清单 |
| 批改结果要准确 | 拿 200 篇已由两位老师人工批改过的作文做对照:分数误差在 5 分以内不低于 80%,问题指出的重合度不低于 70% |
三行改后文字的共同点是都能核对。第二行里「总分低于 60 分时不显示分数」这一条,是产品经理定的规则,不是模型定的,写进需求之后就不会被临场发挥改掉。
同一段需求,改前和改后各摆一版
左边 · 改前的三行
- 第一行系统能准确识别学生作文中的语法错误
- 第二行给出合理的分数
- 第三行批改结果要准确
- 研发拿到手会问的准确到什么程度、什么算合理、拿什么测
三句话都读得懂,也都没法验收。
右边 · 改后的三行
- 第一行逐句检查,指出错别字、语法错误和标点问题,每处给出原文位置和修改建议;同类问题超过 10 处时,只列前 10 处并统计其余数量
- 第二行按内容、结构、语言三项各 40、30、30 分权重给分;三项各给一个分档说明;总分低于 60 分时不显示分数,只显示分档与问题清单
- 第三行拿 200 篇已由两位老师人工批改过的作文做对照:分数误差在 5 分以内不低于 80%,问题指出的重合度不低于 70%
- 第二行里那条规则总分低于 60 分不显示分数,是产品经理定的,不是模型定的
三行都带着数和口径,能逐条核对。
需求里的规则由产品经理定,交给模型的只是一部分。
3. 验收标准怎么写才算数
3.1 不写没有依据的数字
「准确率 90%」这类数字的问题不在数字本身,在没写依据:测什么、谁来判、判对的标准是什么。
写之前先回答三个问题。测的对象是哪一批数据,比如两百篇已由两位老师人工批改过的作文。判对的标准是什么,比如分数误差在五分以内。谁来判,比如由学科组长带两名老师逐篇核,核对记录留档。
三个问题答不上来,这个数字就不要写进验收标准。硬写进去,上线那天会变成一场扯皮。
数字该取多少,也不是拍出来的。做法是先跑一个试点批次:拿两百篇作文让助手批一遍,再让老师人工批一遍,两边一比,就知道误差落在什么区间。第一次比出来误差在五分以内的比例是七成三,那验收标准就定八成,够得着但需要改进;一上来定九成五,等于给自己挖坑。
3.2 改写成可核对的清单
一条验收标准写完之后,自己过一遍这个检查:拿着一张纸,能不能逐条打勾。
拿批改功能举例,改完之后的验收清单里有这么几条:两百篇对照作文里,分数误差在五分以内不低于百分之八十;问题指出的重合度不低于百分之七十;字数不足八百字的作文不给分数、给出补充提示;图片模糊时提示重拍并且不给出任何评价;同一篇作文连续批改两次,分数差异不超过三分。
最后一条是这类功能特有的一条:结果不稳定,所以要把「两次结果的差异」本身当成一个可验收项。
八条验收标准,逐条看能不能打勾
已经能打勾的几条
- 两百篇对照作文里,分数误差在五分以内不低于百分之八十
- 问题指出的重合度不低于百分之七十
- 字数不足八百字的作文不给分数、给出补充提示
- 图片模糊时提示重拍并且不给出任何评价
- 同一篇作文连续批改两次,分数差异不超过三分
这几条都带着数,能逐条核对。
卡住的那两条
- 批改要准确缺口径:怎么算、谁判定、用多少篇测;改写成「拿 200 篇已由两位老师批改过的作文做对照,分数误差在 5 分以内不低于 80%,由学科组长带两名老师逐篇核」
- 系统要稳定缺口径:什么叫稳定,是两次结果差异小,还是服务不中断;改写成「同一篇作文连续批改两次,分数差异不超过 3 分;单次响应不超过 20 秒」
- 手动改成「响应要快」提示「『快』没有数字,也没写从哪一步开始计时」
「快」「稳定」这类说法一量就露空,要先分清说的是结果稳还是服务不断。
八条都打上勾之后
- 输出一张验收单逐条列出标准、核对方式、验收人
- 这个案例的底数试点 6 个班 240 人,两个月批改 8600 篇;实测分数误差 5 分以内 84%、问题重合度 73%、两次差异平均 1.8 分;一次批改输入约 2000 词元、输出约 500 词元、单次约 0.004 元、一天 3000 篇约 12 元
- 最后一条是这类功能特有的两次结果的差异本身就是一个可验收项
验收标准写完自己过一遍,拿一张纸能不能逐条打勾。
验收标准写完自己过一遍,拿一张纸能不能逐条打勾。
3.3 谁拿什么测
验收标准定了之后,还要写清谁来测。
分三类人:产品经理测功能和管理规则(拒答是否按预期、异常分支是否触发);学科老师测业务效果(分数和问题指得准不准);平台或运维测性能与稳定性(响应时间、并发、失败重试)。
三类人测的东西不一样,测的时间点也不一样。前两类在发布前,第三类在压测时。
清单里的条目按性质分三种,写的时候分开摆。
| 条目性质 | 举例 | 谁来测 | 什么时候测 |
|---|---|---|---|
| 功能类 | 字数不足不给分数、图片模糊提示重拍 | 产品经理 | 发布前逐条试 |
| 效果类 | 分数误差 5 分以内不低于 80% | 学科老师 | 发布前用对照数据算 |
| 稳定类 | 单次响应不超过 20 秒 | 平台或运维 | 压测时 |
4. 评审会上的四个必问
4.1 数据从哪来
评审第一个会问的是数据:训练和评测用的题从哪来、谁标注的、有多少条。批改功能这边要答的是:对照用的两百篇作文由两位老师人工批改过,标准由学科组定,标注记录留档。
答不上来这一条,这个功能的效果就没法验证,评审会上也交不出结论。
4.2 权限怎么给
第二个问的是权限:谁能用、能看到谁的数据、学生作文这类内容能不能出学校。
批改功能里,老师只能看到本班学生的作文,教研组长能看本年级,管理员能看全部;作文原文和批改结果都不出校园网,模型调用走内网出口。
4.3 错了怎么退
第三个问的是退路:批改错了怎么办、老师不采纳怎么办、学生看到错误评价怎么办。
答法是三条:老师可以逐条驳回助手的建议,驳回后以老师的版本为准;助手的评价默认只对老师可见,老师勾选之后才对家长和学生展示;连续驳回同一类建议三次,超过阈值就提回流待办,交给学科组看。
4.4 费用多少
第四个问的是费用:一次多少、一天多少、一个月多少。
算给评审看的是一个乘法:一篇作文输入约两千词元、输出约五百词元,单次约零点零零四元;一天三千篇约十二元,一个月约三百六十元。数字不一定要很精确,但要有口径,评审的人才知道这件事养不养得起。
| 评审会上的问题 | 答案要点 |
|---|---|
| 数据从哪来 | 200 篇双人批改过的作文,标准由学科组定 |
| 权限怎么给 | 老师只看本班,作文不出校园网 |
| 错了怎么退 | 老师可逐条驳回,学生默认看不到评价 |
| 费用多少 | 单次约 0.004 元,一天 3000 篇约 12 元 |
四张卡片答不上来,需求就先别上会。
图注:这四问是评审会上一定会被问到的,写需求的时候就把答案备好。
5. PRD 模板逐栏怎么填
5.1 前六栏和普通需求一样
功能背景、目标用户、使用场景、功能范围、上线范围、名词解释,这六栏跟普通功能需求一样写。唯一要多写一句的是功能范围:把「这一版不做什么」列出来。批改功能第一版不做的包括:不做手写体识别、不做多轮追问、不做跨班对比。
整份模板一共十三栏,写的时候照这个顺序来。
| 顺序 | 栏 | 是不是 AI 功能特有 |
|---|---|---|
| 1-6 | 功能背景、目标用户、使用场景、功能范围、上线范围、名词解释 | 不是 |
| 7 | 输入与输出 | 是 |
| 8 | 判断与边界 | 是 |
| 9 | 失败与兜底 | 是 |
| 10 | 效果口径 | 是 |
| 11 | 权限与数据 | 不是,但 AI 功能里必写 |
| 12 | 费用口径 | 是 |
| 13 | 上线与回滚 | 不是,但 AI 功能里必写 |
不做什么这一栏,能省掉评审会上大半的追问。
5.2 中间四栏是 AI 功能特有的
这四栏是普通需求里没有的。
| 栏 | 这一栏要写什么 | 批改功能的填法 |
|---|---|---|
| 输入与输出 | 输入有哪几种形态、输出分几段、每段给什么 | 输入有文字和图片两种;输出分三段:分数与分档、问题清单、修改建议 |
| 判断与边界 | 什么情况给结论、什么情况给候选、什么情况拒答 | 完整作文给分数;字数不足只给提示;图片模糊、非作文、敏感内容拒答 |
| 失败与兜底 | 超时、出错、没查到各给什么 | 超时 20 秒转人工;识别失败提示重拍;不给默认分数 |
| 效果口径 | 用什么数据、什么标准、谁来测 | 200 篇对照作文,分数误差 5 分以内不低于 80%,学科组核 |
这四栏写完,评审要问的四件事里有三件已经有答案了,只剩费用那一件事要单列。
5.3 后三栏管上线和退路
权限与数据、费用口径、上线与回滚,这三栏一起写。
权限与数据这一栏,把「谁能看谁的数据」「数据出不出圈」写清楚。费用口径这一栏写单位成本和月度估算,并写清超出预算时的处理方式:是降级到只批改不评分,还是排队等额度。上线与回滚这一栏写清灰度范围(先哪个年级、几个班)、观察指标(采纳率、驳回率、响应时间)、以及出问题怎么退回去(回到纯人工批改,老师的入口不动)。
6. 交出去之前自己过一遍
需求写完之后,正式上评审会之前,自己拿着下面这几条过一遍。这五条都过了,评审会上基本不会卡住。
第一,验收标准能不能逐条打勾。打不了勾的挑出来重写。
第二,四张卡片(数据、权限、退路、费用)能不能立刻答上来。答不上来的先补。
第三,异步和失败路径有没有写。超时给什么、识别失败给什么、并发不够时用户看到什么。
第四,一次典型操作的成本算过没有。算过就把那个乘法写在文档里,别等会上被问。
第五,不做什么写清楚了没有。这一栏空着,评审会上就会有人问「那这个能不能做」。
自检不用写进文档,自己过一遍就够。过的时候有一个帮手:把这份需求交给一个没参与过这个功能的同事,让他只看文档回答那四个问题。他答不上来的地方,就是评审会上会被追问的地方。
7. 批改功能这份 PRD 补了哪几栏
第三版过了。改动主要在三处。
验收标准那一栏从一句「准确率不低于 90%」变成了六条能打勾的清单,其中一条是专门针对结果不稳定的:同一篇作文连续批改两次,分数差异不超过三分。写清单的过程里,产品经理顺手发现原来的评分口径里没写低分段的处理,补了一条「总分低于 60 分不显示分数,只显示分档与问题清单」。
评审四问提前备好了答案:数据是两百篇双人批改的作文,学科组定标准;权限是老师只看本班、作文不出校园网;退路是老师逐条驳回、学生默认看不到评价、同类建议被驳三次进回流待办;费用是一天三千篇约十二元、一个月约三百六十元。
「不做什么」这一栏原来空着,补上了四条:不做手写体识别、不做多轮追问、不做跨班对比、不做家长端推送。
试点跑了两个月,六个班两百四十名学生,一共批改八千六百篇。几条验收标准的实测结果是:分数误差在五分以内的比例百分之八十四;问题指出的重合度百分之七十三;两次批改的分数差异平均一点八分、最大四分;拒答触发了三十一次,全部落在预设的三类里。退回率那一栏也有个数:老师采纳率百分之七十九,驳回率百分之二十一,其中重复被驳的集中在「修辞手法评价」这一类,已经进了回流待办。
评审过程中被否掉的一块也记一下:第一版想顺带做「问答题自动判分」,理由是同一套能力可以复用。评审时被否,原因是判分标准不像作文那样有公开的评分细则,老师的判分口径差异太大,效果没法验。这一块挪到了后续版本,先把评分细则整理出来再说。
8. 评审之前自己先过一遍
| 问题 | 答「否」的时候怎么办 |
|---|---|
| 验收标准能不能逐条打勾,有没有写清谁怎么测? | 打不了勾的重写,先写清口径再写数字 |
| 结果不稳定这件事,有没有单独一条验收项? | 补一条,比如同一输入两次跑结果差异不超过多少 |
| 哪几种情况必须拒答,文案写了吗? | 逐条列出来,文案一起写进文档 |
| 数据从哪来、谁标注的、有多少条,答得上吗? | 答不上来说明效果没法验,先补数据 |
| 谁能看谁的数据,数据出不出圈,写了吗? | 补权限与数据一栏 |
| 出了错怎么退回去,写了吗? | 补上线与回滚那一栏,写清退到哪儿 |
| 一次操作的费用和月度估算算过吗? | 算一个乘法写进文档 |
| 这一版不做什么,列出来了吗? | 补上,至少四条 |
9. 写 AI 需求时最容易漏的几样
验收标准写「准确率 90%」却没写谁怎么测。 这个数字本身没有对错,问题在它缺少口径。写清用哪批数据、判对的标准是什么、谁来判,数字才有落点。
需求里不写失败和兜底。 只写了正常流程,超时、识别失败、没查到这些情况一个没提。上线之后这些情况全都要现补,而现补的时候往往已经有人在用了。
评审前没做过自检。 数据、权限、退路、费用这四张卡片在会上一问三不知,会就得重开。这四件的答案在写需求的时候顺手就能填,等到会上再答,成本高一个量级。
10. 需求过了评审,还得证明它真的好用
需求这一段要能交出三样东西:一份把「准确」拆成具体条件的十三栏模板、一份能打勾的验收清单、一份评审前自己过一遍的五条自查。
验收清单定了,功能也做出来了,接下来要回答的是更硬的一个问题:怎么证明它真的好用。上线前那次验收只是第一关,之后每天的使用里它还会答错,还会在某些场景失灵。下一份材料讲智能体测评体系:五层指标怎么搭、评测集怎么从答错里长出来、模型打分和人审怎么配,以及线上答错的例子怎么回到评测集里。