
先说一个现象
现在AI在应用开发领域可以说是攻城略地,势如破竹。你问问身边的开发,有几个没用过Copilot、Cursor的?几乎都在用。而且用得还挺好,生成个CRUD接口、写个业务逻辑、配个路由,效率确实提上来了。
为什么AI在应用层这么能打?原因其实不复杂。
第一,学习样本足够多。GitHub上上亿个开源项目,各种语言的代码都有,从电商到社交、从后台管理系统到API网关,几乎覆盖了你能想到的所有业务场景。AI在这上面训练过,见过的代码比你写过的都多,生成的代码看起来有模有样。
第二,绝大多数的业务逻辑,说白了就是增删改查。前端传个参数,后端查个数据库,返回个JSON。你说这玩意儿有多深的技术含量?说实话,没有。业内管这类工作叫「CRUD工程师」,话难听,但理不糙。
所以AI干这个,确实干得好。你让它生成一个用户列表的接口,它连分页、排序、模糊查询都给你考虑到了。这种活儿,它见得太多了。
但你让他干点别的试试。
比如,让他去读读MySQL的源码,修个Bug,加个特性。别说修Bug了,你让他把MySQL源码下载下来,编译通过,他都不一定搞得定。什么?编译环境怎么配?依赖库从哪下?为什么报了一堆莫名其妙的错误?——这些事儿,AI没见过几回。
再说说运行稳定性。代码能跑是一回事,跑得稳、跑得久、出问题了能快速定位,那是另一回事。这些东西,不是靠「看过足够多的代码」就能学会的。它需要实打实的工程经验、对底层原理的理解、对系统整体架构的把握。而这些,恰恰是AI最大的短板。
所以我经常有一个判断:AI在应用层能打90分,在基础层可能连及格都难。
但问题来了,现在大家不看这个。
大家喜欢看什么?喜欢看表面文章,喜欢听故事。AI替代程序员、AI让开发效率提升10倍、AI消灭了技术岗位——这种故事,写的人爱写,看的人爱看,转发的人爱转发。
为什么有人爱看?因为符合预期。很多不懂技术的人,打心眼里希望AI能大量替代技术人员,最好一个不留。这样一来,不懂技术的业务人员就再也没有掣肘了——想做什么就做什么,不用再听技术人员说「这个做不了」、「那个工期不够」。
这个愿望美好吗?很美好。真实吗?不真实。
但大家不管这个。好听的故事和残酷的现实,大多数人选择前者。
说到这个,我想起一个比喻。
火车翻了,你怪车厢质量不好,怪乘务员服务不到位——但你有没有想过,是谁在驾驶?是谁把火车往沟里开的?
企业经营出问题,不是技术人员造成的。市场环境不好,行业下行,战略决策失误,资本盲目扩张,这些才是真正的原因。但最后背锅的,往往是技术团队——「你们系统不稳定」、「你们开发效率太低」、「你们跟不上业务节奏」。
你看,这就是典型的找错了原因。
说回AI这件事。
现在AI发展的速度太快了,快到人根本审核不过来。你让AI每天生成几千行代码,然后让开发去review?开玩笑。代码review本来就稀缺资源,现在更稀缺了。
有人说了,那就让AI来审核AI写的代码。
说这话的人,大概率没搞过测试。
很多场景下,测试天生就是无法覆盖的。比如高并发场景下的竞态条件,比如极端参数组合下的边界行为,比如某些只在特定硬件或网络环境下才能复现的问题。这些东西,你让AI来测,它测不出来。因为它没见过,它训练的数据里没有。
那你说,没有测试环境怎么办呢?在中国,很多小公司、创业团队,压根就没有完整的测试环境。生产即测试,上线即验证。这当然不规范。
但你要知道两件事。
第一,在中国,不规范的企业多了去了。这不是个别现象,不是少数团队的问题,是一个普遍的、长期存在的现状。你跟他讲规范,他说「规范了谁干活」。
第二,你都用AI去赶进度了,然后回过头来跟我谈规范?这就好比你已经开始饮鸩止渴了,然后跟我说要注意养生——你不觉得这个逻辑有问题吗?
能大面积用AI去替代开发的,绝大多数——我说绝大多数,不是全部,别跟我抬杠——他们不太在乎质量,只在乎进度。只要能跑起来,能交付,能上线,后面的问题后面再说。至于性能好不好、安不安全、维护起来方不方便,那不是现在考虑的事。
这种心态之下,出问题只是时间问题。
所以这两年,很多专业人士在呼吁:AI时代要重视软件工程。
说实话,我看过很多行业和公司,重视软件工程的,不多。
我自己有个经历。当年考软考项目管理的时候,看到题目,脑子里第一反应永远是「我日常是怎么做的」。然后我就知道,完了,这道题我肯定错了。因为日常的做法,跟标准答案之间,差了十万八千里。
这不是个例。这是整个行业的大环境。
有时候我跟一些朋友交流,问到一个问题:当进度和质量发生冲突的时候,你怎么选?
作为开发者角色的人,大多数回答是:「当然保进度。领导要的是进度。」
这才是真正的心声,才是真实的行业大环境。什么代码规范、单元测试、性能优化,在「下周必须上线」面前,统统靠边站。
所以你现在看到的AI替代开发这件事,放到这个大环境里看,就一点也不奇怪了。
如果你不考虑质量,不考虑性能,不考虑安全,那你可以完全all in AI,让它去写代码、去做运维、去处理所有的事情。一点问题都没有。谁说有问题,我就去反驳你。
但如果你考虑的,是一个系统能不能稳定运行三年五年,能不能扛住业务高峰期的流量冲击,能不能在出现故障的时候快速恢复——那你就得认真想想了。
火车翻车之前,车厢和乘务员都没问题。
问题是,谁在开车?