跳到主要内容

人类反馈延迟:正在扼杀你AI改进循环的30天缺口

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数团队把点赞/踩的按钮当作AI质量循环的基础。思路很清晰:用户对回复评分,你积累评分,然后改进。但在实践中,这意味着你需要等整整一个月,才能检测到第一天就已经发生的质量回退。

数字是残酷的。生产环境中LLM应用的显式反馈率在所有交互的1%到3%之间。对于一款B2B产品在第一年的正常规模——每日活跃用户1000人——这意味着每天只有10到30个评分样本。以统计置信度检测5%的质量变化大约需要1000个样本。你要等30到100天,改进循环才有足够的有意义数据来运行。

当你积累了足够的差评来确认一个问题时,这个问题早已塑造了用户对你产品的心智模型。其中一些人已经流失了。这30天的缺口不是测量上的不便——它是产品层面的责任。

为何显式反馈在规模化时失效

1-3%的响应率不是UX设计的失败,而是结构性的。用户使用你的产品是为了完成任务,而不是为了训练你的模型。在任务完成的摩擦之上再加上评分的摩擦,即使有强烈意见,大多数用户也不会接受这种额外负担。

偏差问题使数量问题雪上加霜。关于LLM对话中显式反馈的研究发现,积极评分与实际回复质量的相关性很弱——有时甚至呈负相关。成功绕过模型限制的用户往往对那些回复评分很高。对一个复杂问题收到密集但技术上正确的回答的用户,有时因为答案不符合预期而给低分。你收集到的信号是"用户在这一刻的满意度",而不是"在可评估意义上的回复质量"。

还有一个时序问题。对话系统中的反馈集中在较后的对话轮次——平均在第五轮之后。如果你在回复层面测量质量,你对那些跨会话累积、只有当用户最终放弃时才显现的连锁失败是盲目的。

对从业者的结论是:显式反馈是有用的校准信号,而不是主要的改进循环驱动力。它应该用于验证其他信号,而不是独自驱动循环。

行为信号:100%覆盖率的替代方案

每次用户交互都会产生行为信号,无论你是否捕获。一个拥有30天反馈循环的团队和一个拥有当天循环的团队之间的区别,通常在于他们是否对这些信号进行了埋点。

重试和重新生成率是最直接的代理指标。当用户点击重新生成、立即重新措辞他们的查询,或者放弃一个会话并开始新的会话时,他们表达的是对回复的行为性拒绝。这个信号不需要任何用户配合,覆盖率为100%。跨某种回复类型的持续重试率峰值在数小时内就是质量警报,而不是数周。

生成后的编辑距离是内容创作系统中的核心信号。当用户用LLM生成草稿然后在发送前进行编辑时,生成输出与最终输出之间的编辑距离是一个连续的质量代理。零编辑接受是强烈的正面信号,大幅度重写是负面信号。这种方法将用户已经在做的事情正式化了——只是他们不知道你在测量。

会话放弃和重新查询模式捕捉了回复在技术上完整但实际上无用的失败模式。收到回复后立即用相同措辞重新提问的用户,在表明第一个答案没有解决他们的意图。收到回复后在没有完成工作流程的情况下离开会话的用户,在以不那么明确的方式表达同样的意思。两种模式都可以实时检测到。

复制粘贴行为是一个被低估的正面信号。如果用户将LLM生成的内容块复制到他们的文档、邮件或代码编辑器中,这是对该内容高置信度的认可。这个行为比点击点赞需要更刻意的意图,与实际效用的关联更紧密。能够追踪剪贴板事件或下游使用情况的系统获得了显式评分无法复制的质量信号。

下游任务完成情况是工作流集成系统中最高保真度的信号。AI生成的费用分类是否被会计接受或纠正。AI起草的支持回复是否被发送或重写。生成的代码块是否通过用户的测试或被删除。这些信号测量的是你真正关心的事情——不是用户是否喜欢这个回复,而是它是否有效。

所有这些信号共有的关键属性:它们立即可用,覆盖率为100%,不依赖用户配合。

实现第一天信号的采样架构

仅靠数量并不能解决问题。原始行为信号是有噪声的,生产流量并不均匀分布在你关注的失败模式上。你需要一个采样架构,将行为数量转化为统计上有效的质量估计。

**从分层采样开始,而不是随机采样。**生产查询按意图、用户细分和任务类型聚类。如果那些类别很少见,1%的随机流量样本可能在你最容易出错的类别中产生零样本。按意图聚类进行分层采样——即使是基于查询嵌入相似性的粗略聚类——你也能比随机采样更快地获得对质量状况的代表性覆盖。

关于LLM评估自适应采样的研究表明,在1%的采样率下,通过基于质量和基于聚类的选择,模型排名与全数据排名保持98%的相关性。实际含义:你可以在1%的生产流量上运行你的LLM即评判者管道,获得与对所有内容评分几乎相同的质量估计,成本只有1/100。

