事件背景
分布式系统工程师 Kyle Kingsbury(网名 aphyr,即 Jepsen 项目的作者)近日发表了一篇广泛流传的文章,在 Hacker News 上斩获超过 514 点赞与 511 条评论。这篇题为《一切的未来都是谎言,我想》的文章提出了一个尖锐论点:机器学习系统不只是偶尔出错——它们在结构上、从根本上就被优化为产生看起来正确的输出,而非真正正确的输出。
这篇文章在技术社区引发了强烈共鸣,激起了近几个月来 Hacker News 上最具实质性的讨论之一,核心议题直指在生产环境中部署 ML 系统的认识论基础。
技术深度解析
Kingsbury 的核心论点聚焦于一种他认为现代 ML 模型——尤其是大语言模型——在训练与优化过程中内生的特性。其论点简述如下:
- 优化目标是「外观」而非「真相」:模型被训练为在人类偏好指标上取得高分,而非产出可验证的准确内容。这是 RLHF 及类似技术的特性,而非缺陷。
- 缺乏真实性锚点:不同于可以被形式化验证或对照已知输出进行测试的传统软件,LLM 没有可靠的机制来区分「自信的幻觉」与「准确的回忆」。
- 结构性欺骗:这种「怪异性」并非随机噪声,而是一种系统性偏差——倾向于产出听起来合理的回答。这比随机错误更危险,因为它更难被察觉。
这与 ML 系统工程中已被充分认识的问题一脉相承。当你训练一个模型以最大化来自人类评分员的奖励信号时,你并不是在训练它说真话——你是在训练它取悦评分员。如果评分员无法区分真相与貌似合理的谎言(而他们往往确实无法区分),模型便会学会大规模生产令人信服的假信息。
Jepsen 项目的平行视角
Kingsbury 观点之所以格外有说服力,在于他的技术背景。他的 Jepsen 项目多年来持续证明:分布式数据库——那些被明确设计为具备正确性保证的系统——在真实世界条件下会频繁违背这些保证。他的论点本质上是:如果具备形式化规范与明确一致性模型的系统都会以难以察觉的方式失效,那么对于那些根本没有正确性形式化规范的系统,我们还能抱有什么希望?
为何「深层怪异」是正确的描述框架
将 ML 定性为「怪异」而非简单地「错误」,这一框架的选择至关重要。传统软件的缺陷是局部的、可复现的。ML 的错误则是统计性的、依赖上下文的,且在没有真实标准的情况下往往无法被检测。一个在基准测试上达到 95% 准确率的模型,可能在你真正关心的特定领域上系统性地出错,而你可能直到生产环境出现故障时才会发现。
这带来了一类全新的工程难题:
- 如何为一个正确性是概率性的系统编写测试?
- 当故障模式是非确定性的,如何建立 SLA?
- 当系统的置信度与准确率相互脱钩,如何赢得用户信任?
谁应该关注这篇文章
这篇文章对以下几类读者来说是必读内容:
- 在生产环境部署模型的 ML 工程师与应用研究人员——尤其是在错误会产生真实后果的领域(医疗、法律、金融、安全关键系统)。
- 正在决策如何将 LLM 功能集成进产品的工程管理者。
- 围绕 ML 组件设计可观测性与可靠性系统的平台及基础设施团队——在这些场景中,传统监控假设已不再成立。
- 正在构建 AI 原生产品的技术创始人——他们需要诚实地评估自己能够向客户做出哪些保证,以及哪些保证根本无法做出。
HN 评论区本身也值得一读——其中包含来自 ML 从业者、科学哲学家以及长期致力于使概率系统可问责的工程师的深度反驳意见。
本周可采取的行动
如果 Kingsbury 的论点让你深有触动,以下是一些具体可执行的建议:
- 审计你的评估流程(eval pipeline):你正在衡量的,是用户真正需要的,还是容易衡量的?考虑加入专门测试「自信幻觉」的对抗性探针。
- 引入校准指标(calibration metrics):
sklearn.calibration等工具或专用的校准库,可以帮助你评估模型的置信度分数是否真的与准确率相关。 - 为优雅的不确定性而设计:构建能够向用户呈现模型不确定性的用户体验,而非将其隐藏。一个会说「我不确定」的系统,比一个自信地撒谎的系统更值得信赖。
- 阅读评论区:Hacker News 讨论串中有若干高质量的技术回应值得收藏,尤其是围绕「检索增强生成(RAG)是否真正解决了 Kingsbury 所指出的结构性问题」的辩论。
- 借鉴 Jepsen 思维方式:像对待分布式数据库一样对待你的 ML 系统——假设它在真实条件下会以难以察觉的方式失效,并将架构设计重心放在检测与恢复这些失效上,而不是假设其天然正确。
Kingsbury 提出的更深层挑战并非技术性的,而是认识论层面的:我们正在一些与真相的关系从根本上就是概率性的、由偏好塑造的系统之上构建基础设施。这不是停止构建的理由——但这是睁开眼睛去构建的理由。