193、大模型辅助 Debug 实战(二):用 AI 做代码审查发现隐藏缺陷的系统方法从一次诡异的线上事故说起上周三凌晨两点,我被值班电话吵醒。用户反馈某个核心报表页面加载后白屏,但刷新两次又正常了。直觉告诉我这不是简单的网络抖动。我拉出日志,发现一个诡异的现象:某个缓存键在特定条件下返回了None,而代码里明明写了兜底逻辑。我盯着那段代码看了十分钟,愣是没看出问题。代码逻辑清晰,异常捕获完整,甚至还有日志打印。最后我把它扔给了 GPT-4,附上一句:“这段代码在什么情况下会返回 None?请用 Python 解释器模拟执行。”AI 的回答让我后背发凉:当datetime.now().hour恰好等于 0 时,缓存键的生成逻辑会触发一个整数除法的边界条件,导致键名变成空字符串,进而引发缓存穿透。这个 bug 在测试环境从未复现,因为测试数据的时间戳都是随机生成的。这次经历让我意识到,人类审查代码时容易陷入“逻辑正确”的盲区,而 AI 擅长发现那些“逻辑正确但边界错误”的隐藏缺陷。从那以后,我把 AI 代码审查变成了日常开发流程的一部分。别把 AI 当静态检查工具用很多人用 AI 做代码审查,就是直接把代码贴进去问“有没有 bug”。这其实浪费了 AI 最大的优势——它不仅能看代码,还能模拟执行、推演状态、甚至预测运行时行为。我总结了一套“四步审查法”,每一步都对应