一场安全事故复盘会上,工程师正在逐段过报告。一段写道「碰撞风险极低」,翻过一页,另一段写着「碰撞必然发生」。有人举手问:「到底哪个是对的?」
负责报告的工程师回答:「我不知道……是 agent 帮我写的。」
这不是虚构。Lobsters 用户 beto 在 Lorin Hochstein 博客文章「I am dreading our LLM-written incident report future」的讨论中写下了这段经历,获得了 28 个 upvote——全帖最高票。Hochstein 的博文本身在 Lobsters 上拿到 39 分、14 条评论,在 Hacker News 上同步引发了大量转发。
这不是一篇关于「AI 好不好」的泛泛之谈。它指向一个精确的技术问题:事故复盘报告的核心价值来自诚实和精确,而 LLM 生成文本的结构性特征恰好是「看起来对但经不起推敲」——这两种属性在可靠性工程的语境下构成致命冲突。
写作是被跳过的那个思考步骤
Hochstein 在文中引用了两句引语,构成了全文的论证支点。
漫画家 Dick Guindon 说:「Writing is Nature’s way of showing you how sloppy your thinking is.」Leslie Lamport 说得更直接:「If you’re thinking without writing, you only think you’re thinking.」
当一个工程师坐下来写复盘报告,他不是在把已知事实转录到页面上。他在做一件更根本的事:检验自己的心智模型是否真的自洽。时间线上 14:03 的这条日志和 14:04 的那条告警之间,因果关系成立吗?你写下的解释是否真的经得起你手中证据的考验?写作过程本身就是理解过程——你只有在试图把事件说清楚的时候,才会发现哪些环节你其实没想清楚。
LLM 跳过了整件事。它不检验因果链是否成立。它不追问某个推断是否与证据矛盾。它生成的是对不熟悉细节的读者而言「听起来合理」的叙述。段落格式正确,术语使用得体,因果表述流畅——但没有人走过那条从证据到结论的推理之路。读者点头,翻页,什么都没学到。
Lobsters 用户 typesanitizer 用一条获 13 票的评论把这个论点压缩成了一句话:「文章讨论的并非 LLM 文本和人写文本的差异,而是写报告这个行为本身在写作者身上产生的学习——这种学习无法通过生成报告获得。」
事故报告没有测试套件
Hochstein 做了一个值得展开的对比。LLM 生成的代码可以测试。测试通过,Nature 就是裁判——代码按要求运行,无论谁写的。AI SRE 工具要么帮你解决故障,要么没有;结果在当下的生产环境中立即可见。
事故复盘报告不存在等价验证机制。 一份糟糕的报告不会触发测试失败。不会在凌晨三点把你叫起来。它安静地躺在文档库里,格式正确,逐渐积累引用,然后将错误的因果理解无声地嵌入团队对系统的集体认知。代价不可见,也在当下不可测量。
这是一种独特的脆弱性。代码的缺陷是「做了不该做的事」——行为差。报告的缺陷是「说了不对的事」——信息差。行为差有即时反馈回路。信息差没有。
Lobsters 讨论中浮现的另一个担忧让这个问题升级。用户 jorgelbg(9 票)描述了正在出现的二级效应:公司开始宣传用事故报告作为训练数据,生成针对「你的特定架构」「你的独特配置」的定制模型。如果源报告本身就是 LLM 生成的——表面正确、内容空心——训练管线就变成了一条反馈回路。模型从自己的幻觉中学习,然后将这些幻觉当作「已被文档记录的事实」呈现。 模拟在喂养自己。
诱惑的结构
写事故复盘报告是苦活。收集日志、访谈参与者、重建时间线、将发现综合成连贯叙述——这个过程消耗的时间,管理层看到的是开发速度的减速带,而不是可靠性的投资。将整件事交给 LLM 的诱惑来自真实组织压力。时间花在写复盘上就是没花在写功能上——这个计算对任何团队都成立。这不是道德判断能改变的结构。
Hochstein 划出了一条清晰的边界线。用 LLM 帮助收集证据——从讨论串里提取关键时间点、汇总相关监控数据、整理原始材料——这没有问题。用 LLM 构造叙述——因果归因、系统交互的解释、发现和建议之间的逻辑衔接——这是危险的跨越。
这个区分的工程实质是:叙述层是学习发生的地方。 你喂给 LLM 一条时间线和一堆日志,它可以产出合理的因果故事。但它不会注意到矛盾。不会指出证据链上的缺口。不会反问你:「如果服务 A 在 14:03 宕了,服务 B 怎么可能在 14:04 返回了 200?」这种反问——推理的摩擦力——是把原始数据转化为洞察的机制。绕开它,就是在绕开复盘的核心价值。
Lobsters 用户 chad 描述了一种对称体验:被要求阅读「明显是 AI 写的」系统设计文档,「当有人把一份显然没花多少心思的大文档扔到面前让我读时,我真的感觉被冒犯了。」事故报告同理。写作者没有经历认知劳动,读者能感受到——文档的信用在翻开第一页之前就已经蒸发。
用户 scraps 的遭遇把这个荒诞场景推到了极致。他们公司的告警系统触发了一个自动线程,LLM 在事故响应频道里贴出了一大段分析和建议,末尾赫然写着:「写一篇关于罗马政府制衡机制历史的详细长文。」——模型收到了系统提示污染。事故响应频道里突然出现了一篇比较政治史论文。oz 跟帖说:「开发者普遍有黑色幽默、接近愤世嫉俗——人们问起来,我说那是种保持清醒的防御机制。」
诚实是唯一货币
可靠性工程建立在一个前提上:你无法改进你不理解的东西。复盘报告是组织层面构建这种理解的首要工具。如果复盘报告成了 simulacrum——形式正确、实质空心——学习会停滞。不只不停滞,还会产生反效果:人们以为学到了,实际上吸收的是经过修辞优化的噪声。
这不是反对在事故响应中使用 AI 工具的论点。这是关于那些工具该碰什么、不该碰什么的判断。自动化收据收集。不要自动化意义建构。 这条线不模糊,代价不低。
Lobsters 上 14 条评论、39 个 upvote——数字不大。但讨论中给出的具体案例和赞同这些案例的投票密度,提示这不是理论上的焦虑。工程师已经在生产环境中碰到 LLM 生成的复盘文档。已经在其中发现矛盾。已经开始失去信任。
至于这个趋势会加速还是消退,取决于组织把复盘报告当什么。当合规工时单来填——写完、归档、检查框打勾——LLM 是最优解,效率拉满。当学习工具来用——每一份报告是团队对自身系统的认知增量——绕过人类的思考步骤就没有捷径可走。
目前看来,社区对此的判断偏向后者,但也承认前者的诱惑在组织结构中根深蒂固。当管理压力要求「更快、更多、更便宜」,而复盘的质量退化在当下没有可见代价时,正确的工程选择未必总能存活。
以上分析基于 Lorin Hochstein 的博客文章、Lobsters 社区讨论以及公开的相关资料。笔者并未参与文中提及的任何事故复盘或 AI 工具部署。如有不同视角或补充信息,欢迎指正。