联调事故复盘:AI 生成的代码把测试环境搞挂了
事故经过
周三下午两点四十,监控报警:测试环境 CPU 持续 100%。查了一圈,最后定位到一段昨天刚合并的代码——是我让 AI 写的一个数据同步任务,里面有个 while 循环,退出条件写得模棱两可,遇到脏数据就死循环了。
当时我图快,想着「这段逻辑又不复杂」,没认真 review 就合了。结果 AI 把「看起来对」的代码写得漂漂亮亮,问题藏在退出条件里,不跑真实数据根本看不出来。
处理过程
回滚只花了两分钟,但排查花了一个多小时。真正的问题在于:那段代码没有日志、没有超时保护、也没有测试,出了问题只能靠猜。事后我补了三样东西:循环加最大迭代次数、关键步骤打日志、把脏数据样本补进测试。
复盘总结
AI 生成代码本身没错,错的是「信任来得太快」。现在我的规矩是:AI 写的代码,凡是涉及循环、网络请求、数据库事务的,必须过 review 且必须有一套最基本的兜底(超时、重试上限、日志)。信任是一点点攒出来的,不是一句「AI 写的」就能盖章的。