AI 接管故障,工程师正在失去对系统的掌控
AI handles incidents, engineers lose touch with their systems
我在 LinkedIn 做 SRE 时就曾尝试构建自愈系统,如今 AI 已能独立处理告警、定位根因甚至自动修复。这虽令人兴奋,却埋下隐患:当 AI 包办常规故障,工程师将失去磨练直觉的机会。正如 Lisanne Bainbridge 提出的自动化悖论,自动化越高效,人类应对罕见复杂故障的能力反而越弱。航空业通过模拟器反复训练飞行员应对极端状况,软件行业也需如此。在 Rootly,我们正与 Uptime Labs 合作,利用 LLM 模拟真实故障场景,让工程师在压力中实战演练。毕竟,解释和观察无法替代亲手操作,唯有持续实践,才能避免在 AI 失效时陷入被动。
自动化的悖论在于:它越成功,人类在它失效时就越缺乏准备。
HN 评论区
314- bob1029
工程师与客户和用户脱节,这是一种自然的演变。
我注意到关于 AI 削弱软件人员能力的担忧正在成为现实。
我曾给团队端上一盘现成的完美解决方案,但他们仍花了三天时间把问题扔给 Claude 却没能找到解决路径。最终的解决方案 literally 只有一行代码,通过大约 30 分钟耐心、老派的故障排查本就能搞定。
我认为正在发生的是,AI 系统将那些目标不明确且缺乏领导的工程师拉入了一个自我膨胀的反馈循环,因为 AI 工具能模拟出一个更完美的现实,导致他们完全脱离了真实世界。
- solatic
作者头脑清醒,但几乎没有哪家公司会花时间让 SRE 进行事故演练。
为什么?因为在 AI 出现之前,就很少有公司花时间练习恢复备份、灾难恢复、挑选不常用的操作手册进行演练、测试能否在不中断服务的情况下轮换密钥,或者尝试将系统重新部署到另一家供应商的云/平台上,等等,等等,等等……这是最无趣的运维工作。没有任何高管在乎这个。运维团队和其他人一样,都推崇那些光鲜亮丽的工作:为新项目搭建新基础设施、酷炫的聊天机器人、花哨的新仪表盘、让图表向上向右走,诸如此类。
飞行员之所以要进行灾难模拟训练,是因为政府强制要求。如果这不是持有飞行员执照的条件,没有任何公司会为此买单。
想让 SRE 花时间进行灾难训练吗?退一步想。支持专业执照制度。将其作为持有执照的条件。除非将这项工作专业化,否则你无法获得全行业的专业行为。如果没有执照制度,这种情况永远不会发生,因为每一个消费者看不见的偷工减料都意味着额外的利润,而日益激烈的竞争最终迫使企业为了跟上步伐、维持经营而不得不进行这些偷工减料。强制所有从业者接受执照制度,意味着所有从业者都必须承担这些成本,从而禁止他们……
- krtkush
我觉得使用 AI 就像陷入流沙。
我用得越多,就越依赖它来对同一系统进行修改或修复。最终,我感到一片空虚;对于“我”构建或修复的系统,没有任何直觉性的认知。
代码审查很重要,但它无法替代我在不使用 AI 的情况下手动完成软件开发所有步骤时所能建立的心理模型。
- alexpotato
最近一直在做面试。
尽管因为使用 Claude 等工具,我已经大约 6 个月没写过代码了,但我惊讶地发现,LeetCode 等内容的“肌肉记忆”竟然回来了。
我说这个是因为我认为,那些拥有多年编码、调试等经验的老手,即使手生了一点,也能迅速重拾所需的技能。
另一方面,对于初级人员,我就不那么确定了。我那些直接招聘应届毕业生的朋友说,新冠期间上大学 + 大语言模型(LLMs)+ “云就够用了”这三种因素叠加,导致现在的初级人员既不知道如何解决问题,也不知道如何设计基础软件架构。
我想我们都在某种图表上,那条“流失那些懂行的人”的斜率曲线,和
- jtfrench
代码自主生成的越多,人类所有者对该代码的直觉就越少。直觉的丧失是技术债务的种子,它会随时间增长。在足够长的时间跨度下,它甚至会让你看自己代码库的感觉像第一天上班(有时甚至是在你自己创立的公司)。
幸运的是,有办法缓解这一问题,本质上是将人类对代码库“应该”如何的直觉转化为智能体的护栏。但如果没有这些,你就是在随机性的大海上扬帆,每一道波浪都与上一道截然不同。
- smugglerFlynn
时不时有人提起航空业的观点。在航空领域,故障是灾难性的,而且你操作的系统不会随时发生变化(双关语)。
你或许可以这样训练 SRE,但你只是在教他们如何高效地_反应_,而不是如何_修复_这些故障独特的、独角兽般的根本原因。用航空类比的话,这就像让飞机工程师同时针对飞行中的引擎故障进行演练,还要进行引擎调试和引擎重新设计。
这在软件工程里从来就不合逻辑,将来也不会。花在演练上的每一分钟,如果用来重构代码库以降低未来事故发生的概率,效果会更好。这篇文章非常以 SRE 为中心。
- INTPenis
代码也一样。
我和程序员一起工作,他们能惊人地详细回忆起过去写过的代码,这并不罕见。
有人可能会提到一个冒出来的问题,他们会盯着虚空发呆片刻,然后真的能回忆起那个问题在代码中的根源,因为他们记得那是 8 个月前写的。
当 AI 生成所有代码时,这项技能将不复存在,我们将陷入一个永无止境的循环:依靠 AI 来追踪代码的状态,以便 AI 对其进行扩展和维护。
- devsda
我见过一种变体:随机工程师被拉进生产事故电话会议,且不要求他们熟悉该系统。
他们被要求“直接用 AI
- danielbln
理解组件、初步诊断问题、构建修复方案等。工程师被迫在两个选项间做出选择:要么接受 AI 提出的可能平庸的修复方案,要么冒着被视为不懂如何利用 AI 的不称职资源的風險。
你可以猜到工程师选了哪个。修复方案不算坏,但在某些边缘情况下并非最优。我们后来不得不修改它。如果这类情况发生得足够多,工程师最终肯定会放弃深入理解系统。
- sandeepkd
如果能力增长持续下去,那么任何 AI 无法解决的事故,无论人类如何练习,都会让人类束手无策。
我喜欢文章中关于飞机的例子,但我觉得现实中它更像代码。1.5 年前,工程师们还常说他们偶尔会手写代码以保持技能敏锐,而现在你几乎听不到这种说法了。
如果 SRE 遇到 AI 无法解决的情况,那么该 SRE 会使用 AI 系统进行更深入的初步诊断,指引它去不同的地方,等等。
这对拥有 AI 时代之前经验和直觉的 SRE 有效,但对于 AI 时代之后新入职的员工,效果可能就没那么好了。我不知道解决方案是什么,也许是练习演练,但我有一种预感,整个领域将被吞并,就像许多其他工程领域一样。
对于品味和判断力的需求是有限的,甚至这些也终将被纳入模型之中。