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 关不能省。边界测试和回滚方案是成本最低、收益最直接的两项。
相关阅读
- AI 写业务逻辑为什么总漏,我找到 3 个原因
- AI 写代码会偷偷改坏别处吗,我吃过一次
- AI 写代码的边界在哪,3 个信号说明它在猜
- AI 写的代码没人看得懂,接手前先做 3 件事
- AI 编程适合新手还是老手,看这两个场景
本文作者西米,37 岁程序员,一个人加五个 AI 员工在跑一家公司。踩过的坑和真实账本都写在公众号「西米分享」。
完整代码、踩坑清单与最新进展,都在公众号。
📱 关注公众号「西米分享」