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替你思考,它只会替你打字。
关注我,持续更新实战踩坑指南。
觉得有用? 点个「在看」,分享给同样在AI落地路上挣扎的朋友。
夜雨聆风