**将LLM即评判者作为你的实时评分层。**在启动时立即部署一个自动评判者对采样的生产流量进行评分。它在第一天不会被完美校准。无论如何都要运行它。一个未校准的方向性信号比等待30天的显式反馈积累更有价值。随着人工审查案例的到来,用它们来校准评判者并迭代降低其错误率。评判者随着时间推移变得更准确;它从第一天起就足够准确以检测大型回退。

**构建置信区间,而不是点估计。**质量监控的失败模式是将质量分数视为一个数字而不是带有方差的估计。如果不考虑每次测量背后样本量的置信区间,周二4.2%和周三4.8%的重试率毫无意义。统计功效计算应该为你的采样率提供依据:如果你想以90%的置信度检测重试率的10%相对变化,你需要一个可以在部署前计算出来的最小样本量。据此确定你的采样率。

**将高不确定性案例标记为人工审查。**并非所有行为信号都同样可解释。长回复后立即重新生成可能表明质量失败,也可能表明用户想要不同的格式。当你的自动化系统将某个案例标记为模糊——例如高重试率但也有高下游完成率——将这些案例路由到人工审查,而不是让噪声传播到你的质量估计中。将你的人工审查预算集中在边界案例上,而不是审查所有内容。

让这一切奏效的预上线架构

上面的行为比从头开始构建更难改造。拥有短反馈循环的团队共享一个通用的部署模式。

**上线前的影子模式。**在向用户公开新模型或提示词之前,以影子模式运行:复制实时流量,从当前系统和新系统生成回复,离线使用你的自动评判者进行比较。这让你能从真实生产流量分布中获得质量估计,同时不对用户产生任何影响。进行7-14天的影子测试,能捕捉到足够多的查询类型变化,在任何用户看到新系统之前检测到主要的分布质量差异。

**带行为埋点的金丝雀部署。**向5-10%的用户推出,从第一个请求开始就埋点所有行为信号。监控重试率、会话长度、任务完成情况和编辑距离,与影子模式中建立的基线进行对比。前24小时内行为信号的异常是影子评估遗漏某些内容的早期预警。这是你的实时回归检测器。

**从生产故障中构建离线评估集。**每当一个生产故障引起你的注意——通过行为信号、用户报告或LLM即评判者标记——将其转化为离线评估案例。你的离线评估集应该作为真实失败模式的精心策划记录持续增长,而不是作为预上线假设的反映保持静态。随着时间推移,评估套件对你实际用户群的代表性越来越强。

**从10-20个案例开始,而不是1000个。**构建评估系统中最常见的错误是等到你有足够的数据感觉统计上稳健后才开始。涵盖你最高优先级失败模式的10到20个代表性案例——从用户报告的故障或行为信号异常值中提取——足以建立基线并检测大型回退。从小处着手并扩展是你建立评估文化的方式;等待统计完美是你如何构建30天反馈循环的方式。

实践中的样子

Cursor的Tab补全模型运行的反馈循环以小时而不是天为单位衡量。该模型每天处理数亿次请求。用户接受和拒绝代码补全是训练信号。新检查点推出,收集接受数据,下一个训练步骤开始。循环在大约1.5到2小时内完成。这种速度不是通过新颖的ML技术实现的,而是通过紧密的行为信号埋点和为持续迭代设计的部署架构实现的。

Cursor与典型早期阶段AI产品之间的规模差异是真实的。但原理可以缩小规模。在每天10,000次请求、3%重试率的情况下,你在第一天就有300个行为质量信号——足以在任何显式反馈积累之前检测到大型质量故障。制约因素不是数量;而是你是否构建了捕获这些信号并对其采取行动的埋点。

消除30天反馈缺口的团队有一个共同特征:他们决定行为信号是一流的产品遥测数据,而不是显式评分的次要补充。他们将行为信号捕获构建到数据管道中,就像他们构建请求日志一样。这些信号一直都在,他们只是开始倾听了。

闭合循环

30天的反馈缺口是一个选择,而不是一个约束。显式反馈永远是稀少而缓慢的。问题在于你是将这种稀疏性视为改进速度的上限,还是将其作为埋点更好信号的理由。

行为代理——重试率、编辑距离、放弃模式、下游任务完成情况——从你第一个用户与系统交互的那一刻起就以100%的覆盖率可用。分层采样和LLM即评判者评分使这些信号在第一天就具有统计可操作性。影子模式和金丝雀部署在用户看到新系统之前给你质量估计。

团队希望在显式评分上运行的改进循环——观察、评估、迭代——通过适当的埋点在行为信号上是可以实现的。反馈并没有缺失。你只是没有捕获它。

References:Let's stay in touch and Follow me for more thoughts and updates