返回博客

当AI学会了写代码,程序员还剩下什么

如果 AI 能写出90%的代码,那10%就是程序员的价值。

第一次用 Copilot 的时候,我盯着屏幕发了很久的呆。我写了一个函数名和几个参数,它就把整个函数体自动补全了。不是那种"猜你要输什么"的智能补全,而是真的写完了代码。逻辑正确,风格一致,连边缘情况都处理了。

那一刻我的感受不是兴奋,是恐惧。如果 AI 能写出这样的代码,我还要做什么?

这个问题困扰了我整整一个月。我试过各种方式来"对抗"——写更复杂的算法、用更小众的语言、做更底层的工作。但后来我发现,对抗没有意义。AI 写代码的能力只会越来越强,这条路是挡不住的。真正有意义的问题不是"怎么阻止 AI 写代码",而是"当 AI 能写代码了,程序员的价值在哪"。

AI 擅长什么,不擅长什么

经过大半年的实践,我对 AI 写代码的能力边界有了比较清晰的认识。

AI 擅长的事

AI 在写代码这件事上,最擅长的是模式识别和模式生成。任何已经有了大量现成示例的代码模式,AI 都能写得很好。比如:

这些代码的共同点是:它们已经有无数个版本存在于训练数据中。AI 只需要"回忆"出最常见的模式,然后根据你的上下文做微调。这个能力让人惊叹——它确实能写出 90% 的日常代码。

AI 不擅长的事

但 AI 在另外一些事情上表现得很差:

程序员的新价值:从"写代码"到"决定写什么代码"

想清楚 AI 擅长什么和不擅长什么之后,我终于明白了程序员的新价值在哪里。

以前,程序员的核心价值是把需求翻译成代码。这个翻译过程本身就是一种稀缺能力——因为需求往往是模糊的,而代码是精确的,能在这两者之间架起桥梁的人,就是有价值的。

现在,AI 已经能完成"需求到代码"的翻译了。但问题是,需求本身从哪来?哪些需求应该被实现?哪些需求应该优先实现?实现到什么程度算"够好"?

这些问题的答案,决定了代码的价值,但 AI 无法回答。能回答这些问题的,只有真正理解业务的人

所以程序员的新价值变成了这样:

需求判断

当产品经理说"我们要做一个数据看板"时,你需要判断:这个看板解决什么问题?用户真正需要的是什么?是一张实时更新的图表,还是一份每周自动发送的邮件报表?AI 能帮你把看板写出来,但它不能帮你决定要不要做、做成什么样。这个判断力,来自你对业务的理解、对用户的洞察、对技术的经验。

系统设计

AI 可以写一个功能,但它不能设计一个系统。系统设计是做边界划分、做模块拆分、做接口定义——这些决策决定了系统未来三年的演变方向。AI 没有"未来三年"的概念,它只看得到你当前的这一行 Prompt。

风险评估

资深程序员和初级程序员的区别,很大程度上在于"风险意识"。知道什么地方可能出问题、知道什么技术方案有隐藏的风险、知道什么时候该保守什么时候该激进——这些判断力来自于踩坑经验,来自于对失败模式的深刻理解。AI 没有踩过坑,它不知道什么是"痛"。

质量把关

AI 写代码的速度再快,如果没有人把关,代码质量也无法保证。把关不仅仅是"看代码有没有 bug",而是看代码是否可维护、是否可扩展、是否符合团队的编码规范、是否和现有系统一致。这些判断需要深度理解团队和项目,这是 AI 做不到的。

如何从现在开始准备

如果你是一个程序员,并且担心 AI 会取代你的工作,我的建议是:

十年前,程序员的价值是"能把代码写出来"。五年前,是"能把代码写好"。现在,是"能决定什么代码值得写"。这个转变不是坏事——它意味着程序员的角色从"执行者"变成了"决策者"。而决策者的价值,永远比执行者高。