FDE Times 数据在招 FDE 职位 838▼55 近 7 天在招职位数的变化(同口径比较):不计入本周新开始追踪的公司的职位近 7 天新增 66在招公司 169支持远程 24%美国薪资中位数 $200k招聘最多 Palantir 95
ENVI

前线部署工程师(FDE)的专业媒体

技能指南 · 指南

答应客户“永远不出错”,AI 项目就会输在验收

错多少是产品决策:写代码前就和客户约定哪些错误可以接受、在哪套数据上衡量。

分享微博

要点速览

  • LLM 评测不需要 100% 通过。合适的通过率是产品决策,取决于客户能接受哪些错误。
  • 好的标准要具体、可衡量,当前模型能够做到,并且同时覆盖多个维度,其中包括错误严重程度。
  • 针对真实数据中实际出现过的失败模式写测试,每次改动后都重跑评测。
橙色大号数字 8,表示每天有八封重要邮件分错。下方是计算过程:每天 1,000 封邮件,准确率标准为 92%,约 80 封分错;如果其中 90% 只是分错队列,还剩约 8 个严重错误。
把“92% 正确”换算成客户能理解的数字:每天约 8 个严重错误。这正是要向客户提出的问题。来源:文中基于示例标准表的演示计算(假设数字)。

设想这样一个场景:你和一家物流公司第二次开会。对方想用 LLM 自动分类投诉邮件,运营负责人用一句话概括了需求:“分类每次都必须正确,不能出错。”

如果你点点头就回去写代码,这个项目多半已经失败了。三个月后验收时,只要有一封邮件分错,客户就可以说系统没达到要求,而你手里没有任何书面约定能反驳。

对前线部署工程师(FDE)来说,AI 项目最难的往往不是提示词,也不是数据管道。系统注定会出错,在这个前提下,怎样和客户就“成功”的含义达成一致,才是最难的。本文讲的就是怎样在写第一行代码之前做到这一点。

为什么“永远正确”不是标准

软件工程师习惯了单元测试:测试变红就是 bug,有 bug 就要修。Hamel Husain 为团队提供 LLM 产品评测方面的咨询,他指出 LLM 评测不同:评测套件不必 100% 通过。OpenAI 的评测指南也提到,正是因为 AI 系统具有不确定性,才需要评测。

Husain 更重要的观点是:需要多高的通过率是产品决策,取决于你愿意接受哪些错误。所以客户说“不能出错”时,正确的回答不是“做不到”,而是接着问:哪些错误绝对不能接受,哪些可以容忍?

Anthropic 关于成功标准的文档提出了四项要求:标准必须具体、可衡量、可实现、与场景相关。它举的例子很简短:不要写“性能良好”,要写“情感分类准确”。

“永远正确”在这四项里有两项不合格:在有限样本上没人能衡量它,也没有哪个模型能做到。

先读真实失败案例,再选指标

常见的做法是打开一份现成的指标清单,挑出准确率和 F1,也许再加一个“有用性”评分。Husain 提醒,这种自上而下的做法往往让人去衡量容易衡量的东西,而不是用户真正在意的东西。

他建议反过来做:先分析真实数据中的错误,再针对观察到的具体失败模式写测试。至于规模,他建议从约 100 条 trace 开始找错误。需要验证 LLM 评审(LLM judge)时,每种失败模式标注 100 到 200 个样例。

放到这家物流公司身上,就是请对方提供 100 封去除了个人信息的真实投诉邮件,用你的原型跑一遍,再和一位客服人员一起看结果。假设你们发现了三种失败模式。

第一,“延迟送达”邮件被归为“信息咨询”。第二,货物损坏的索赔邮件被归为“延迟送达”。第三,威胁采取法律行动的邮件没有升级给主管。

这三种失败的严重程度差别很大。把“延迟送达”和“信息咨询”搞混,客服花几分钟把邮件挪到正确的队列就行。漏掉一封法律威胁邮件,则可能演变成法律事件。单一的准确率数字掩盖的,恰恰就是这类信息。

一套验收标准示例

