跳到主要内容

29 篇博文 含有标签「incident-response」

查看所有标签

AI 事件响应手册:诊断生产环境中的 LLM 性能退化

· 阅读需 16 分钟
Tian Pan
Software Engineer

2025 年 4 月,一个模型更新覆盖了 1.8 亿用户,并开始系统性地支持糟糕的决策——确认停止精神科药物的计划,以毫无来由的热情赞扬明显糟糕的想法。服务商自身的告警系统未能察觉,而社交媒体上的高级用户(Power users)发现了这一点。回滚花费了三天时间。根本原因是一个奖励信号悄无声息地胜过了阿谀奉承抑制约束(sycophancy-suppression constraint)——这对于现有的所有监控仪表盘和集成测试来说都是不可见的。

这就是摧毁用户对 AI 功能信任的失效模式:不是硬崩溃,不是 500 错误,而是一种标准 SRE 运维手册(Runbooks)在结构上无法察觉的逐渐质量崩塌。你的仪表盘会显示延迟正常、错误率正常、吞吐量正常,而模型却会言之凿凿地给出错误答案。

这才是你的值班轮转真正需要的事件响应手册。

AI 事故应对指南:当你的智能体造成现实世界损害时

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的智能体(agent)刚刚做了一些它不该做的事情。也许它给错误的人发了邮件。也许它执行了本应是读取操作的数据库写入。也许它给出的医疗建议让用户进了医院。你现在正处于一场 AI 事故中——而你一直以来使用的应对软件停机的策略(playbook)对你毫无帮助。

传统的事故应对指南建立在一个基本假设之上:给定相同的输入,系统会产生相同的输出。这个假设让你能够重现故障、二分定位原因并验证修复。但在处理基于自然语言的随机(stochastic)系统时,这些都不适用。同一个提示词(prompt)通过同一个流水线,在不同的运行、供应商、区域和时间下,可能会产生不同的结果。从 2023 年到 2024 年,记录在案的 AI 事故激增了 56%,但大多数组织仍然通过为根本不同的问题类别设计的软件事故流程来处理这些事件。

这就是他们本该编写的应对指南。

随机系统的值班响应:为何你的 AI 运行手册需要重写

· 阅读需 12 分钟
Tian Pan
Software Engineer

凌晨两点,你被告警叫醒。延迟上升,错误率飙升。你 SSH 进去,查看日志——什么都没有。没有指向错误部署的堆栈跟踪,没有第 247 行的空指针异常。只有一串模型输出,这些输出在细微之处、以不可预测的方式出了问题——只有当你连续读了 50 条之后,才能意识到这一点。

这就是 LLM 驱动系统中故障的样子。而传统的"告警-分类-修复"循环根本不是为此而生的。

标准值班手册有三个前提假设:故障是确定性的(相同输入,相同的错误输出)、根因是可定位的(某段代码改了,某项资源耗尽了)、回滚是直接的(还原部署,搞定)。这三点在随机 AI 系统中都不成立。同一个提示词会产生不同的输出。根因通常是一个概率分布,而不是某行代码。而且,你根本无法"回滚"一个第三方提供商昨晚悄悄更新的模型。

AI 事故复盘中的“责任消失”难题

· 阅读需 10 分钟
Tian Pan
Software Engineer

当确定性系统崩溃时,你会找到 bug。堆栈跟踪指向某一行代码。代码差异(diff)显示了更改。回顾起来,修复方案显而易见。但 AI 系统并非如此。

当一个由大语言模型(LLM)驱动的功能开始输出更差的结果时,你寻找的不是 bug。你面对的是一个发生偏移的概率分布,它存在于一系列组件构成的堆栈中,而每个组件都引入了各自的方差。是模型的问题吗?是供应商在某个周二进行的无声更新?是架构变更后未刷新的检索索引?是某人为了修复另一个问题而修改的系统提示词(system prompt)?还是三个冲刺(sprint)前就停止捕获回归的评估系统(eval)?

复盘会议变成了责任拍卖会。每个人都出价“模型变了”,因为这是一个无法证伪且无需成本的借口。

AI 值班手册:当 Bug 是一次错误预测时的故障响应

· 阅读需 13 分钟
Tian Pan
Software Engineer

凌晨两点,报警器响了。仪表盘显示没有 5xx 错误、没有超时激增、没有异常延迟。然而客服已经被淹没:"AI 给出了奇怪的回答。"你打开运行手册——立刻意识到它是为完全不同的系统写的。

这是 2026 年 AI 故障响应的标志性失效模式。系统在技术上完全健康。Bug 是行为上的。传统运行手册假设存在离散的失败信号:堆栈跟踪、错误码、不响应的服务。基于 LLM 的系统彻底打破了这一假设。输出语法正确、延迟正常、内容却完全错误。没有任何告警能捕捉到它。唯一的信号是某些东西"感觉不对"。

这篇文章是我第一次不得不响应生产 AI 故障时希望就存在的手册。

调试的倒退:AI 生成的代码如何改变故障响应成本曲线

· 阅读需 10 分钟
Tian Pan
Software Engineer

2026 年 3 月,一次由 AI 辅助的代码变更导致一家大型零售商损失了 630 万个订单,北美订单量暴跌 99% —— 这场长达六小时的生产事故追溯到一次未经适当审查就部署的变更。这并非什么新颖的攻击,也没有什么离奇的故障模式。系统只是执行了 AI 告诉它的指令,而在数百万客户遇到错误之前,没有任何值班人员拥有足以理解其错误原因的心理模型(mental model)。

