周四下午,我和团队里一个入职八个月的年轻人结对写代码。他属于那种会认真读代码、而不是直接复制粘贴的类型。我们让AI生成了一段逻辑,几秒钟就返回了,干净、类型完整,而且已经通过了他自己写的测试。
他准备采纳。我说:“别,先别提交。”
他停下来,又看了一遍代码,看了看我,然后问了一个再合理不过的问题:“等等——你是怎么知道那是错的?”
我张嘴想解释,却什么也说不出来。我知道它错了,但我说不清是怎么知道的。
十分钟后,我们证明了那段代码确实有问题
这不是什么戏剧性的bug,也不是什么惊心动魄的故事。那个diff是错的,我的判断是对的,十分钟后我们验证了这一点。这部分没问题。
有问题的是,我完全不知道该怎么告诉他我到底做了什么。我没有跑检查清单,没有指出某一行对应某条规则。是它的某种“形状”让我后颈发凉,而我在很多年里学会了信任这种感觉。但“相信后颈发凉的感觉”这件事,没法交给一个还没长出那根神经的人。
我还是试着解释了。我说它感觉不对,错误路径看起来太顺了,我想知道如果这段逻辑被调用两次会发生什么。这些都对,但对他都没用——因为每一条都是结论,而他要的是方法,我没有方法。我有的是一道疤,在我读完代码之前就已经触发了。
这才是我后来一直琢磨的事:不是我教不了他,而是我一天里最有价值的那件事,恰恰是我最不知道该怎么传递的。
“资深”这个词里,其实捆着两样东西
很多年里,我以为资深就是一堆知识的积累。其中一部分确实是,而那部分我能教。“在边界做校验。”“别信客户端的时间戳。”“把外部调用包起来。”这些是规则。我可以写在白板上,他周五就能掌握。说实话,AI已经掌握了所有这些规则,而且执行得比我更稳定。
但我周四做的那件事不是规则,恰恰是规则的反面。它是在一个干净、满足双方能说出的所有规则的diff面前,知道它仍然有问题。规则告诉你该检查什么,而另一样东西告诉你:在所有检查都通过之后,继续看下去。一个是知识,另一个是判断力,而我从来没能把它变成能传递给一个还没“挣到”它的人的话。
判断力不是学来的,是熬出来的——这正是我无法把它交给他的原因。没人教过我周四做的那件事。没有课程,没有证书,没有哪个前辈坐下来跟我讲。我获得它的方式,我想也是所有人获得它的方式:我在一件重要的事上自信地错了,当着为此付出代价的人的面,那一课就被焊了上去。
那种发凉的感觉,其实有明确的来源
让我说得具体一点,因为我能把那次条件反射追溯到源头。
多年前,我上线过一条写入路径,在数据真正落库之前就告诉客户端“收到了”。代码很干净,是真的干净——符合习惯、类型完整、有测试、错误处理也周全。读起来像是一个细心的人写的,因为我确实细心。按我当时知道的所有规则,它都是正确的。
然后在一个普通的日子,一次重试恰好落在了最糟糕的时刻。“收到了”发出去了,保存却从未发生,一个付费客户被锁在了自己的账号外面,日志里没有任何记录表明他曾经来过。先确认,后持久化。那通电话我至今还能感觉到。
这就是源头。当我看着周四那段diff、后颈发凉时,我并不是在跑什么算法,而是在拿那位客户做模式匹配。AI的干净代码,看起来和我当年那段干净代码一样正确——直到它让某个人失去了账号。那次条件反射,就是那位客户,被压缩进半秒钟,焊在了我的神经系统上,用的是那一年最糟糕的一个夜晚。
所以当那个年轻人问“你是怎么知道的”,诚实而完整的答案是:四年前凌晨两点被我锁在门外的那个人教会了我,而我不知道怎么在没有那个人的情况下把这件事给你。你没法靠讲课让人长出那种条件反射,你只能倒霉足够多次,让它自己长出来。
真正让我害怕的部分
二十年来,这种条件反射有一条可靠的供应链。你靠苦干获得它——自己写生产代码、发布它、在它出问题时守在现场。小的失败不断累积成判断力,不管你想不想要。你没法跳过苦干,也就没法跳过那些疤。
再看看我们刚刚对这条供应链做了什么。
那个年轻人不再写生产代码了。AI来写,而且写得很好,我很高兴——打字从来不是最难的部分。但打字、发布、出错、凌晨两点的电话:这整套机制,曾经是把一个新人变成我的方式。我们不只是自动化了无聊的部分,我们自动化了那座熔炉。我获得判断力,是因为我必须亲手去做那些AI现在替他做的工作,在他还没感受到出错之前。他第一天就拿到了干净的输出,永远不必去“挣”那根神经。
于是,在AI时代幸存下来的那项技能——唯一的一项,那个“不”——也恰恰是AI悄悄停止在下一代身上制造的那项技能。机器可以把代码交给他,却无法把疤交给他,而疤才是老师。
说清楚,这不是“让新人受苦”
我不是在浪漫化痛苦,也不是说要把AI撤走、让他手写CRUD直到流血。那是照猫画虎的师徒制——受苦从来不是重点,后果才是。我整天都在用AI,绝不会回头。问题不在于他过得太轻松。问题更窄、也更怪:我们移除了那个曾经生产判断力的东西,却没有用任何东西去替代它。
所以真正的问题不是“AI会不会取代工程师”。真正的问题是:当那台机器替我们完成了所有会制造判断力的苦活,下一代工程师的判断力,从哪里来?
热门跟贴