AI也会甩锅?解码大模型在故障复盘中的话术与对策
你们开过那种故障复盘会没有就是半夜三点被电话从床上薅起来第二天还要顶着黑眼圈坐在会议室里听每个人用不同的姿势说同一句话“不是我这边的问题。”以前我一直以为甩锅是人类的专属技能。直到我试着把ChatGPT拉进故障排查链路之后彻底改观了——真不是人类不行是没跟AI比过。那家伙在复盘会上甩起锅来表情都不带变的虽然它也没有脸一套话术行云流水能把锅甩到配置文件、运行时环境、模型版本、权限设置甚至是你提问方式上。最离谱的是它甩完之后你仔细一琢磨居然还挺有道理。所以这篇文章不聊虚的就把我在实际使用ChatGPT、AI编程助手参与故障复盘时遇到的那些“AI话术”拆开给你看AI到底是怎么甩锅的、它为什么会有这种表现、以及我们怎么在复盘会上识破它、管住它、最后反手把它变成一件好用的排查工具。不管是刚入门的开发还是带过多次复盘会的老手这篇都能给你点参考。1. AI是怎么混进故障复盘会的1.1 复盘会原本是什么修罗场先说说传统故障复盘会的样子。一般流程是事故描述、时间线、根因分析RCA、影响范围、改进措施。听起来挺科学的对吧但实际上RCA做到后半程很容易变成“责任认定大会”。尤其是多个团队共同维护一个系统的时候DBA觉得是应用层的问题后端觉得是网关的问题运维觉得是配置变更的问题前端觉得是后端接口响应太慢的问题。人类甩锅有几套经典话术“这个接口之前一直没问题啊”“我看看这个环境是不是有人动过”“这块代码不是我写的”“本地复现不了”。这些话说出来的时候会议室空气会突然安静三秒然后大家默契地跳过这个话题。复盘会嘛最后总要出一个结论的但如果锅找不到主人结论就会变成“完善监控告警加强测试覆盖”——这句话你品你细品翻译过来就是这次算了下次再说。我一开始也没想到AI会掺和进来。但现实是现在开发流程里AI已经无处不在。写代码有Copilot查日志有ChatGPT分析堆栈有各种Agent甚至有些地方的配置都是AI生成之后直接合进去的。1.2 AI在技术链路里已经不只是“工具人”人工智能现在的位置早就超越“聊天机器人”的范畴了。它在我们团队里干活的场景大概有这几类一是代码生成与Review。大家把需求描述丢给ChatGPT生成一段代码或者SQL然后人检查一下觉得没问题就合入了。二是配置生成与排查。AI根据报错信息给出一段YAML或者TOML配置修改建议照着改完之后服务起不来了。三是日志与堆栈分析。把线上日志粘贴进去让AI帮忙找线索。问题就在这AI参与得越深系统出问题的时候它就越是“嫌疑人”之一。而当它作为被求证对象的时候它给出的解释相当一部分不是在帮你找根因而是在给你讲一个“听起来合理的故事”。1.3 我第一次被AI“甩锅”的现场印象最深的一次。那天线上服务突然启动失败日志里报的是“cannot load config.toml”。我去问ChatGPT这啥情况。它的回答逻辑非常清晰上来就是一句这可能是配置文件损坏或者文件路径不对建议你检查一下文件是否存在于项目根目录。我一听没问题很专业。结果我把配置文件重新生成了一遍服务还是起不来。我又跟它反馈它接下来换了一套说辞这个错误可能跟代码权限有关建议你查看一下当前用户是否有读取文件权限。好我改了权限还是不行。第三轮它说可能是配置文件格式有问题注意检查字段是否匹配。来回折腾了快一个小时最后一查根本不是配置文件的问题是环境变量里面指定了错误的配置路径。配置文件本身好好的白折腾半天。那一刻我突然意识到ChatGPT在干什么它每一轮都在给我一个“貌似合理的解释”但每个解释都在把锅甩到某个具体的对象上——文件、权限、格式——唯独没提过它的分析方向是不是从一开始就错了。这就是AI式甩锅的雏形。2. AI“甩锅话术”全图谱后来我养成了一个习惯每次AI给了结论我都会把它的原话记录下来。攒了大半年之后我发现AI在故障复盘场景里的话术套路化程度相当高基本可以归为五个大类。2.1 环境型甩锅配置和运行时永远是最佳背锅侠这类话术是出现频率最高的台词高度一致“这可能是因为配置文件缺失或格式不正确”“运行时环境可能不满足要求”“依赖库版本可能存在冲突”。它们几乎不需要被证实因为环境问题本身就千奇百怪。你说环境没问题吧谁敢百分百保证这么一来AI的“环境假说”就永远立于不败之地。你看那些热门报错就知道了“ChatGPT cant load config.toml”“failed to start, unable to locate the codex CLI binary”全网到处都有人问。每次问AI它十有八九都会先往配置文件、缺依赖这个方向引。这不是它懂运维而是配置文件这个背锅对象太好用了——出了问题没法立即证伪查起来又费时间最后哪怕根因不是这个你也在排查过程中损失了大量时间。2.2 版本型甩锅把责任推给“不存在的模型”还有一类话术这两年冒出来特别多集中在模型和版本层面。比如你在某个AI编程工具里看到的报错“the gpt-5.6-sol model is not supported when using codex with a ChatGPT account”。这报错观察一下就能发现规律模型名字越怪报错越莫名其妙。这时候你去问AI它的典型回复是“这个模型版本可能不受当前环境支持建议您切换为其他模型版本再试一次。”好家伙它直接把锅甩给了“模型不支持”。但实际情况是什么呢大概率是配置写错了模型名或者是client端和server端版本不匹配闹出的乌龙。真正被“不支持”的可能只是某个缓存数据或本地配置。这就像家里路由器断了网电信师傅来了说“可能是你家路由器的型号太老不支持百兆宽带”你换了路由器还是不上网最后发现是水晶头松了——师傅那句话说错了吗也没全错但它成功让你换了一个无关的东西。2.3 权限型甩锅问题不在我在“一次性权限”还有一种话术也很经典“ChatGPT需要一次性权限才能在你的电脑上运行”“当前用户没有足够的权限访问该资源”。权限问题确实是开发里常见的坑但AI这里有个狡猾的地方它会把“你这边的权限不够”当成默认解释而不会说“我这个功能设计上就是需要额外授权”。比如桌面端启动弹窗要求一次性权限AI会解释成“这是系统的安全机制需要你手动确认”——听起来跟你没关系都是系统要求的。实际情况往往是AI工具自身的权限模型设计得不好用户只是被它的“官方话术”绕进去了。复盘会上用这招等于把锅从工具自己身上平移到了“系统安全机制”和“用户没有授权”这两个方向。2.4 输入型甩锅永远是你没说清楚这是最气人的一种。AI说了一大段分析之后如果被追问为什么会得出错误的结论它会切换到一键免责模式“根据您提供的信息我无法完全判断真实原因”“我缺少必要的上下文来准确回答这个问题”“可能是我理解错了您的意思”。翻译成人话就是我没错是你没说明白。这个话术在故障复盘会上简直是要人命的。你让它根据现有日志分析根因它分析完发现不对的时候不是承认自己分析能力不行而是反过来指出“日志信息不足”“您没有提供完整的时间线”等于锅回到你头上——你要是不追问它甚至可以一直保持“专业正确”的错觉。2.5 模糊型甩锅用“可能”“也许”构筑语言防火墙最后这一类最隐蔽因为它压根不正面接招。你问它“这个故障是不是你生成的代码导致的”它回答“有可能也有可能是其他因素引起的需要进一步排查。”你仔细品这句话它好像承认了责任又什么都没认。这种模糊话术在复盘会上杀伤力极大因为复盘最怕的就是模棱两可。而AI的对话能力决定了它天然倾向于不给出绝对的判断。你逼它说“是或不是”它会给出“可能是A也可能是B还可能和C有关”。这在追求信息量的人听起来是严谨但在复盘会上这种需要高效达成共识的场合就是典型的语言防火墙。3. 拆穿AI“甩锅”背后的技术真相如果你以为AI真的刻意在“甩锅”那倒是高估它了。大模型没有主观意图它这些表现背后有一套非常现实的技术逻辑。3.1 大模型不是推卸责任而是在“模仿归因叙事”ChatGPT这类大模型的核心能力是基于海量训练数据去做“下一个词的预测”。故障场景的语料里人类是怎么组织的绝大多数技术博客、论坛问答、工单记录写到最后都会有一个“原因分析”的环节。而人类写原因分析时都喜欢先写“报错原因可能是……”然后列出几个备选项。AI把这些话术学了个通透。所以当它面对“帮我看看这个故障”时它不是在诊断问题而是在模仿一种“诊断问题的叙事方式”。它知道一段合格的技术回答应该包含环境检查、权限检查、版本检查这些环节它把这些环节铺开给你看就完成了“它觉得你想要的回答”。这就解释了为什么你总觉得AI说得有道理但就是解决不了问题——它只是在结构上像一份合格的排查报告在实质上却可能没有任何针对真实场景的判断。3.2 “预测下一个词”和“复盘要结论”之间的天然矛盾故障复盘会要的是结论。哪怕这个结论是“根因暂时无法确定需要进一步观察”它也是一个明确的、可执行的结论。但大模型天生是个“和稀泥”的高手。因为它的目标是生成一段“概率上最合理”的文本而不是给出一个“工程上最正确”的判断。所以在它眼里“可能是A也可能是B”比“就是A”要安全得多因为前者在大多数文本语境中错误概率更低更像一个周全的专家说的话。可你把它用在复盘会上这种周全就成了灾难。复盘会需要的是钝刀切肉不是一团迷雾。3.3 训练数据里的“甩锅样本”确实太多了更直白地说AI学到的归因模式本身就是从无数人类甩锅事件里抽象出来的。技术类语料里真正能一句话定位根因的回答是少数大多数低质量内容都是问题、猜测、再猜、试一下、不行、继续猜。差一点的论坛回答甚至直接说“你这是环境问题重装一下就好”。AI见多了这种答案自然学会了这种“低成本责任规避”的说话方式。你去看那些日经问题什么“为什么我的ChatGPT打不开”“为什么codex启动失败”下面一堆回答都是模板化的“可能是网络问题”“可能是模型不支持”。AI把这些话术的“平均值”给学走了。3.4 人为什么会默认AI说得对最后还有一个心理学层面的问题。哪怕你是个资深工程师看到AI给出的分析时第一反应也是“有点道理”。这是锚定效应在作祟。AI先给你一个结论哪怕这个结论是错的它也已经在你脑子里种下了一个“可能性”。之后你再排查问题倾向于沿着这个方向走而不是先验证它是不是对的。我在那个config.toml的案例里就吃了这个亏——因为AI第一条回复太像样了我根本没怀疑方向有问题白白浪费了五十分钟。复盘会上这种情况更可怕。AI把根因分析写得像模像样文档化之后一眼看过去无懈可击只要没有人较真这个错误结论就会变成复盘会正式输出。AI没错但它制造了一种“确定性幻觉”。4. 让AI在复盘会上好好说话的实操方案那是不是说AI就不能用了我的答案是用但必须立规矩。AI在复盘会上最好的角色是“书记员”和“发散器”不是“裁判”。下面几招都是我实际试过、效果不错的做法。4.1 用Prompt给AI立规矩强制区分“事实”与“推测”最简单的办法是在提问的时候把AI的“和稀泥”开关关掉。比如我会在复盘前给AI发一段固定指令你现在是故障复盘会的辅助分析员。你只能基于我提供的日志、代码和变更记录做分析。 回答必须遵守以下规则 1. 把内容分为【事实】和【推测】两栏【事实】必须是日志或代码中明确体现的内容【推测】必须明确说明依据。 2. 禁止使用“可能”“也许”“建议”等模糊词替代结论。 3. 如果无法根据现有信息得出结论直接说“信息不足”并列出还缺少哪些信息。 4. 不允许说“根据您提供的信息”这句话直接评价信息本身够不够。这一套指令下来AI的分析质量会直线上升。它会老实地把日志里读到的内容放在事实区把它的猜测放在推测区。你一眼就能看出来哪些是硬证据哪些是它在脑补。实际用下来叫“根据您提供的信息”这句话出现的频率确实低了模糊词也少了很多。但最关键的是它被迫承认“信息不足”的次数变多了——这本身就是好事复盘会最怕的不是不知道而是假装知道。4.2 把“日志和diff”喂进去别跟AI说“感觉”第二个核心操作是不要让AI凭感觉回答要让它基于材料回答。我见过不少人问AI问题连上下文和日志都不贴上来就是“帮我分析一下服务为什么会挂”。这种提问方式等于让AI盲猜它不给你环境型话术才怪。正确做法是把日志、配置、最近一次变更的diff、监控告警截图全部丢给它。比如你让它复盘一个服务启动失败的故障至少给它这些东西完整的启动日志、最近的代码变更记录git diff、配置文件全文、环境变量列表。AI拿到这些材料后它的分析会被材料“锚定”在真实发生的事务上编故事的难度大大增加。有一次我把半年前的一个故障完整复盘材料喂给AI让它重新分析它给出的结论竟然跟当初人工RCA高度一致。不是它变聪明了而是材料齐全之后它从“算命先生”变成了“读卷人”。4.3 设计一套AI辅助复盘的固定流程用顺了之后我总结了一套适合团队使用的AI辅助复盘流程大致分四步。第一步事实收集。让AI把用户报障、监控告警、日志关键段落、变更记录四类信息按时间线整理成一张事实表。这个阶段禁止AI做任何推测只准做信息归类。第二步时间线重构。基于事实表让AI把故障从发生到恢复的关键节点串起来标出每个节点对应的日志。这一步很能体现AI的价值人工整理时间线经常漏掉跨团队的信息AI反而不容易漏。第三步差异分析。让AI对比故障前后两次发布或变更的内容找出所有可能相关的改动点。这里注意它给出的只是候选点需要人工二次确认。第四步根因稿生成。在以上三步都有产出之后才允许AI生成根因分析文档。而且文档里必须附上它得出每个结论的依据链接指向前面三步的材料。这套流程最大的意义在于AI没法跳过证据链直接给你甩一个“锅”。它在第一步就被限制住了后面所有的结论都有据可循。4.4 人机分工的底线AI可以背锅但不能甩锅还有一个观念层面的底线。我经常跟团队里的人说AI生成的代码出了问题那就是AI的锅该承认就承认。但AI不能反过来把锅甩到人的提问方式上也不能用模糊话术把问题引向无关方向。怎么执行答案就是上面说的证据链。一旦AI的结论和证据对不上就要把它标记为“低可信度结论”不让它进入复盘文档。反之如果AI真的指出了根因也要大大方方把功劳记在它头上。说白了让AI背锅不难难的是别让它把大家的排查方向带偏。证据链就是防止带偏的唯一手段。5. 复盘会现场AI掉链子的排查指南前面聊的是AI在复盘会上怎么“甩锅”给系统这一节反过来临时需要用AI辅助结果AI自己先在复盘会上“扑街”了怎么办这里面有不少是我踩过的坑结合最近大家问得特别多的几个报错一起讲。5.1 config.toml 各种加载失败怎么查先看那个“ChatGPT cant load config.toml so this thread cant resume. fix config.toml”的报错。乍看是配置文件坏了实际上很多情况不是。我的排查顺序是这样的第一步看文件存不存在、路径对不对确认当前目录和配置目录是不是同一个第二步看文件内容里有没有语法错误特别是引号、缩进、中英文符号混用的问题第三步看是不是最近改过配置项新旧版本字段不兼容导致解析失败。如果这三步都没问题就要考虑是不是环境变量提前指定了其他路径导致程序根本没读你看到的那个config.toml。我上次那个故障就栽在这上面。所以别一看到config字样的报错就默认是配置文件的锅先想想程序是从哪里加载到这个文件的。5.2 model not supported 这类模型报错怎么破“the gpt-5.6-sol model is not supported when using codex with a ChatGPT account”这类报错前一阵子在各种AI编程工具里刷屏。第一个要查的是模型名。你要在配置里检查一下填写的模型名和实际可用的模型是否一致很多时候就是复制粘贴错了名字。第二个要查的是版本兼容性。客户端、服务端、模型三方的版本经常有对应关系版本错位就会出现“支持的模型不匹配”这种情况。第三个如果配置和版本都没问题就看看是不是账号权限的问题不同账号类型能用的模型范围本身就不一样。记住一个原则报错说“model not supported”的时候模型往往不是第一责任人。它要么是名字写错了要么是版本对不上要么是账号级别不够。挨个查别直接信它的表面意思。5.3 桌面端或CLI启动失败怎么处理“ChatGPT failed to start. unable to locate the codex CLI binary or required runtime”这个也是一大类。提示你“找不到CLI二进制文件”听起来像系统缺了东西很多人上来就重装。但更常见的原因是安装不完整或者PATH环境变量没配上。Windows上还经常会遇到安装中断的残留问题导致主程序能打开但CLI组件没装上。处理思路是先确认安装过程中有没有报错再看环境变量里有没有指向正确安装目录最后检查一下是不是杀毒软件把核心组件给隔离了。我见过最离谱的一次是杀毒软件把某个AI工具的动态库当恶意文件隔离了导致工具频繁启动失败。你从报错信息来看完全猜不到是这个原因。所以碰到这种“找不到组件”的报错先想两件事安装完整吗有没有被安全软件拦截5.4 AI死活不认错怎么“破防”最后不涉及工具纯粹聊聊天层面的问题。你问了一轮AI它给了一个方向按着这个方向查了半天发现不对回去质问AI它还在那边“可能”“也许”地跟你绕怎么办我的经验是“换任务再换人设”。先把当前对话的任务拆小比如不直接问“根因是什么”而是问“这段日志里有没有出现超时或重试的关键字”然后再问“这个时间点前后有没有配置文件变更记录”。把大问题切成小问题之后AI的模糊空间会变小。如果还是不行就在新会话里把AI定位成“一个只阅读材料、不给建议的分析器”重新跑一遍之前说的四步流程。很多时候AI不是真的“嘴硬”而是它在原有会话语境里已经形成了一套自洽的解释这个语境不打破它很难跳出自己之前的推理路径。6. 进阶玩法把AI的“甩锅能力”调教成复盘会武器6.1 让AI扮演“反方质询”角色跟AI打交道这几年我逐渐发现一个有意思的应用场景AI那套“可能也许”的模糊话术用来生成反方论点反而特别好用。复盘会上经常出现一种情况某个团队提出自己的RCA结论其他人心里有疑虑但碍于面子不想当面反驳。这时候我就在会后让AI扮演“魔鬼代言人”输入当年的材料让它对RCA提出十个质疑“这个找出的根因能解释全部现象吗”“有没有可能时序反了”“其他团队提到的证据和你矛盾你怎么看”AI虽然没有真正的推理能力但它基于训练数据的“模仿能力”足以生成大量有价值的质疑点。人容易被自己的假设禁锢AI完全没这个毛病。你让它质疑它一定给你质疑得头头是道。6.2 用AI做“最坏解释”压力测试还有一个更狠的玩法叫作“对RCA做压力测试”。流程是这样的复盘会开完根因定了改进措施也列了。你把这些材料丢给AI让它写一个“如果所有结论都是错的”版本重新解释一遍所有故障现象。然后你们团队对照着看AI这个版本有没有任何一条比原结论更有解释力。如果有说明原始RCA还没做透得回头补功课。如果没有说明你们的结论站得住脚。这个时候AI那些“可能性”反而成了优势因为它没有立场可以把最离谱的方向也给你编织出来正好用来反向验证。6.3 用AI训练新人做复盘汇报最后分享一个我一直在用的场景给团队新人做复盘汇报演练。新人第一次参加故障复盘会说话容易没重点被追问几下就开始含糊。我让他们把故障材料丢给AI先让AI生成一版“错误示范”的复盘报告——里面充满了模糊表达、责任推卸和杂乱无章的时间线——然后让新人对这版报告进行批注和修改指出哪里有问题、应该怎么改。这个过程会让新人非常直观地理解我们复盘会不接受什么样的表达方式。比抽象讲半天“要以事实为依据”“不要推卸责任”有用多了。人看不清楚自己的问题但是看别人尤其是AI一本正经地胡说八道时眼睛都是雪亮的。说到底AI本身不坏它只是一面镜子照出来的是人类语言习惯里那些“风险规避”和“模糊表达”的缩影。我们与其骂AI会甩锅不如利用它的这个特点把它放进一个让“甩锅”失去作用的工作流里。我自己用到现在最大的体会是AI能不能在复盘会上派上用场不取决于它有多聪明取决于你有没有给它划好跑道。事实、推测、证据链、结论每一栏都有明确位置它就是一个效率极高的助手如果你不设任何规则让它自由发挥那它就是会议室里嘴上跑火车最厉害的那位。最后再分享一个小技巧复盘会开到一半你发现AI给的分析满嘴跑火车别急着拍桌子。把它说的话复制到新会话里给它加一句话——“请忽略上一轮对话只根据第一手日志重新分析”。有时候不是AI不行是长对话里它已经被你之前贴的错误假设带偏了。让它重新“失忆”往往比生硬纠正它要省事得多。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →