AI 写的代码只是冰山一角:软件工程化的深水区,AI 到底能填平几个坑?

“AI 编程?大抵只是冰山露出水面的一角罢了。”

我向来是不惮以最坏的恶意来推测”AI 软件工程化”的,然而看官们大抵都只盯着”AI 写代码”这一点。

满本都写着两个字——狭隘。

软件工程化,岂是敲几行键盘就能概全的?写代码,大抵只是这漫长工程里,最不值钱的一环罢了。

我横竖睡不着,把这半年的 AI 落地账本翻了一翻,才从字缝里看出字来。

AI 确实填平了一些坑,但更多的是,它把水搅得更浑了。


一、需求分析:它读懂了每一句话,却没读懂一件事

产品经理丢来一句”做一个类似淘宝的购物车”,程序员横竖睡不着。这需求像一团迷雾,谁碰谁倒霉。

现在呢?我把这句”鬼话”喂给 AI。

十分钟后,AI 吐出了 20 个用户故事、3 种边界条件、甚至画出了流程图。它替不了你和产品经理吵架,但能帮你把架吵得有理有据。

但别高兴得太早。

AI 能拆解需求,却不懂业务的”潜规则”。它不知道你们公司的”购物车”其实要对接三个老旧的 ERP 系统,也不知道那个看似简单的”优惠券”背后藏着财务对账的血泪史。

它读懂了文档里的每一个字,却唯独没读懂一件事:为什么要做这件事。

解法:把 AI 当成你的”初级分析师”。让它做信息抽取和结构化,但业务上下文和隐性规则,必须由人来注入。

AI 是个优秀的翻译官,但业务逻辑的”坑”,还得你自己去填。


二、测试与质量:写了 100 条用例,却没一条敢上生产

测试,大抵是程序员最厌弃的活计。以前写单元测试,像是在给破房子糊窗户纸,糊得再厚,风一吹还是漏。

现在 AI 来了。你让它写测试,它噼里啪啦吐出 100 个用例,覆盖率瞬间飙到 90%。

看起来很美,是吧?

但仔细看那些用例,你会发现一个荒诞的事实:AI 只是在验证”代码是否按指令运行”,而不是”代码是否符合业务逻辑”。

你喂给它一段错误的计算逻辑,AI 也会帮你把这段错误的逻辑,严严实实地测上一百遍。它是个听话的刽子手,你让它砍谁,它就砍谁,从不问”该不该砍”。

它测出了代码的形,测不出业务的魂。 就像八股文做得再好,也挡不住洋人的大炮。

解法:AI 适合做”回归测试”的搬运工,但核心业务场景的验收,必须是人肉 Review。


三、CI/CD 与运维:流水线里的”醉汉”,谁敢松手?

部署上线,以前是”开盲盒”。环境不一致、依赖冲突、日志像天书,排查一个 Bug 能掉一把头发。

现在 AI 进了流水线。

它能自动优化构建脚本,能在报错时瞬间分析日志,甚至直接给出修复建议。它像个不知疲倦的守夜人,替你盯着那些枯燥的机械活。

但别指望它能替你背锅。

AI 在 IDE 里写代码,像秀才挥毫泼墨,一气呵成;进了 CI/CD 流水线,却像让醉汉走钢丝——底下的人看得心惊肉跳,谁也不敢松手。

因为 AI 的本质是非确定性的,而流水线的核心是”确定性”。把非确定性塞进要求确定性的系统,从根上就不搭。

解法:在 CI/CD 中使用 AI 做”辅助分析”(如日志摘要),但决策权(发布/回滚)必须牢牢握在人手里。

工程化的底线,从来不是工具,而是敬畏。


四、文档与知识:从”坟墓”到”活水”,唯一的安慰

文档,向来是代码的”坟墓”。代码改了,文档还在讲古。新人来了,对着半年前的文档,骂骂咧咧地开始猜谜。

现在,我把 AI 接进了代码库。

每次提交代码,AI 自动更新文档;每次有人提问,AI 基于最新代码库给出答案。文档终于不再是”写完就扔”的垃圾,而成了活的说明书。

这大抵是 AI 落地以来,最让人欣慰的一件事。它治好了程序员的”文档拖延症”,也让知识不再随人员流动而流失。

但前提是,你的代码本身得写得像个人话。 如果代码本身就是一坨屎,AI 生成的文档,也只是一坨包装精美的屎。


五、说句难听的

别被”AI 编程”的泡沫迷了眼。

AI 填平了”搬砖”的坑,但把”设计”和”决策”的坑挖得更深了。

以前程序员的门槛,是”会不会写代码”。

现在程序员的门槛,是”能不能判断 AI 写得对不对”。

AI 能替你写代码,但替不了你定架构。

AI 能替你写测试,但替不了你懂业务。

AI 能替你写文档,但替不了你扛责任。

如果你还在指望”AI 能包揽软件工程的一切”,那我建议你,还是洗洗睡吧。

万一,你成了那个被 AI 架空的技术负责人呢?

大抵如此罢。


关于码孖AI

码孖AI,专注 AI 工程化落地。

说白了就是帮程序员少干点活——但别指望 AI 替你思考,它只会替你打字。

关注我,持续更新实战踩坑指南。

:::callout tip 觉得有用? 点个「在看」,分享给同样在 AI 落地路上挣扎的朋友。 :::