AI 说要替代我,我说你先把这个 Bug 修了
上周我花了整整三个小时修一个 Bug。
不是什么复杂的分布式问题,就是一个 Python 异步函数在特定条件下会莫名返回 None。我把代码扔给 Claude,它给我分析了一大段,说可能是事件循环的问题。我照着改了,没解决。又问了一遍,它这次说可能是异常被吞了。我又改了,还是没解决。
最后,是我自己在凌晨十一点,盯着 await 前面那个不起眼的赋值语句,突然反应过来:这个变量根本没被初始化。
整个过程,AI 帮我分析了方向,但那个最后的”啊”是我自己想出来的。
今天早上刷新闻,看到两条几乎同时出现在屏幕上的消息。
一条是亚马逊 AWS 的 CEO 马特·加曼说,AI 不会淘汰程序员,岗位是重塑而非消失,他们 2026 年还要再招 1.1 万名软件工程实习生。
另一条是老文章的重新传播,马斯克之前说的,2026 年底编程将彻底自动化,程序员职业或不复存在。
我把这两条消息同时放在桌面上看了一会儿。
然后关掉,继续去处理一个 API 超时的问题。
我理解那种焦虑。
两年前我刚开始大量用 AI 工具的时候,也有过一种奇怪的感觉——不是担心被替代,而是担心自己变笨。Copilot 每次给我补全代码,我接受了,省了时间,但脑子里有个声音在说:这行代码你自己能写出来吗?
后来我刻意测试了一下。在一个周末,关掉所有 AI 工具,纯手写一个小工具。结果写得比以前慢,但写出来了。思路是完整的,只是手速和 AI 辅助状态下没法比。
我当时得出一个结论:AI 工具让我的执行速度变快了,但核心的思考能力——理解问题、拆解问题、决定解法——这部分没有退化,可能还因为省下来的时间花在了更难的事情上,反而锻炼了。
但我不想说”程序员不会被替代”这种宽慰性的话。
说实话,有些工作确实在消失。那种接需求、翻文档、拼接 CRUD 代码的工作,AI 已经做得比一般初级程序员好了。我见过一些对口的外包小活,现在基本不再需要人来做了。
亚马逊 CEO 说的”岗位重塑”是真的,但重塑这个词很模糊。它意味着有些人会顺利进入新的岗位需求,也意味着有些人会在这个过渡期里掉队。
我自己这两年的变化是:写代码的时间少了,但想代码的时间多了。以前我可以花一下午写一个模块,现在我把写代码的时间交给 AI,自己去想清楚这个模块应该是什么样的、边界在哪里、失败了怎么办。
这个变化不是什么高大上的”角色升级”。更现实的说法是——AI 把程序员的工作中枢从手移到了脑子。
修那个三小时 Bug 的故事还有后半段。
那天修完以后,我顺手在注释里写了一句话:# 这里必须先初始化,异步函数不会帮你检查。
我知道这句注释 AI 很可能会在下次 Code Review 的时候读到。
某种程度上,我在给 AI 留学习材料。
这个感觉挺奇怪的。以前是前辈在代码里留坑和注释,让后辈学习。现在我在给一个工具留下我踩过的坑的记录,而这个工具下次遇到类似问题,会给另一个程序员建议时,可能会用上我这段经历。
不知道这算传承还是别的什么。
对于那个”AI 会不会替代程序员”的问题,我现在的答案是:这个问题本身问偏了。
更值得问的是:你是那种”翻文档拼代码”的程序员,还是那种”理解问题设计系统”的程序员?
前者的压力在变大,因为 AI 把这层工作做得越来越好。后者的需求在增加,因为工具越来越强,需要人来判断用在哪、怎么用、别用烂了。
但这两种程序员之间的距离,不是什么技能认证考试能缩短的。是靠一个个真实项目、一个个搞不定的 Bug、一次次被需求推着想清楚问题,积累出来的。
AI 加速了很多事情,但这个积累的过程它没法替代。
那个 None 的 Bug,最后我在提交信息里写的是:
fix: async fn missing init for result var
十一个字。背后是三个小时,和两年用 AI 工具的经验一起叠加的判断力。
马斯克说的不一定错,亚马逊 CEO 说的也可能是真的。但对我来说,明天还有一个功能要上线,有个接口的文档写得语焉不详,有个同事昨天发了条消息说他那边的测试一直跑不通。
AI 替代不替代,过几年再说。这些事得今天搞定。