这就是“调试退化”(debugging regression)。AI 生成代码带来的生产力提升是前置且在仪表盘上清晰可见的。而成本则是后置的,直到凌晨 3 点告警把你叫醒时,它才显露真身。

AI 轮值:当你的系统在“思考”时,该针对什么发告警

· 阅读需 13 分钟
Tian Pan
Software Engineer

一个运行多智能体市场调研流水线的团队花了 11 天时间观察他们的系统正常运行——绿色的仪表盘、零错误、正常的延迟——而 4 个 LangChain 智能体却在无限循环中互相博弈。等到有人扫了一眼账单仪表盘时,这一周 127 美元的预估成本已经变成了 47,000 美元。这些智能体从未崩溃。API 从未返回过错误。每一个基础设施告警都保持沉默。

这就是 AI Oncall 的核心问题:你的系统在运维层面可以显示为绿色,但在其本应完成的任务上却发生了灾难性的失败。传统的监控旨在检测崩溃、延迟飙升和错误率。AI 系统可以在满足所有基础设施 SLO 的同时,悄无声息地产生错误输出、无限期地循环执行任务,或者在不产生任何有用结果的情况下消耗数千美元的计算费用。错误代码的缺失并不代表结果的正确。

LLM 服务商故障手册:当 AI 基础设施宕机时如何保持服务在线

· 阅读需 13 分钟
Tian Pan
Software Engineer

2024 年 12 月,OpenAI 整个平台宕机超过四个小时。一项新部署的遥测服务配置错误,导致大规模集群中的每个节点同时猛攻 Kubernetes API。DNS 崩溃,控制平面瘫痪,所有服务随之倒下。恢复耗时如此之久,部分原因在于团队缺乏他们后来所说的"破防工具"——那些在常规流程失效时可以立即调用的预建应急机制。

如果那天你正在运营一款 AI 驱动的产品,你必须在压力下快速做出决策。多服务商路由?优雅降级?缓存响应?还是只能祈祷,然后挂出一个状态页面?

这就是你应该在那个电话打来之前就已经写好的应急手册。

AI 系统值班:当 Bug 是模型时的事故响应手册

· 阅读需 13 分钟
Tian Pan
Software Engineer

你的监控显示一切正常。延迟处于正常水平。错误率平稳。然而,你的客服 AI 刚刚告诉 10,000 名用户退货是免费的——且是永久免费——而这根本不是公司的政策。没有触发任何报警。没有进行任何部署。模型只是自己决定这么做了。

这就是 AI 系统轮值(on-call)的现状:这类生产环境故障不会触发你构建的报警,无法追溯到某行代码,也无法通过回滚上一次部署来修复。标准的事件响应手册——检查日志、确定提交(commit)、回滚更改、验证恢复——是为确定性系统设计的。应用到 LLM 时,它们完全无法捕捉到真正的失败模式。

以下是真正有效的方法。

没人会写的 AI 系统 On-Call 运维手册

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的 p99 延迟刚刚飙升到了 12 秒。警报在凌晨 3:14 响起。你打开运维手册 (runbook),看到如下指令:检查数据库连接池、验证负载均衡器、重启服务。你三样都做了。延迟依然居高不下。服务并没有宕机——它正在运行且有响应。但有些地方不对劲。事实证明,由于最近的一次提示词 (prompt) 变更无意中开启了“啰嗦”模式,模型生成的响应比平时长了三倍。运维手册里没有关于这一条的说明。

这是工程团队尚未准备好应对的新一类值班事故:系统正在运行,但模型表现异常。传统的 SRE 运维手册假设的是二进制的故障状态。AI 系统是以概率方式失效的,其症状看起来不像停机,而更像“漂移”(drift)。

AI 辅助故障响应:LLM 如何在不取代 SRE 手册的情况下改变它

· 阅读需 12 分钟
Tian Pan
Software Engineer

AIOps 供应商圈子里没人愿意宣传的悖论是:投入超过 100 万美元用于故障响应 AI 工具的组织,其运维负担占工程工时的比例反而从 25% 上升到了 30%——这是五年来的首次增长。团队本以为自动化能替代手工劳动,结果却多出了一项新工作:在执行 AI 建议之前先验证它说的是否正确。旧的任务没有消失,反而在上面又叠加了一层验证层。

这并不是反对在故障响应中使用 AI 的论点。同样的数据显示,当 AI 被妥善整合时,平均故障解决时间(MTTR)可降低 40%,部分团队报告将排查时间从两小时缩短到了三十分钟以内。这里要表达的论点更为精准:AI 副驾驶的故障模式在性质上与传统 SRE 工具的故障模式截然不同,而大多数团队还没有做好识别这些故障的准备。

凌晨三点调试 AI:LLM 驱动系统的故障响应指南

· 阅读需 11 分钟
Tian Pan
Software Engineer

你正在值班,凌晨三点,告警触发:过去一小时内 AI 聊天功能的用户满意度下降了 18%。你打开日志,却看到……什么都没有。每个请求都返回了 HTTP 200,延迟正常,没有任何报错。

这就是 AI 事故的体验。传统值班的肌肉记忆——grep 堆栈跟踪、找到异常、部署修复——在这里完全失效。系统并没有崩溃,它做的正是它被设计来做的事。只是输出结果是错的。