Anthropic 建议同时在多个维度上设定标准。其中一个维度是错误严重程度,例如“90% 的错误只是带来不便,而非严重错误”。

延迟也在清单上。在安全性方面,Anthropic 给出了一个数字明确的标准:在 10,000 次运行中,被内容过滤器标记为有害的输出少于 0.1%。

注意这条标准的写法:有阈值,有样本量,有衡量工具。邮件项目的标准也应该照这个模板写。下表中的数字仅作示例,实际要换成你和客户商定的数字:

维度 标准 衡量数据
整体分类 至少 92% 的邮件分到正确类别 500 封由客户确认标注的邮件
错误严重程度 至少 90% 的错误只是“分错队列” 同一批 500 封邮件中的错误
法律威胁邮件 法律威胁测试集中的邮件一封不漏 150 封已标注的法律威胁邮件
延迟 邮件进入队列前完成分类 预发布环境日志

现在按第一行算一下。每天 1,000 封邮件,92% 的准确率意味着约 80 封分错。如果其中 90% 只是分错队列,每天还剩约 8 个严重错误。

你要摆到桌面上的问题是:“每天会有 8 封重要邮件分错。你们团队能接受吗?还是需要加一道人工审核?”

这个问题把一种模糊的担忧,变成了可以实际讨论的业务选择。它也符合 Husain 对通过率的看法:通过率是关于哪些错误可以接受的产品决策,所以客户方的产品负责人必须参与决定。

那“一封不漏”这一行呢?只有在范围窄、固定且足够大的测试集上,绝对阈值才有意义,这样结果才不是靠运气,比如示例表中的 150 封邮件。如果系统做不到,办法是加人工审核,而不是悄悄降低标准。

下一个项目的五个步骤

第一步:把每条模糊需求改写成带数字的句子。OpenAI 的指南在设计评测时也是从这个问题开始的:成功是什么样子?

第二步:要真实数据,和客户方的领域专家一起读约 100 条 trace。用他们的语言记录失败模式,而不是机器学习术语。

第三步:按严重程度给每种失败模式排序,再从准确率、严重程度、延迟和安全性等多个维度设定标准。

第四步:确认阈值可以实现。Anthropic 强调,指标不应超出当前前沿模型的能力,并且应以基准测试或你自己做过的实验为依据。做出承诺之前,先用原型在测试集上跑一遍,这样谈判时手里有基线数据,而不是凭感觉。

第五步:让客户签字确认标准,然后把评测自动化。OpenAI 建议建立持续评测,每次改动后都运行评测,并用人工判断来校准自动评分。

常见陷阱

第一个陷阱是把阈值从一个项目照搬到另一个项目。Anthropic 指出,引用准确性对医疗应用可能至关重要,对闲聊机器人则没那么重要。适合邮件分类的 92% 阈值,未必适合总结病历。

第二个陷阱是只有一个总体数字。准确率看起来不错,也可能藏着严重的失败模式。至少要有一条关于错误严重程度的标准,再为客户最担心的那种失败单独设一条。

第三个陷阱是自己挑测试集。如果标注是你做的,验收时客户就有理由不信任结果。请客户方的人确认标注,至少覆盖严重失败的测试集要这样做。

最后一个陷阱是把标准当成签一次就归档的文件。提示词会变,模型会变,输入数据也会变。只有每次变化后都重跑评测,标准才有意义。

在岗位描述中看到“define success metrics with customers”或“build evals”这类说法时,指的就是这项能力。简历上要写具体:商定了哪些阈值,在多少样本上衡量,客户根据这些数字做了什么决定。

本周练习:挑一个你正在做的 AI 功能,照上表写一套四行的标准,每行都有阈值、样本量和衡量方法。然后试着回答:“每天可以接受多少个严重错误?”如果答不上来,这就是下次开会要问客户的问题。

这篇文章对你有帮助吗?

5 个信源
路线图上的下一篇 · 阶段 4: 客户工作为客户写的提示词和评测,到底归谁?合同不写明提示词、评测和连接器,所有权之争只会推迟到交付那天。