AI对软件工程的改变,特别像工业革命时期,机器纺织对手工纺织的改变。
以前织布,是人一梭一梭织出来的。
后来机器来了,布开始被机器织出来。
以前写代码,是程序员一行一行写出来的。
现在AI来了,代码开始被机器写出来。
这两个变化几乎是同构的。
手工织布到机器织布。
人手写代码到机器写代码。
表面上看,变化的是生产工具。
但真正被改变的,是整个行业的生产关系。
在机器纺织刚出现的时候,机器织出来的布,并不一定比熟练织工手工织出来的布更好。
老织工看机器布,可能会觉得粗糙,死板,没有手感,没有灵魂。
而且他说得可能是对的。
一个真正厉害的手工织工,靠经验,靠眼睛,靠手感,靠多年训练出来的节奏,确实能织出更精致的布。
这和今天很多工程师看AI写代码的感觉,几乎一模一样。
能跑是能跑。
但不优雅。
边界不清楚。
变量名奇怪。
抽象一塌糊涂。
看着就血压上来。
于是很多人会说,AI写的代码不如人。
对,可能确实不如你。
但历史真正有意思的地方就在这里。
机器纺织改变世界,并不是因为它第一天就织得比最好的手工织工更好。
而是因为它更快,更便宜,更稳定,更容易规模化。
它改变了布的生产成本,也改变了纺织业的组织方式。
所以我觉得,我们今天讨论AI写代码,也不能只盯着「它写得好不好」。
这个问题当然重要,但它不是最大的问题。
更大的问题是,当代码可以被机器大规模、低成本、快速生成的时候,软件工程会变成什么样。
这才是巨变。
软件正在从「人手工写出来」,变成「人组织机器生产出来」。
而一旦这件事成立,整个软件工程的生产关系都会被重写。
以前我们理解一家软件公司,基本是围绕「人写代码」来组织的。
产品经理写需求,工程师拆任务,前端写前端,后端写后端,测试负责验证,项目经理盯进度。
一个功能从想法到上线,要经过一条由人构成的流水线。
但AI开始写代码以后,这条流水线会被重新折叠。
一个人可以带着几个AI Agent,做出过去一个小团队才能做出来的原型。
一个业务人员可以用自然语言生成内部工具,再让工程师做治理和收口。
一个资深工程师一天里最重要的工作,可能不再是亲手写八小时代码,而是拆任务、设边界、写验证、审查AI产物,然后把机器生成的代码纳入一个可靠的工程体系。
所以我越来越觉得,讨论「AI会不会取代程序员」这个问题,方向其实偏了。
AI不会取代任何人的工作。
它会改变生产关系。
被改变的不是某个岗位要不要存在,而是这个岗位在软件生产链条里的位置。
这事儿如果放到纺织业里看,就特别清楚。
以前,一个织工,一台织机,一个家庭作坊,就能构成一个生产单位。
织工既是执行者,也是质量控制者,甚至还是整个生产节奏的主人。
他知道线的状态,知道布的纹理,知道哪里应该紧一点,哪里应该松一点。
这些东西很微妙,很多时候说不清楚,但手上知道。
后来机器来了。
纺织不再只是一个织工和一台织机的事。
它变成了工厂,机器,资本,原料供应,工长,质检,仓储,贸易,品牌,市场。
人没有消失。
但人的位置变了。
有人从织工变成了机器操作员。
有人变成了工厂管理者。
有人去做花型设计。
有人去做质量检验。
有人去做原料采购。
有人去做贸易和品牌。
当然,也有人被旧体系甩了出去。
这个过程一点都不温情,甚至很残酷。
但它不是简单的机器吃掉人。
它是旧分工瓦解,新分工形成。
回到软件工程,其实我们现在就在经历类似的事情。
过去的软件工程师,很像手工织工。
需求来了,坐到电脑前,一行一行写代码。
厉害的人写得优雅,稳定,可维护。
经验少的人写得粗糙,混乱,到处埋坑。
你能明显看出一个人的手艺。
一个函数怎么拆,一个模块怎么命名,一个异常怎么处理,一个系统边界怎么设计,里面都有工程师自己的审美和经验。
这就是软件工程里的手工时代。
但现在AI来了。
代码开始被机器生成。
很多工程师看AI写的代码,第一反应大概也是,什么玩意儿。
能跑是能跑,但不优雅。
有逻辑是有逻辑,但边界很糙。
表面上实现了需求,但你总觉得哪里不太对。
这其实很像老织工看机器布。
他说机器织得不如我。
对,可能确实不如你。
但问题是,历史往往不是等机器产品完美以后才开始转向。
很多时候,只要机器产品足够便宜,足够快,足够能用,整个行业的组织方式就已经开始变化了。
软件工程也是一样。
AI不需要在所有场景里都写得比最强程序员更好。
它只要能把大量普通代码,重复代码,样板代码,测试代码,脚本代码,后台管理代码,以极低成本生产出来,软件行业的生产关系就会被重写。
过去一个内部报销系统,可能要产品经理写需求,前端排期,后端排期,测试排期,来来回回两个月。
未来可能是业务负责人先把流程讲清楚,AI生成一个能跑的初版,工程师再补权限,补数据一致性,补安全边界,补系统集成。
过去一个运营想要数据看板,只能找研发排队。
未来他可能自己用AI先做一个粗糙版本,确认这个看板真的有用,然后再让工程师把它接入正式系统。
过去一个资深工程师,一天八小时都在写代码。
未来他可能只有两小时在亲手写,剩下的时间在拆任务,写测试,读AI生成的代码,设计架构边界,建立约束条件,让机器不要乱跑。
你看,这里面没有谁完全消失。
但每个人的位置都变了。
程序员不再只是写代码的人。
产品经理不再只是写需求的人。
测试不再只是点页面的人。
管理者也不再只是盯进度的人。
所有人都会被迫往上走一层,去理解整个生产系统是怎么运转的。
这才是AI真正厉害的地方。
它不是把某一个岗位一刀切掉。
它是把每个岗位里低附加值、重复性、可模板化的部分,一层一层吃掉。
如果一个初级程序员的主要价值,只是按需求写CRUD,那确实会很危险。
如果一个测试的主要价值,只是手工点页面,那也会很危险。
如果一个产品经理的主要价值,只是写一堆模糊需求,然后丢给研发,那同样危险。
但危险的不是这个职业本身。
危险的是,你还站在旧生产关系里的旧位置上。
以前稀缺的是会写代码的人。
以后稀缺的是有判断力的人。
什么该做,什么不该做。
什么可以让AI写,什么必须人来把关。
一个系统边界应该怎么划。
一个需求是真需求,还是老板突然拍脑袋。
一段代码能不能上线。
一个功能出了问题,责任链条怎么追。
这些东西,反而会越来越值钱。
因为当代码变便宜以后,真正贵的东西就不是代码了。
是判断。
是组织。
是验证。
是责任。
你想想看,机器纺织时代最厉害的人,不一定是手速最快的织工。
他可能是懂机器的人,懂工艺的人,懂流程的人,懂质量控制的人,懂市场的人。
软件工程也会这样。
未来最厉害的工程师,不一定是亲手写最多代码的人,而是能组织AI稳定产出软件的人。
他知道怎么给AI拆任务。
知道怎么设计测试。
知道怎么让AI生成的东西进入工程体系。
知道什么时候可以快,什么时候必须慢。
知道哪些地方可以粗糙试错,哪些地方必须像修桥一样严肃。
这类人会很值钱。
而且我觉得,AI对软件工程最大的影响,可能还不只是IDE变了,也不是写代码的方式变了。
更大的变化,是公司形态会变。
过去公司要做更多事情,通常就要招更多人。
因为很多事情只能靠人堆出来。
一个系统一个团队。
一个项目一个排期。
一个需求一轮开发。
但AI加入以后,小团队的产能会变得非常夸张。
十个人的团队,可能做出过去五十个人的产出。
一个很强的工程师,带着几个AI Agent,就像带着一个小型软件工厂。
一个业务部门,可能不再什么都等研发,而是自己先生成内部工具,再由工程团队做治理和收口。
这会让组织变轻,变快,也变乱。
对,变乱也很重要。
因为当软件太容易被生成,公司内部一定会长出大量临时系统,小工具,小看板,小流程。
一开始大家会很兴奋。
太爽了,过去排期两个月,现在一天就有了。
但再过一段时间,问题就来了。
谁维护。
谁负责安全。
谁保证数据口径一致。
谁知道这个小工具半年后还会不会有人用。
谁来决定它应该被废弃,还是进入正式系统。
所以AI越强,组织越需要新的治理方式。
未来公司里可能会出现一种很新的角色。
他不是传统程序员,也不是传统产品经理,也不是传统项目经理。
他负责设计人和AI怎么协作。
哪些事情让AI自由生成。
哪些事情必须进入正式研发流程。
哪些节点必须人审。
哪些系统可以临时存在。
哪些系统必须被治理。
这个角色有点像工业时代的工艺负责人,也有点像软件时代的架构师,还带一点组织设计师的味道。
我觉得这才是AI时代真正的新职业。
不是Prompt工程师这种很短期的名字,而是能设计新生产关系的人。
回到那块布。
当年老织工看着机器织出来的布,可能真的会摇头。
这东西不行。
没有手艺。
没有温度。
没有灵魂。
他说得没错。
但他看到的是一块布。
历史真正带来的,是一整套新的世界。
工厂,品牌,供应链,全球贸易,成衣工业,消费社会,全都从那台一开始并不完美的机器旁边长了出来。
今天我们看AI写代码,也很容易只盯着那一段代码。
这里不优雅。
那里有bug。
这个抽象太烂。
那个变量名像没睡醒。
都对。
但真正重要的,可能不是这段代码写得像不像一个高级工程师。
真正重要的是,软件生产第一次开始从人手工编织代码,变成机器参与生产代码,人类重新组织生产代码。
所以我还是那个判断。
AI不会取代任何人的工作。
它会改变生产关系。
被取代的不是人。
是旧的分工方式,旧的组织结构,旧的价值排序。
我们要做的,也不是拼命证明自己比机器更会织布。
而是尽快学会,怎么设计下一座软件工厂。
夜雨聆风