用 AI 排查线上 bug 的正确顺序
AI 排错最常见的失败模式是:你贴一段报错,它给你五个猜测,你逐个试,试到第三个已经过去两小时。问题不在它,在信息给得不够结构化。
第一步:先自己缩小范围
在问 AI 之前,先确定三件事:什么时候开始的、影响哪些请求、能不能稳定复现。
这三条信息能砍掉八成可能性。直接把「昨天还好好的,今天上午十点后所有下单接口 500」告诉它,比贴一堆日志有用得多。
第二步:给它结构化的上下文
按这个顺序给,不要贴一大坨日志:
- 现象:一句话说清「什么操作、期望什么、实际什么」。
- 范围:哪些请求受影响、哪些正常(对比信息最有价值)。
- 时间线:最后一次正常是什么时候、之后有什么变更(发版、配置、数据)。
- 关键日志:只给 5-10 行最有信息量的,不要全量。
第三步:要假设,不要要答案
让它「列出三个最可能的原因,按可能性排序,每个说明怎么验证」。
这个问法比「怎么修」有效得多——因为验证成本低的那个才是你真正该先试的,而它会帮你把验证方法写出来。
第四步:验证后回填
排除掉一个原因后,把这个结果告诉它:「A 已排除,因为 X」。它会据此收敛,而不是重复提同样的猜测。
排查过程本身要记录。同样的 bug 半年后可能再来一次,你留的记录比它的记忆可靠。