前几天,我看到一个有趣的对比:

一个初级程序员用 AI 一小时写了 2000 行代码,而一个资深架构师花了一周时间,只画了 几张架构图

谁的效率更高?

如果放在五年前,这个问题几乎不需要思考。能写代码的才是真本事,画图不过是纸上谈兵。

如今呢?

2000 行代码,AI 可能只需要几分钟。

而那几张架构图背后,是一个工程师 十几年踩过的坑交过的学费、对业务本质的深刻理解。

这不是在说代码不重要。代码是实现想法的工具,这一点从未改变。

但这个故事让我们不得不思考一个更本质的问题

当 AI 已经能高质量地完成"写代码"的时候,人的价值到底在哪里?

答案或许有点怪:AI 能写代码,但它决定不了代码往哪走。

AI 的能与不能

先承认 AI 的强大。

现在的 AI 编程工具已经可以做到很多事情:

  • 根据需求文档生成完整的函数实现
  • 自动修复 bug 并给出解释
  • 帮你重构一段混乱的代码
  • 根据描述生成一整个小型项目

在很多场景下,AI 生成的代码质量已经不亚于一个有 几年经验 的开发者。

这挺厉害的。但如果我们仔细观察,会发现一个有趣的现象,

AI 所有这些能力的边界,都被一条看不见的线约束着。

这条线,就是 方向

举几个例子你就明白了:

你让 AI 写一个用户登录功能,它能写得很好。但你问它"我们的产品应该用 手机号登录 还是 邮箱登录",它给不出有意义的答案。

你让 AI 优化某个接口的性能,它能给出十几种优化方案。但你问它"我们应该 先优化这个接口,还是把 资源投到新功能开发 上",它只能泛泛而谈。

你让 AI 实现一个推荐算法,它能实现得相当专业。但你问它"推荐算法带来的 体验提升,和它带来的 隐私风险,怎么平衡",它能做的只是罗列利弊。

这并不是 AI 的缺陷。这是 AI 的本质——

它是一个极其强大的工具,但工具本身不产生目的。

代码背后的"为什么"

每个写进代码库的决定,背后都有一个 "为什么"

  • 为什么选择 这个技术方案 而不是那个?
  • 为什么这里要用 异步处理 而不是同步?
  • 为什么把 缓存 放在这一层而不是那一层?

这些问题没有标准答案。

它们取决于 业务的优先级团队的现状用户的特征公司的战略,甚至取决于你对"好代码"的定义。

而这些"为什么",恰恰是 AI 最难介入的领域。

不是因为 AI 不够聪明,而是因为这些问题的答案,往往不在代码里,也不在文档里,而在 人的脑子里——

在无数次和业务方争吵后的妥协里,在凌晨三点排查故障后的顿悟里,在看着用户用脚投票后的反思里。

AI 可以帮你写出"正确"的代码,但它无法帮你判断这段代码对于你的业务来说是否是 "合适" 的。

决定方向是一种稀缺能力

如果我们把软件开发拆解成两个层面:

第一个层面是 "怎么做" ——给定一个明确的目标,用代码实现它。

第二个层面是 "做什么"和"为什么做" ——决定我们要解决什么问题,为什么要解决它,以及应该用什么方式解决。

在过去,这两个层面往往是交织在一起的。你要成为一个合格的程序员,不仅要会写代码,还要理解需求、权衡取舍、参与决策。

但 AI 的出现,第一次让我们有机会把这两个层面相对清晰地分开。

"怎么做"这件事,AI 正在以惊人的速度接管。它学得很快,而且不知疲倦。

"做什么"和"为什么做" ,依然是 我们的领地

而且,随着"怎么做"变得越来越容易,后者反而变得越来越重要。

这有点像驾驶的进化。

自动挡出现的时候,很多人觉得驾驶变简单了。但实际上,真正决定你能不能安全到达目的地的,从来不是你踩油门的力度有多精准,而是你知不知道应该在 什么时候踩油门什么时候应该刹车什么时候应该绕路

会踩油门的人很多,知道往哪开的人很少。

程序员的新定位

这给码农这个职业提出了一个尖锐的问题:

如果 AI 能写代码,那我们的核心价值是什么?

我的想法是:成为那个决定"代码往哪走"的人。

这意味着你需要培养几种 AI 很难替代的能力:

第一,理解业务本质的能力。

你不仅要知道代码怎么写,还要知道这段代码在解决什么问题,这个问题为什么重要,谁会从中受益,不解决会有什么后果。

这种对业务本质的理解,是任何 AI 工具都 无法给你 的。

第二,权衡取舍的判断力。

软件工程本质上是一门关于 权衡 的艺术。

时间与质量的平衡,简单与扩展的取舍,性能和可维护性之间的拉扯。

这些没有标准答案,需要结合具体场景做出判断。AI 可以给你数据和建议,但 最终拍板的还是人

第三,定义问题的能力。

爱因斯坦说过:

"如果给我一个小时拯救世界,我会花 55 分钟定义问题,花 5 分钟解决问题。"

在 AI 时代,这句话显得格外重要。

AI 擅长 解决问题,但不擅长 定义问题。当你能够清晰地描述一个问题,你就成功了一大半。而这种定义问题的能力,来自于对业务、对用户、对技术的深刻理解。

第四,做难而正确的选择。

有时候,正确的事情不一定是最快出成果的。有些技术债务必须还,有些架构必须重构,有些坑必须填。

这些活儿不会给你带来即时的成就感,但 不做只会越来越难走

AI 可以帮你做得更快,但 要不要做,只有你能决定

人机协作的新时代

最好的图景,是 人机协作各展所长

AI 负责:代码生成、语法检查、简单 bug 修复、技术文档撰写——这些 重复性、模式化 的工作。

人类负责:需求分析、架构设计、技术选型、复杂问题定位——这些需要 洞察、判断、创意 的工作。

在这种分工下,人类不是被 AI 取代,而是从 "写代码的人" 升级为 "指挥代码方向的人"

这个转变并不容易。

它要求程序员不仅仅会写代码,还要懂业务、懂用户、懂产品、懂商业逻辑。要能够回答" 我们为什么要做这个功能",而不只是"这个功能应该怎么实现"。

说到底,这其实对程序员提出了 更高的要求,而不是更低的要求。

写在最后

AI 能写代码,这件事已经成为现实。它会越来越强,这是趋势。

但代码从来不只是关于代码。

代码是 思想的载体,是 业务的映射,是 人与人之间协作的桥梁。每一行代码的背后,都承载着某种意图、某种选择、某种价值观。

这些东西,AI 写不出来。

所以,不必焦虑 AI 会不会取代你。

你写的代码,有往"对"的方向走吗?

如果你能回答这个问题,并且答案是肯定的,那 AI 时代对你来说,不是危机,而是杠杆

你会多一个不知疲倦的帮手,把你从重复劳动中解放出来,让你有更多时间去思考那些真正重要的问题

代码,应该往哪走。

我是博远,10 年架构师,持续分享 AI 时代的编程实战与思考。