写代码的人与写人的代码我至今记得第一次看着 Agent 自己写代码的那个下午。光标在屏幕上一行一行地往前走,变量命名的风格、换行的节奏,甚至连在奇怪的地方留空行的坏毛病,都像是从我手里出去的。我的第一反应不是兴奋,而是一阵发凉——就好像有人一直在偷偷临摹我的笔迹,而且临得很像。
从那以后,「取代」这个词就开始在工位之间飘,像深春的柳絮,到处都是,还让人眼睛发痒。
流行版本的焦虑是这样的:AI 会写代码,程序员要失业,一大批电子牛马将要回家放羊。这个说法流传得如此广泛,以至于反驳它都显得迂腐。但我今天想说的焦虑,比「丢饭碗」更深一层——真正塌掉的不是饭碗,而是坐标系。IT 工程师这二十年确认自身价值的方式,一直是一个坐标:我能解决别人解决不了的问题。而 AI 恰恰是那个正在把「别人解决不了」变成 200 毫秒一次调用的东西。
深蓝与哀悼五阶段这不是人类第一次面对这个东西。1997 年,卡斯帕罗夫输给了深蓝。这位世界棋王从椅子上站起来,怀疑机器背后藏着人类特级大师。他输掉的不只是一盘棋,而是「人类智力在这个领域位于食物链顶端」的自信。
心理学家 Kübler-Ross 提出过哀悼五阶段:否认、愤怒、讨价还价、沮丧、接受。她原本是用在绝症患者身上的,但移植到这里,严丝合缝。我更愿意把它叫作「卡斯帕罗夫综合征」——凡是靠一门手艺吃饭的人,当这门手艺被机器超过时,大概率都要把五阶段完整走一遍。各位可以对号入座:
否认派。他们每天的主要工作,是给 AI 的输出挑错,指着一个幻觉出来的接口得意地说:看吧,废物。这就像 1905 年的马车夫,指着抛锚的汽车嘲笑:这铁盒子连坡都爬不上去。至于它刚才跑出了八十公里的时速,他们选择不看。
愤怒派。他们的日常是在群里大声宣布,这一切都是泡沫,token 成本撑不住,资本市场迟早崩盘。声音很大,大得刚好能盖住那行他写了一下午、AI 只用三秒就写出来的代码。
讨价还价派。他们相信只要学会新的咒语,就能买到新时代的门票:报 prompt engineering 的课,收藏《AI Native 转型四十八讲》,把简历上的「精通 Java」改成「AI 复合型人才」。像在和命运谈判——手艺你可以拿走,但编制请给我留着。
沮丧派。他们不再争论,只是盯着深夜里 AI 提交的那个比自己更规范的 pull request,忽然觉得二十岁熬的那些夜像个笑话。这种感觉不是怕失业,而是身体里有一部分正在被办葬礼,死者叫「我的技能」。接受派。他们什么都不说,把 AI 放进副驾驶位,系好安全带,开始学习一件新的事:如何坐在驾驶位上,开一辆自己会走的车。
最后的武士如果你问沮丧派到底在哀悼什么,他们多半说不清。失去的并不是工作——大多数人还在工作——失去的是那个用来确认「我是我」的东西。
电影《最后的武士》里有个场景:明治维新之后,废刀令颁布,武士不允许再佩刀。刀被收走的那一刻,武士失去的不是一块铁,而是围绕这块铁建立起来的全部礼仪、位阶与尊严。没有了刀,武士是什么?这个问题没有答案,因为在旧的坐标系里,答案就是刀本身。
今天的 IT 工程师,就是明治维新后的武士。刀叫「手写代码的能力」。废刀令不是一次颁布的,它是一点一点来的:先是 Copilot,再是 Cursor,再是 Agent。没有人来强行收缴,刀只是在你手里慢慢变钝,直到某天你发现,周围的人都已经换上了枪。
我有个没跟人讲过的小故事。今年年初,我花了一整个晚上手动重构一个构建脚本,写完挺得意,顺手把同样的需求丢给 AI,它三十秒后还给我一个更干净的版本。按理说我该沮丧,结果我惊讶地发现自己心里冒上来的,居然是一丝庆幸——像一个亲手扶犁耕完一亩地的农民,抬头看见收割机正开过田野。我庆幸什么呢?我想了很久:我庆幸这块地种什么,还得我说了算。犁没了,地还在。
但并不是所有人都有地。很多人的手艺,本身就是犁。所以这份疼痛是真实的,值得被认真对待,而不是一句「你适应得不够快」就能打发的。
会员卡里的末日罐头当然,应对方式不止五阶段。我在身边还观察到至少三种更极端的亚种:
囤罐头派。他们充了七八个 AI 会员,订了三个 coding 套餐,收藏夹里躺着两百多个教程。这些会员像末日罐头一样堆在浏览器深处,买了就安心,吃不吃不重要——买了,就等于在末日里活了下来。
鸵鸟派。他们坚决不用任何 AI 工具,写 2019 年速度的代码,开 2019 年节奏的会,像高速公路上最后一个手动挡司机,坚持认为控制感只能来自离合器。他们说得并没有错,只是现在整条高速都是自动驾驶,没人在乎你的控制感。
瓦力派。另一个极端:什么都交给 AI,输出看都不看,复制粘贴直接提交。像电影里那些悬浮在飞船里的人类,骨头已经退化得站不起来,却仍然相信椅子就是自己的腿。这一派最危险的地方不在于出错,而在于机器出错的那天,他们根本看不出来。
这些派别看起来各不相同,本质上做的是同一件事:跟焦虑做交易。罐头是焦虑的保证金,鸵鸟是焦虑的麻醉剂,瓦力是焦虑的高利贷。没有一种是在真正消化它。
公司让你用枪证明武士道更麻烦的是,组织机制在这份焦虑上又浇了一瓢油。
一边用「AI 提效」当理由优化 HC,一边要求剩下的人产出三倍的结果;一边发给你一把枪,告诉你刀的时代结束了,一边在绩效表上继续按代码行数、commit 数和故事点评你。就像有人对武士说:刀的时代结束了,现在请用这把枪向我证明你的武士道——另外,我们今年评优的标准,还是看你挥刀的次数。
这种拧巴不是恶意,是惯性。大多数组织的运行机制,都形成于「人的产出与人数线性相关」的年代。当产出开始与人数非线性脱钩,旧的尺子不是不准了,而是荒诞了。用这把尺子量出来的工程师,焦虑是必然的:你的价值在涨,你的计量在跌;你变强了,但你说不出证据。
所以很多人真正的压力源,其实不是 AI,是那把旧尺子和新世界之间的裂缝。AI 只是把裂缝照亮了而已。
半人马回到卡斯帕罗夫。故事并没有停在 1997 年。
输给深蓝几年后,他搞了个东西叫 Centaur Chess(半人马象棋):人和 AI 组队,去跟其他「人 + AI」的队伍对弈。结论有点反直觉——弱人类 + 机器 + 好的协作流程,可以赢过强机器,甚至能赢过强人类 + 糟糕的流程。被机器打败的人,最先想明白人和机器怎么共存。
这是我能给「取代」这个问题的唯一诚实答案:取代的反面不是抵抗,是耦合。工程师需要重新练习的,不是比 AI 写代码更快——那条路已经封了——而是另外三件事:知道什么问题值得解决(判断),知道怎么把大问题拆成 AI 能接住的小问题(拆解),知道怎么验证结果并为它负责(责任)。代码只是工程师职业的冰山一角,冰山真正的主体,是上下文、权衡和问责。AI 能写出冰山的那一角,但冰山撞上去的时候,背锅的目前还是人。
写到这里必须翻转一下——前面说得好像只有强者才有出路,其实不是。半人马的门槛远比焦虑里喊的低:你不需要成为 prompt 大师,也不需要搞懂 Transformer 的每一层矩阵。你只需要开始把 AI 当同事而不是对手:给它派活、检查它的产出、纠正它的错误。这件事和老员工带新人一模一样,只是这个新人不睡觉、不闹情绪,而且不抢你的晋升名额。
真正会被落下的,不是技术差的人,而是拒绝跟它建立工作关系的人。墙没有多高,只是远看比较吓人。
杂谈写这篇的时候,IDE 还开着,Agent 在角落里自己跑回归。
好消息是,这篇没有广告,所以接下来的话全是真心的;坏消息是,没有广告,意味着我连「我在完成任务」这个借口都没有了。
我算是比较早「想开」的那一批人,但深夜里偶尔还是会漏出那种感觉:我以前觉得工程师的浪漫是写代码改变世界,现在写代码的已经不全是我了。我的简历三年没更新,因为不知道怎么写这三年——写「精通 Java」吧,像在计算器时代吹嘘算盘;写「熟练使用 AI」吧,又像把别人的功夫写在自己身上。
但是面试官会问,这个项目里有多少是你自己写的;但是晋升叙事里还是要证明不可替代性;但是我维护的那个 2019 年上线的系统没人知道它怎么工作,包括我,也包括 AI;但是隔壁新同学已经开始让 AI 替他跑 oncall 巡检了;但是我已经快40岁了;但是我爸说互联网在走下坡路;但是我今天用得最多的能力不是技术,是逐行检查 AI 输出时的耐心;但是我还是怀念半夜自己写一个小工具的感觉,那种「我解决了一个别人解决不了的问题」的感觉——现在想来,那种感觉没有消失,只是从手指头挪到了判断力里。
但我还有好多但是。
算了,没有但是了。先把这个 bug 修完吧。
八月二十日,多云转晴。
写代码的人与写人的代码 我至今记得第一次看着 Agent 自己写代码的那个下午。光标在屏幕上一行一行地往前走,变量命名的风格、换行的节奏,甚至连在奇怪的地方留空行的坏毛病,都像是从我手里出去的。我的第一反应不是兴奋,而是一阵发凉——就好像有人一直在偷偷临摹我的笔迹,而且临得很像。 从那以
阅读:0
点赞:0