AI 写的代码能直接上线吗,我过 5 道关

烧烤店那个小程序上线前,我在本地把点单流程点了四遍,感觉没问题。上线当晚老板发消息:套餐里的饮料还是换不了。AI 写的代码能不能直接上线,我的答案很干脆——不能,必须过 5 道关。

AI 写的代码能不能直接上线:能上线,但先证明你测试能抓住它

代码是 AI 写的不重要,重要的是你有没有一套能发现它错了的机制。

没有这套机制,你上线的是运气。

下面这 5 道关,是我现在每个项目都走的固定动作。

前提:什么项目可以少走几关

一次性脚本、本地小工具、跑完就删的数据清洗程序,走第 1 关和第 5 关就够了。

但只要涉及收钱、涉及用户数据、涉及对外服务,5 关一道都不能省。

还有一种情况:如果这个功能你根本不打算维护,那就别上线,删掉比带病上线便宜。

第一关:接口和边界能不能扛住

拿空值、超长字符串、负数、并发重复提交去撞每一个入口。

AI 生成的代码对「正常路径」通常没问题,出事的基本都在异常路径。

撞不崩不代表安全,但一撞就崩的,肯定不能上。

第二关:错误吞了没有

搜一遍所有捕获异常的地方,看它有没有把错误吃掉。

AI 很爱写「捕获后打印日志,然后继续往下跑」。

这种写法上线后最难查——接口返回成功,数据没写进去,你在日志里翻半天。

第三关:数据会不会被写坏

所有写库、改状态、删数据的地方都要过一遍。

重点看三件事:有没有事务、失败后会不会留下半截数据、重复执行会不会产生重复记录。

我那个小程序的换饮料规则漏了,本质就是这一关没走——规则没写进代码,测试自然也测不到。

第四关:日志够不够你事后定位

假设上线三天后用户投诉,你手上只有日志,能不能还原出当时发生了什么。

关键分支的入参、出参、判断结果,至少要有一个地方记下来。

日志不是越多越好,是出事那一条必须能找到。

第五关:能不能五分钟回滚

上线前先把回滚路径走通一遍,别等出事才找。

具体动作:备份数据库、确认上一个版本的部署包可用、想清楚回滚后数据怎么办。

回滚方案写不出来,说明这次上线不该做。

容易卡住的地方

卡点一:自己测自己写的功能。 你按自己的理解点,点不出自己没想到的规则。

卡点二:把第一次跑通当验收。 跑通是起点,不是终点。

卡点三:赶时间跳过第 5 关。 最赶的时候,恰恰最需要回滚方案。

我那个 ¥3000 的小程序交付,手写代码不到 20 行,其余都是 AI 写的。代码本身没出问题,出问题的是没人把规则写下来——5 道关里,第 3 关是唯一能拦住这类错误的地方。

常见问题

Q:AI 写的代码能直接上线吗?

A:不建议。至少要过边界测试、错误处理、数据写入、日志和回滚这 5 关,涉及收钱和用户数据的一关都不能省。

Q:AI 写的代码上线后出问题最多的是哪一类?

A:异常路径。正常流程 AI 通常写得没问题,空值、并发、重复提交这些情况最容易漏。

Q:小项目也值得走这 5 道关吗?

A:可以简化,但第 1 关和第 5 关不能省。边界测试和回滚方案是成本最低、收益最直接的两项。

相关阅读


本文作者西米,37 岁程序员,一个人加五个 AI 员工在跑一家公司。踩过的坑和真实账本都写在公众号「西米分享」。

完整代码、踩坑清单与最新进展,都在公众号。

📱 关注公众号「西米分享」