跳到主要内容

闭合反馈回路:生产 AI 系统究竟如何持续改进

· 阅读需 14 分钟
Tian Pan
Software Engineer

你的 AI 产品三个月前上线了。你有显示延迟、错误率和 token 成本的仪表盘。你已经看到用户与系统交互了数千次。然而你的模型和上线那天相比,好的地方一样好,差的地方一样差。

这不是数据问题。你拥有的数据已经多得不知该拿来做什么。这是架构问题。那些告诉你模型哪里失败的信号,就躺在应用日志、用户会话和下游结果数据里。它们与任何能改变模型行为的东西断开了连接。

大多数团队把 LLM 当作静态制品,然后在外围包裹监控和评估。最优秀的团队则把生产环境视为一条永不停歇的训练流水线。

没人谈及的组织鸿沟

2025 年 Gartner 的一项调查发现,63% 的组织要么缺乏适合 AI 的数据管理实践,要么不确定自己是否具备。这是该问题的精致版表述。粗糙版是:你的运维团队把 LLM 交互日志写入 Datadog,你的 ML 团队有一条从另一个数据仓库读取数据的微调流水线,而没有人把这两者连接起来。

这就是杀死大多数 AI 产品的反馈回路失效。不是缺乏信号,而是没有人对这些信号需要走过的路径拥有所有权。

这个鸿沟是结构性的:运维拥有日志,ML 拥有训练数据。在大多数工程组织中,这两个团队没有共同的数据模式、关键系统或评审节奏。生产信号跌入它们之间的鸿沟并蒸发消失。

闭合反馈回路需要明确决定谁拥有"生产 → 训练"这条流水线,并相应地配备人员。这不是模型选择问题,也不是提示工程问题。

显式反馈的 1% 难题

显而易见的解决方案是向用户索取反馈。添加点赞/踩的按钮,构建评分流程,坐等质量信号滚滚而来。

但在大多数生产部署中,不到 1% 的用户会点击那些按钮。

确实评分的用户往往是异常值:高度积极的重度用户,或刚刚经历了特别糟糕体验的用户。大多数用户——那些行为真正反映典型质量的用户——保持沉默。你最终得到的是一个有偏差的样本,告诉你关于极端情况的一些信息,但对你的中位数却一无所知。

显式反馈值得收集,也值得采取行动,但你不能单靠它在生产规模上运转反馈回路。

替代方案是隐式信号:无需用户采取任何额外行动就能揭示满意或不满意的行为模式。

  • 重试率:用户是否换了说法立刻又问了同样的问题?高重试率表明第一次响应无法使用。
  • 编辑距离:如果你生成了用户随后编辑的文本,他们改动了多少?逐字复制响应的用户满意程度,远高于重写了 80% 的用户。
  • 任务完成率:用户是否完成了 LLM 辅助的下游任务?对于编程助手,生成的代码最终能运行吗?对于支持机器人,工单是否在没有升级的情况下关闭了?
  • 会话放弃率:用户是在对话中途离开,还是到达了自然终点?
  • 接受率:对于建议类界面(代码补全、邮件起草),提供的建议中有多少比例被接受?

隐式信号对每一次交互都可用——而不只是那 1% 进行了评分的用户。它们比显式评分更嘈杂,但嘈杂的大规模信号胜过真空中的精准信号。Cursor 的 Tab 补全模型利用来自每日 4 亿次请求的接受和拒绝信号,每 1.5 到 2 小时更新一次。不需要任何点赞按钮。

标签模式设计:大多数微调流水线悄悄失败的地方

假设你已经解决了收集问题。你在捕获隐式信号,你有一条标注流水线。在花费标注预算之前,你需要回答一个问题:标签究竟是什么?

这个问题听起来微不足道,实则不然。

"这个响应是否有帮助?"是你能构建的最糟糕的标签模式之一。它主观、未经定义,并将多个不同的质量维度混入一个单一的比特中。标注者会对"有帮助"的含义产生分歧。在这些标签上训练的模型会收敛于感觉安全和令人愉悦的响应,而不是正确的响应。

更好的标签模式应该:

  • 将标签与具体、可验证的标准挂钩:比如"这个响应是否正确引用了 API 文档?"或"这个响应是否包含所需模式中的有效 JSON?"
  • 分离维度:事实准确性、格式合规性、语气/风格和完整性是不同的事物,失败时需要不同的干预措施。不要混为一谈。
  • 尽可能使用二元标签:二元一致率始终高于李克特量表一致率。如果你的标注者无法就 5 分中的 3 分意味着什么达成一致,你就是在噪声上训练。
  • 每个标签都携带元数据:请求 ID、时间戳、模型版本、提示模板版本、用户分群。没有这些,当质量发生变化时,你就无法隔离是什么发生了改变。

更深层的失败模式是典型性偏差:研究发现,标注者系统性地偏好熟悉的、典型的文本。在这些偏好上训练的模型会收敛于安全、通用的输出。这是大量微调可能产生的"无聊但正确"质量崩溃的驱动因素之一。捕捉它需要对刻意多样化的示例集进行标注——而不仅仅是看起来最像模型已有生成的那些输出。

数据路由架构

即使有了好的信号和好的标签模式,你仍然需要连接它们的管道。

生产反馈流水线有四个层次:

摄取层:每个请求和响应,连同元数据,流入事件存储。OpenTelemetry 的 GenAI 语义约定(自 2024 年以来日趋成熟)定义了覆盖提示、检索、工具调用和模型响应的标准追踪模式。OTel Collector 是你执行数据策略的地方:PII 脱敏、采样和路由在数据离开你的网络边界之前在此完成。

处理层:原始事件被清洗、聚合和分析。采样策略选择将哪些交互路由到标注——不是全部,因为标注成本高昂。自动化的 LLM 作为评判者(LLM-as-judge)评估在完整分布上大规模运行。人工标注者处理不确定和高风险的案例。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates