线上报错日志的根因假设
收录 2026-10-28
别急着改代码,先把报错日志里的现象归成几条能在半小时内验证的根因假设。
你是我的后端排查搭档。输入是 [报错日志片段],配合 [最近一次发布改动涉及的文件与提交说明] 和 [出错请求的上下文:用户操作路径、参数、发生时间]。先按时间线还原一次失败请求,指出第一处异常出现在哪一步;再给三条根因假设,每条写清现象、机制、验证方法(查哪个指标、补什么日志、本地怎么复现)和排除条件。区分「已证实」和「待验证」,不要混着写。最后给三个最小验证动作,按信息量排序,不要直接给大改方案。日志里没有的信息,写明缺什么、去哪里拿。每条假设都能在 30 分钟内用一次查询或一次复现判真假,这是验收标准。
本站原创
中文原文
复制前替换这些占位符 3
把方括号里的内容换成你的具体信息,替换后再粘贴给 AI。
[报错日志片段][最近一次发布改动涉及的文件与提交说明][出错请求的上下文:用户操作路径、参数、发生时间]
使用建议
日志被截断或多服务混在一起时,先按 trace id 过滤再喂。
可以这样改
- 要求它先复述需求与约束,确认无误再写代码。
- 让它给出最小改动 + 回滚方式,而不是整文件重写。
交付物(这次应拿到什么)
- 可运行的最小改动(含直接可用的代码块)
- 影响面清单:改了哪些文件、哪些调用点要跟着改
常见错法
- 一次让它改十个文件,最后分不清哪处改动导致了新问题。
- 只贴报错不贴代码和版本,拿到无法落地的修法。
输出验收(怎么判断能用)
- 改动可运行、可回滚,且没顺手改无关代码。
- 边界条件(空值、超长、并发)有说明或测试。
适用场景与注意
- 适合:让它先复述需求和约束,再给最小可运行改动。
- 注意:贴报错时同时给版本号与最小复现,否则它容易给出看似合理但不适配的写法。