上周日,我给一个开小店的朋友做了一个发票追踪工具。没什么高明的。我描述了我想要什么,让 AI 去做剩下的,大约四十分钟后它就跑起来了。路由、数据库 schema、登录,甚至是我以前有点得意的那些琐碎的报错处理。第一次就成功了。

我本该为此感到高兴,而且大部分时候我确实高兴。但那天晚上剩下的时间里,还有一种感觉挥之不去。那东西在四十分钟里,做完了我二十多岁大部分时间都在学着怎么去做的事。

不是“机器人要抢我们的工作”。是更具体、也更针对个人的东西。我看着自己引以为傲的十年工作成果,意识到我已经分不清其中有多少真的曾经属于我。

在有人冲向评论区之前先声明一下:我现在每天都用 AI 写代码,而且我不打算放弃这一点。这不是那种帖子。但那个周日让我问出了一个我此前真的从没理由去问的问题,因为直到最近,你都没法把这份工作拆开来看看。在我称之为“我的技能”的所有东西里,哪一项才真的是我的?

结果发现,“当一名开发者”其实是两份工作,不是一份

大约十年里,我从来不需要把它们分开,因为你不把第一份工作磨透,就没法把第二份工作做好。

把第一份叫作生产。让东西存在。语言、那一年大家都在用的框架、你最终烂熟于心的 API、把一块接到另一块上,直到一个想法变成能跑起来的东西。这是训练营教的部分,也是面试考的部分。基本上从头到尾,这就是我的简历。而这也是 AI 现在完全比我更擅长的部分。说实话,行吧。它从来都不是难的那部分。只是要花好几年才能变快。

第二个我实在找不到一个干净利落的词来形容。判断力,也许吧。它是看着某个能跑的东西,然后不知怎么就知道它是错的。不是「它能跑吗」,而是「这东西会不会在三周后悄无声息地让某人亏钱」。知道哪个自信、整洁、所有测试都通过的答案你不该信。从来没人把这条写进我的简历。没有课程教它,没有证书,没有考试。它感觉不像一项技能,更像一种你没法向初级工程师解释清楚的直觉,无论你怎么努力。

AI 把第一份工作彻底拿走了。而因为这两者一直纠缠在一起,感觉就像它拿走了「当一名开发者」这件事。其实没有。它拿走的是生产,那是我所受训练的大部分内容,而它一根手指都没碰过判断力,因为判断力从来就不在代码里。它在我身上。

所以十年给了我一项技能,而不是十项

这才是真正让我睡不着觉的部分。

每一项我本会拿来吹嘘的技能,任何如果你问我为什么值得被雇用我会列出的东西,都是生产。是记忆。那个框架、那个正确的标志位、那个模式、那个干净的 CRUD。全都在一个下午里没了,而且做得很好。十年积累起来的东西,在一次产品更新里免费还给了所有人。

十年没有给我造出十项技能。它造出了一项。另外十九项我是从一个供应商那里租来的,而那个供应商刚刚把它们收了回去。

唯一没被拿走的东西是判断力。而让我难受的是:我从来没把它算作一项技能。它感觉像是品味。它感觉像是我本身的一部分,而不是我学来的东西。这正是为什么没有课程卖它,没有面试考它。你没法真正教会那个「不」。

我曾经引以为傲的一切,AI 现在一个下午就能做完。它唯一做不到的那件事,是唯一从来就属于我的东西。

那个让一切变得显而易见的 bug

让我说得具体一点,因为这个我是付了代价的。

多年前我上线了一条写入路径,它在真正保存那一行之前就告诉客户端「收到了」。代码很干净。真的很干净。读起来像是某个细心的人写的,因为确实是我写的。那十年里的一切都在里面:地道的写法、正确的类型、围绕它的测试、收拾得妥妥当当的错误处理。按我当时会用的每一项标准衡量,这都是我写过的最好的代码之一。

然后,在一个平常的日子里,一次重试恰好落在了最糟糕的时机。"收到"发出去了,保存却从未发生,一位付费客户被锁在了自己的账户之外,日志里没有任何记录表明他们曾经来过。先确认再持久化。

让我念念不忘的是这个。我十年的经验里没有一条捕捉到这个问题。语法完美。框架使用正确。测试全绿。那些租来的技能每一个都尽职尽责。唯一能救那位客户的,是我从未命名过的技能:看着能正常运行的代码却不信任它的本能,停下来问"好,如果这个被重试了会怎样",对自己干净利落的 diff 说不。

这段代码在所有 AI 如今能击败我的方面都拿了 A。它唯独在我独有的那件事上失败了。

说清楚一点,我不是在为另外那十九项哀悼

我也不打算开始手写 CRUD 来证明十年经验有意义。在生产环境里,周五下午 5 点的 AI 是比我更好的开发者,依赖它是完全正确的。拿走脚手架。拿走修复方案。更快地发布。这部分不是损失。

陷阱比那更安静。当一个工具包揽了你全部十九项租来的技能时,最容易得出的结论是你已经变得毫无意义,而真相更接近相反。它清掉了所有从来就不是重点的东西,让你站在了唯一是重点的那件事上。而如果你分不清哪项技能才是真正的那一项,你会在接下来的十年里捍卫它已经拿走的那十九项,而不是在它拿不走的那一项上变得更好。

所以,我现在实际会做的几件事。

我围绕那个"不"字重写简历。不是"精通[某框架]"——机器也精通那个。值得写的是那个判断性的决定:那个看起来没问题但我却不信任的 bug,那个被我毙掉的设计,那个我推翻了自己信心十足的 diff 结果证明我是对的。

我刻意让这块肌肉保持热身。在接受 AI 交给我的任何东西之前,我强迫自己大声说一句话:"这是它怎么亏钱的。"大多数时候我都说错了。无所谓。练的是那份不信任,不是抓对问题。

我不再用产出来衡量自己。代码行数、工单、交付的功能。那些现在是机器的数字,跟它比这些,就等于自愿做一个更慢的模型。唯一还属于我的分数,是我预见到而它没有的灾难。

这差不多就是我这样构建的原因

再往上一层,同样的逻辑。

我在一个智能体平台上工作,而现在整个行业都想为那个能产出的东西欢呼。看它交付了多少。但一个能产出的东西,只是在做那项已经不再稀缺的技能。无尽的产出就是无尽的输出,而没有人真正为它背书。稀缺的从来不是代码。而是有人看着代码说“不”,这是十年留给我的唯一技能。

所以我不让写代码的东西同时是给它签字放行的东西。有一个负责产出的作者,全部十九项租来的技能,廉价且无尽。有一个独立的怀疑者,其全部工作就是不信任产出并试图击破它,那个“不”拥有自己的席位。还有一个拥有人类,因为那始终是唯一属于我们的部分。作者、怀疑者、人类。这就是……的全部形态xenition,而这正是那个被锁在门外的客户教给我的。生产那个东西从来都很廉价。知道它是错的才是工作。

十年并没有让我成为一个伟大的生产者。AI 只是证明了,我从来都不必成为那样。它把我慢慢、昂贵地、一次一场灾难地塑造成的,是一个能看着某个能用的东西、然后说出它是错的人。那是唯一真正的技能,也是 AI 唯一交还回来的东西。

给评论区一个真诚的问题:在你所知的一切中,如果 AI 明天能做其余所有事,哪一项技能仍然会属于你?那项不是语法、不是框架、也不只是记忆的技能。👇