Article

当代码不再是护城河

人与名为 AI 的人形机器人并肩赛跑

晚上十一点,小周一个人坐在办公室里改一个报错。

这种时刻,他以前挺享受的。一个复杂的问题,像一个锁,你得找对钥匙,找到了就有一种说不清楚的满足感。但那天他心情不太一样。他把日志和代码扔给一个 AI Agent,几分钟后,原因、修改建议、连测试用例都回来了。他看了一遍,没什么好挑的。有几个地方,甚至比他自己想得还周全。

他坐在椅子上没动。窗外已经黑透了。

他突然觉得,自己这些年攒下来的本事,不知道从哪天起,开始变得没那么稀缺了。

这种感觉,我觉得很多写代码的人都开始有了,只是不太说出口。

过去我们相信一件事:只要技术学得够扎实,饭碗就稳。会 Java,会前端,会数据库,会搭系统,会在凌晨两点把线上 Bug 摁死——这些能力换来薪水,也换来一种踏实感,觉得自己是有用的人。可 AI Agent 出来之后,那条朴素的逻辑开始松动了。它不是帮你补几行代码,它更像一个能接活的同事:给它需求,它能拆任务、读项目、改代码、跑测试、提结果。

那我们还剩什么?

我想了很久,觉得这个问题不应该让人崩溃,但确实值得认真坐下来想一想。

说实话,很多程序员平时做的事情,谈不上太多创造。

复制一个接口、搭一个列表页、在类似的项目之间搬逻辑、按模板补测试——这些不难,就是要花时间,要细心。过去它们值钱,是因为机器还干不了,只能人上。可现在,这部分工作正在慢慢被接走。

令人难受的不是这件事本身,而是回头一看——有些人做了好几年,主要做的就是这些事。项目经验挺多,但把这些剥掉,下面的东西并不厚实。

AI 真正带来的冲击,其实是逼着人重新问自己一个问题:除了把需求翻译成代码,我到底还能给什么?

我认识一个做了八年开发的人,前阵子跟我说,他们团队来了个新人,用 AI 工具一周出的活,顶得上他以前一个月。他当时说这件事的语气很平,但我看出来他有点慌。

后来我们聊了挺久。我问他,这些年你最有成就感的是什么?他想了一下说,不是那些写得很快的功能,而是有一次他把一个运营反复投诉的老系统整个梳理了一遍,发现真正的问题不在代码里,在流程设计上——改了之后,那个投诉真的消失了。

我觉得他说的就是关键。代码是工具,背后是对问题的理解。一个医院挂号系统真正难的从来不是接口怎么写,而是病人怎么少排队、异常怎么处理、医生的习惯怎么兼顾。一个电商推荐系统真正麻烦的也不是算法,是用户凭什么信任你、商家为什么留下来。

技术门槛越来越低之后,理解问题的能力会越来越值钱。但这件事不是一朝一夕练出来的,它要求一个人真的在乎用户在烦什么,真的愿意去想这件事做了以后会发生什么。

Agent 可以生成一套方案,但它不必为上线之后的混乱负责。它不了解公司里那些没有写进文档的历史、妥协和人情。那些判断——哪些需求值得做,哪些风险不能冒,哪个看起来聪明的设计最终会伤用户——还是得有一个真正身在其中的人来做。

当然,也有人说,那以后我负责检查 AI 写的代码不就好了。

我理解这个想法,但我觉得这条路有点窄。因为检查本身,也可能被自动化。一个 Agent 写代码,另一个做 Review,再一个跑测试——这个闭环已经在形成了。

人不能只站在链条末端等机器递东西过来。

更有意思的位置,是站在任务最开始的地方:想清楚要解决什么问题,定义边界,决定做什么不做什么,然后承担结果。不只是说“写一个积分功能”,而是想清楚——积分是为了留人还是拉新?规则会不会被薅?客服会遇到什么麻烦?数据偏了谁来发现?上线之后凭什么知道它有没有用?

能问出这些问题的人,不会因为代码生成变快就失去位置。

也有人走向另一个极端,说技术不重要了,懂业务、会沟通就够。

我也不这么觉得。一个不懂技术的人,其实很难真正驾驭技术工具。Agent 给出的架构是否可靠,数据库设计会不会在半年后出问题,权限方案有没有漏洞——这些判断都需要真实的技术底子。只是以后这种底子的体现方式变了:不再是“我能手写这段代码”,而是“我知道什么是好代码,什么地方可以放心交给工具,什么地方必须自己盯着”。

就像一个建筑师,不见得每块砖都自己砌,但他得知道承重墙不能乱拆,雨水从哪里会渗进来,人在里面会怎么走。不然,再厉害的施工机器,只会更快地造出一栋有问题的楼。

AI 会放大一个人的能力,也会放大一个人的盲区。真的懂行的人,可以拿它做过去一个团队才能做的事;稀里糊涂的人,只会更快地制造麻烦。

还有一件事我想说,有点实际,但我觉得很重要。

很多程序员太习惯等任务了。需求来了就接,做完了就交,上线了就算。几年下来,代码越写越熟,但几乎不知道这个产品为什么存在,公司靠什么赚钱,用户为什么留下、又为什么走。

过去这种分工可以长期维持,因为执行本身有价值。但当 Agent 开始承接越来越多的执行工作时,“安静把别人布置的活做好”就不再是特别稳的位置了。

走出去听听。听听销售怎么介绍这个产品,看看客服每天被什么问题轰炸,和真实用户聊聊他们真正不满意的地方。不是为了变成产品经理,而是为了不再只看见需求单上的几行字。

一个知道问题从哪里来的程序员,写出来的东西会完全不一样。更重要的是,他能提出问题,而不只是等题目被人递过来。

Agent 很会答题,但题目从哪里来、值不值得答,这件事还是人的。

最后我想说一句可能有点扎心的话。

这场变化,不会对所有人都温柔。有些人会借此效率暴增,机会反而更多;但也确实有一些岗位,会慢慢变少。不是每个写业务代码的人,都能顺滑地转型成系统架构师或产品型工程师。有人已经三十五岁,上有老下有小,没有太多时间重来;有人刚学会第一门语言,发现入门的坑越来越少;也有人本来只想凭一门手艺安稳过日子,并没有什么“超级个体”的野心。

这些担心都是真的,也不该被一句“拥抱变化”打发掉。

但现实不会等我们。与其反复论证 AI 替代不了谁,不如认真想想,自己身上有没有什么是更难被替代的:更深的行业感觉,更强的判断力,更可靠的协作,更主动的问题意识,以及在混乱里把事情真正落地的能力。

不是每个人都要成为改变世界的人。但至少,不能让自己全部的价值,都押在一件机器正在做得越来越好的事情上。

很多年前,大家学编程,是相信代码可以让什么东西变好一点。做一个工具,让重复劳动少一些;搭一个系统,让复杂的事情顺畅一些。后来行业成熟了,那种感觉渐渐被流程和排期磨掉,我们开始把自己想成“生产代码的人”。

AI Agent 也许会拿走大量写代码的工作。但也许,它同时会把我们推回一个更本质的位置——去面对真实的人,真实的混乱,做出真正有价值的东西。

未来的程序员,可能不再以“今天写了多少行”为荣。他可能更经常说的是:这个问题我看清楚了。这件事交给我,我知道该怎么做。

代码会越来越便宜,工具会越来越聪明。但人的处境、人的需求、人的犹豫,不会自动消失。

所以,不必急着证明自己比机器更像机器。

只需要,成为一个机器没有办法替代的人。