AI写的代码你敢直接上线吗?一个前端开发者的深夜坦白

9 阅读6分钟

最近这一年,我的工作方式几乎被 AI 重塑了。

不是那种"哇好厉害"的重塑,是一种说不上来的别扭。写页面、封装 hooks 、补接口层——很多时候我确实不是在"写代码",而是在"描述需求"。回车,等几秒,代码出来了。效率肉眼可见地提升。

但有一个问题越来越明显。

就是那种,在点"发布"按钮之前的犹豫。心跳会快一点。脑子里反复想:这段我真的看懂了吗?

说白了,慌。

"太顺滑"本身就是问题

有次做一个前端缓存优化,需求不复杂:相同请求短时间内复用结果,支持过期时间,出错不缓存。 Claude 很快给了一版实现。

Map 做缓存。 TTL 控制。逻辑清晰。

我扫了一眼,觉得没问题,直接用了。

上线两周,一切正常。直到接口压力突然变大——某些失败请求被错误缓存了,后续请求直接命中了"错误结果"。一片连锁反应。

排查到最后发现:它在处理 Promise 的时候,没有区分 resolve 和 reject 的缓存策略。失败的 Promise 也被缓存进去了。

这个 bug 平时完全不触发。一旦触发,就是灾难。

问题出在哪?不是代码写得"差"。恰恰相反,是写得太好了——好到你失去了警惕。

结构清晰、命名合理、还会加注释。比我自己写的还"规范"。但这种"规范"骗过了我的直觉。我们的大脑其实有一套快速判断机制:代码结构 OK 、命名合理、跑起来没报错——就通过了。

但 AI 写的代码,特别擅长满足这些表层条件。真正的问题藏在边界条件、异常处理、并发场景、状态一致性这些地方。你不仔细想,根本看不出来。

不是错得多。是偶尔错,但错得很深。

你其实在和一个"不可解释的搭档"合作

后来我慢慢想明白一件事。

AI 编程的本质不是工具升级。是你多了一个"写代码的搭档",但你不了解它。

这个搭档有几个特点:写得很快、知识面很广、但不会对自己的设计负责,也不会主动告诉你风险点。

这和团队里的新人不一样。新人你可以带,可以问,可以 review 他的思路。但 AI直接给你"结果",而不是"过程"。

2026 年 2 月, OpenAI Codex 团队负责人在 36 氪的一篇报道里亲口承认: OpenAI 内部的工程师已经很少打开 IDE 了,更多是做 AI 的"监工"。他原话大意是——"传统意义上的写代码,在我们团队已经是浪费时间。"

这个判断我信。

但问题来了:当你从"写代码的人"变成"监工"的时候,你的审查能力真的跟上了吗?

GitHub 在 2024 年做过一项研究,发现使用 Copilot 的开发者提交的代码,安全漏洞比例并没有显著下降。原因是很多人把 AI 输出当成了"终稿"而非"初稿"。审查流于形式。

说白了,"监工"这活儿没你想的那么简单。

那些"看起来没问题"的代码,为什么最危险?

因为它会骗过你的直觉。

这是我觉得 AI 编程最坑人的地方。传统写代码的时候,你的大脑全程参与——每一步你都在做判断,做取舍,你会清楚地知道自己在哪里偷了懒、哪里是"先这样吧以后再改"。

但 AI 写的代码,你很难区分"它想清楚了"和"它只是看起来想清楚了"。

举个更底层的例子。并发逻辑——AI 生成的代码通常在单线程场景下完美运行。但你放到高并发环境里试试?竞态条件、死锁、资源泄漏,这些问题 AI 几乎不会主动处理。

你平时压根想不到去测。

等线上出了问题,你回头看,才发现那个地方其实有个暗坑。但那时候用户已经骂了半小时了。

2026 年初有人在掘金发了一篇文章,讲 AI Agent 的安全问题——恶意中间人攻击。核心观点是:当 AI 系统拥有工具调用权限时,一个 prompt 注入就可能导致真实的资产损失。钱包被转走那种。

这不是危言耸听。

我现在怎么做(不是不用,是加护栏)

踩过几次坑之后,我系统性地调整了用 AI 的方式。

不是不用。说实话我用得比以前还多。但加了几个规矩。

分层信任。 我把代码分三类:

低风险的——UI 组件、样板代码、简单工具函数——放心用,出了问题成本低。

中风险的——业务逻辑、数据处理、状态管理——AI 可以写,但必须过一遍。

高风险的——并发逻辑、缓存策略、权限安全、核心架构——我基本不会直接用 AI 结果。最多是参考思路。

强制二次建模。 现在我有个习惯: AI 写完之后,我在脑子里重新建一遍模型。数据怎么流动的?状态在哪儿变化?哪些地方可能出错?

如果我讲不清楚这段代码在干嘛,我就不上线。

这条底线救过我好几次。

最小验证测试。 不用一上来就搞完整测试体系。但至少三样东西要有:正常路径、异常路径、边界条件。比如刚才那个缓存 bug ,一个"失败请求是否被缓存"的小测试就能发现。

控制上下文复杂度。 不要一次性让 AI 生成太复杂的东西。越复杂的上下文,越容易出错,越难 review 。拆小任务,分步骤,每一步验证。

说白了,就是别偷懒。

我知道这听起来很反直觉——用 AI 不就是为了偷懒吗?但恰恰是这个心态最危险。

最后

有人在社交媒体问:"在公司用 AI 写代码,你们上线的时候会不会有点慌?" 底下几百条评论,大部分人都说"慌"。

不是慌 AI 会取代自己。是慌自己其实没那么懂自己提交的代码。

这个感受我太理解了。

我现在给自己设了一条底线:我可以不写代码,但我不能不理解代码。

这条线守住了, AI 是加速器。守不住,它就是放大器——把问题放大。

速度变快了,但"确定性"变低了。

而我们要做的,不是拒绝它,而是学会跟这个"不可解释的搭档"相处。像对待一个很强但不靠谱的同事——尊重他的能力,但永远自己做最后一道判断。

就这样吧。

你用 AI 写代码的时候慌不慌?评论区聊聊。