你的评估套件就是你拒绝编写的产品需求文档
打开本季度发布的任何 AI 功能的 PRD。注意那些形容词。助手应该是有帮助的 (helpful)。回复应该是自然的 (natural)。智能体应该理解 (understand) 用户的意图。摘要应该是准确 (accurate) 且简洁 (concise) 的。每一个这样的词都是团队放弃决策的地方。他们并没有决定这个功能要做什么。他们只是决定了在会议中如何向彼此描述这个功能,然后——在没人点破的情况下——悄悄地将实际的产品定义移交给了编写评估集的人。
这不是文档问题。评估集就是规格说明书。PRD 是一份在产品诞生前撰写的官方新闻稿。文档中模糊的形容词在评估集中变成了明确的行为断言,否则它们就毫无意义——模型会自行挑选一种解释并发布,而团队在三个月后才会发现,“简洁”对审核者、用户以及在上一个 Sprint 调整 Prompt 的人来说,含义完全不同。一个评估集薄弱的 AI 功能,其产品定义也同样薄弱。模型并没有失败。团队从未决定过成功意味着什么。
形容词是被推迟的决策
读一份传统的 PRD,假设你必须根据页面上的文字来实现它。“有帮助的”是一个包含十几个维度的向量:助手是优先处理用户的任务还是字面上的请求?在模糊不清时是先询问还是先猜测?它是否会建议用户没问过但相关的任务?对于表述不清的问题,它是回答用户想问的问题还是字面输入的问题?产品经理 (PM) 和工程师都可以对“有帮助”点头示意,但私下里对这 12 个问题的答案却互不兼容。当编写评估集时,必须做出选择——每一个测试用例都是在各个轴向上未曾言明的抉择。
“简洁”也是如此。对于只想要一个数字的用户来说,200 字的回答并不简洁。对于想要推理过程的用户来说,12 个字的回答也不简洁。简洁是请求内容、用户专业程度、阅读渠道以及出错后果的函数。PRD 假装这是一个决策;而评估集则强迫做出 12 个决策,并将其写下来,在代码审查中进行辩护,最后通过真实案例的测试通过或失败来予以批准。
大多数团队采用的交付顺序把这些决策放在了错误的位置。工程团队在 Prompt 基本构建完成之后,根据已经积累的 Trace 采样数据来编写评估集。评估集对 Prompt 现有的行为进行编码,将其称为规格说明并将其冻结。忙于下一次发布的 PM 从不阅读这些案例。他们也没被邀请参与。因此,团队在优化一份从未经过产品人员批准的行为契约,而测试用例则是由评估集建立时恰好值班的人编写的。
