AI 自动处理事故的隐忧:工程师正在失去对系统的感知
前 LinkedIn SRE Sylvain Kalache 在个人博客发表文章,探讨了 AI 辅助事故响应工具带来的一个隐忧:当 AI 越来越擅长处理常规事故时,人类响应者得到的实践越来越少,而当自动化无法解决的模糊、高严重性事故来临时,工程师将陷入困境。文章从作者 2012 年在 LinkedIn 设计自愈系统的经历出发,深入分析了自动化与人类技能之间的矛盾。
背景:AI SRE 的兴起
2012 年的原型
作者回忆,2012 年他在 LinkedIn 担任 SRE 时,设计了一个能够自愈并从之前事故中学习的系统。但当时的 AI 能力远不如今天,这个系统只停留在原型阶段。
今天的现实
如今,AI 辅助事故响应工具已经成为现实:
- 自动检查告警:AI 自动分析告警,识别问题类型
- 形成假设:基于历史数据和系统知识,形成故障假设
- 查询遥测:自动查询监控指标、日志、追踪数据
- 关联最近部署:将故障与最近的部署变更关联起来
- 自动实施修复:甚至可以自动实施修复(回滚、扩容、重启等)
这些工具通常被称为"AI SRE"(虽然作者不太喜欢这个术语)。它们在很多方面表现出色,尤其是在夜间自动处理常规事故,让工程师不用因为容量问题被叫醒。
核心问题:自动化的讽刺
Lisanne Bainbridge 的研究
作者引用了人因研究员 Lisanne Bainbridge 在 1983 年发表的著名论文《自动化的讽刺》(The Ironies of Automation)。
Bainbridge 解释了自动化带来的一个悖论:
自动化减少了操作员的常规工作,但同时也减少了他们获得实践的机会。当自动化遇到无法处理的异常情况时,操作员需要接管,但他们的技能已经因为缺乏实践而退化。
这个悖论在航空、核电、化工等行业已经被广泛研究和认识。现在,它正在 IT 运维领域重演。
常规事故是技能训练场
关键洞察是:常规事故是响应者安全地培养对系统行为和故障模式直觉的场所。
- 低风险练习:常规事故通常不严重,是练习故障排查的好机会
- 建立直觉:通过处理大量常规事故,工程师建立对系统的直觉——什么是正常的,什么是异常的
- 熟悉工具:在常规事故中熟悉监控工具、日志系统、调试工具
- 培养模式识别:见过足够多的故障模式后,能够快速识别新问题
当 AI 接管了常规事故,工程师就失去了这个训练场。
具体影响
1. 技能退化
当工程师不再处理常规事故:
- 故障排查技能退化:不经常练习,排查问题的速度和准确性下降
- 系统知识老化:系统在不断变化,不参与事故处理就无法保持对系统的最新理解
- 工具熟练度下降:不经常使用监控和调试工具,熟练度下降
- 直觉丧失:对系统的直觉("这个指标看起来不对")需要持续维护
2. 高严重性事故响应能力下降
当罕见的、高严重性的事故发生时:
- AI 无法处理:这类事故通常是前所未见的,AI 没有足够的历史数据
- 工程师需要接管:必须由人类工程师接管
- 但工程师缺乏实践:由于长期不处理事故,技能已经退化
- 压力更大:高严重性事故的压力更大,更需要熟练的技能
- 恶性循环:处理不好 → 更多事故 → 更多依赖 AI → 技能进一步退化
3. 组织记忆丧失
- 事故复盘减少:AI 自动处理的事故可能没有详细的人工复盘
- 知识传递中断:资深工程师不再通过事故处理向初级工程师传递知识
- 文档质量下降:没有深入的事故处理, runbook 和文档的质量可能下降
- 新人培养困难:新入职的工程师没有机会通过常规事故学习
航空业的教训
作者暗示,这个问题在航空业已经有深刻的教训:
自动化驾驶的悖论
- 自动驾驶接管常规飞行:现代客机的自动驾驶系统可以处理起飞、巡航、降落的大部分阶段
- 飞行员技能退化:飞行员手动飞行的机会越来越少,手动飞行技能退化
- 异常情况需要手动:当自动化系统遇到异常情况(如传感器故障、天气突变),需要飞行员手动接管
- 但技能已经退化:由于缺乏练习,飞行员在紧急情况下的手动操作能力下降
著名案例
航空史上有多个因自动化导致飞行员技能退化而引发的事故:
- 飞行员过度依赖自动化,对系统状态失去感知
- 异常情况下无法快速正确地手动操作
- 对自动化系统的工作原理理解不足,无法判断自动化是否正确
这些教训对 IT 运维有直接的借鉴意义。
如何应对
1. 保留人类在回路中
- AI 辅助,而非 AI 替代:AI 处理常规事故,但人类需要审核和确认
- 人工审核关键操作:高风险操作(回滚、扩容、配置变更)需要人工确认
- 事故复盘:即使 AI 自动处理了事故,也需要人类进行复盘
- 随机抽查:定期抽查 AI 处理的事故,评估处理质量
2. 刻意练习
- 故障演练:定期进行故障演练(Game Day),让工程师练习故障排查
- 混沌工程:通过混沌工程主动注入故障,让工程师在受控环境中练习
- 模拟事故:使用模拟环境让工程师处理各种故障场景
- 技能矩阵:建立技能矩阵,跟踪每个工程师的故障排查技能,确保不退化
3. 知识管理
- 详细的事故文档:即使 AI 自动处理,也要生成详细的事故文档
- Runbook 维护:定期更新和维护 runbook,确保文档准确
- 知识分享会:定期举办知识分享会,让工程师分享事故处理经验
- 导师制度:资深工程师指导初级工程师,通过事故处理传递知识
4. 合理设计 AI 工具
- 透明化:AI 的决策过程应该透明,工程师可以理解 AI 为什么这样做
- 可解释性:AI 应该解释它的分析和推理过程
- 人工覆盖:工程师可以随时覆盖 AI 的决策,手动处理
- 学习反馈:工程师的手动处理应该反馈给 AI,帮助 AI 学习
5. 组织文化
- 重视事故处理:将事故处理视为重要的技能,而不是负担
- 鼓励学习:鼓励工程师从事故中学习,而不是指责
- 平衡自动化:在自动化和人类实践之间找到平衡
- 长期视角:不要只看短期的效率提升,要考虑长期的技能保持
不同观点
支持 AI SRE 的观点
- 效率提升:AI 可以更快地处理常规事故,减少平均修复时间(MTTR)
- 减少疲劳:工程师不用在夜间被叫醒处理常规事故
- 一致性:AI 的处理更加一致,不受工程师经验和状态的影响
- 可扩展性:AI 可以同时处理多个事故,不受人类能力限制
- 知识保留:AI 可以保留所有历史事故的知识,不会因为人员离职而丢失
担忧的观点
- 技能退化:如本文所述,工程师的故障排查技能会退化
- 异常情况:AI 无法处理前所未见的异常情况
- 过度依赖:工程师可能过度依赖 AI,失去独立判断能力
- 系统感知丧失:工程师不再深入理解系统的工作原理
- 责任模糊:当 AI 处理的事故出问题时,责任归属模糊
平衡的观点
大多数专家认为,关键是找到平衡:
- AI 处理常规事故:让 AI 处理大量的、常规的、低风险的事故
- 人类处理复杂事故:让人类专注于复杂的、高风险的、前所未见的事故
- 人类保持技能:通过演练、培训、复盘等方式保持人类的技能
- AI 辅助人类:在人类处理复杂事故时,AI 提供数据收集、分析、建议等辅助
对不同角色的建议
对于 SRE / 运维工程师
- 不要完全依赖 AI:保持手动处理事故的能力
- 定期练习:参与故障演练和混沌工程
- 深入理解系统:不要只看 AI 的结论,要理解系统的工作原理
- 复盘 AI 处理的事故:即使 AI 自动处理了,也要复盘学习
- 保持好奇心:对系统的异常保持好奇,深入调查
对于工程经理
- 重视技能保持:将故障排查技能纳入绩效评估
- 安排演练时间:为工程师安排故障演练和培训时间
- 鼓励知识分享:建立知识分享机制,鼓励事故复盘
- 平衡自动化:不要盲目追求全自动化,保留人类实践的机会
- 关注长期能力:不要只看短期的 MTTR 指标,要关注团队的长期能力
对于 AI 工具开发者
- 设计透明的工具:让 AI 的决策过程透明可解释
- 支持人工覆盖:让工程师可以随时覆盖 AI 的决策
- 提供学习反馈:将工程师的手动处理反馈给 AI
- 辅助而非替代:定位为辅助工具,而不是完全替代人类
- 关注人类因素:在设计时考虑人类因素,避免技能退化
未来展望
短期
- AI SRE 工具普及:越来越多的公司采用 AI 辅助事故响应
- 技能退化问题显现:一些公司开始感受到工程师技能退化的影响
- 最佳实践形成:行业开始形成 AI SRE 的最佳实践,包括如何保持人类技能
- 工具改进:AI 工具变得更加透明、可解释、可覆盖
中期
- 混合模式成为主流:AI 处理常规事故,人类处理复杂事故的混合模式成为主流
- 技能保持机制成熟:故障演练、混沌工程、培训等技能保持机制成熟
- 认证体系建立:可能建立 AI SRE 时代的工程师认证体系
- 监管介入:在关键基础设施领域,监管可能要求保留人类在回路中
长期
- AI 能力提升:AI 能够处理越来越复杂的事故,包括前所未见的情况
- 人类角色转变:人类从事故处理者转变为系统设计者和 AI 监督者
- 新技能需求:需要新的技能,如 AI 系统设计、AI 行为分析、AI 安全等
- 人机协作成熟:人机协作模式成熟,各自发挥优势
总结
AI 辅助事故响应工具的兴起带来了效率提升,但也带来了一个隐忧:工程师正在失去对系统的感知和故障排查技能。
核心要点:
- 背景:AI SRE 工具能够自动检查告警、形成假设、查询遥测、关联部署、甚至自动修复
- 核心问题:自动化的讽刺——自动化减少了常规工作,也减少了实践机会,异常情况需要人类接管时技能已经退化
- 具体影响:技能退化、高严重性事故响应能力下降、组织记忆丧失
- 航空业教训:自动驾驶导致飞行员手动飞行技能退化,异常情况下无法正确操作
- 应对方法:保留人类在回路中、刻意练习(故障演练、混沌工程)、知识管理、合理设计 AI 工具、组织文化
- 平衡观点:AI 处理常规事故,人类处理复杂事故,通过演练保持人类技能
- 未来展望:混合模式成为主流,人类角色从事故处理者转变为系统设计者和 AI 监督者
对于 SRE 团队和工程管理者来说,这个问题值得认真思考。引入 AI SRE 工具时,不能只看短期的效率提升,还要考虑长期的团队能力建设。关键是在自动化和人类实践之间找到平衡——让 AI 处理繁琐的常规事故,同时通过演练、培训、复盘等方式保持工程师的故障排查技能。
正如作者所暗示的,2012 年的原型今天成为了现实。但技术的进步不应该以人类技能的退化为代价。最理想的状态是:AI 让工程师从繁琐的常规事故中解放出来,有更多时间深入理解系统、改进架构、预防故障——而不是失去处理故障的能力。
原文链接:https://www.sylvainkalache.com/blog/ai-handles-incidents-engineers-lose-touch-with-their-systems