当前位置:首页>java>代码,不是目的:AI时代,程序员的重新定位

代码,不是目的:AI时代,程序员的重新定位

  • 2026-10-22 16:44:14
代码,不是目的:AI时代,程序员的重新定位


01

2024年底,一位阿里P8技术专家在公开场合分享了自己的困惑。

"前段时间,我们团队接了一个需求。我让3个初级程序员写代码,写了整整一周。后来我试了试GPT-4,10分钟生成的代码,比他们写的还好。"

"我开始慌了。如果我这么多年的技术积累,最后连AI的十分之一都不如,我存在的价值是什么?"

这个问题,不止他在问。

很多程序员,都在问。


02

要回答这个问题,我们先要理解:

代码,到底是什么?

大多数人会说:代码,是实现功能的工具。

这个答案,对了一半。

更准确的说法是:

代码,是人类意图的"有损编码"。

什么意思?


想象一个建筑师。

他画了一张蓝图,上面写着:"客厅需要足够的自然光。"

然后建造者开始施工。

但在施工的过程中,建造者会发现:如果把窗户向南偏移15度,下午的阳光会洒满整个房间。这个细节,蓝图上没有。

是蓝图错了吗?

不是。

是蓝图不可能穷尽所有细节。

在执行的过程中,建造者会做无数个微小的决策。这些决策的累积,最终决定了建筑的品质。

代码,就是这个"施工过程"。

它不只是规范的翻译,它是规范的"实现"。


或者用音乐来比喻。

同一首钢琴曲,不同演奏家弹出来,味道完全不同。

乐谱上写着"强音"、"弱音",但"多强才算强"?每个演奏家的理解不同。

有些伟大的演绎,甚至是"错误"的——演奏家偶然弹错了一个音,发现效果更好,于是保留下来。

代码也是如此。

规范说明规定了"做什么",但代码在实现的过程中,会涌现出规范中没有的智慧。


但,这只是故事的一面。


03

代码的另一个本质是:

它是一个"高压缩比、高信息丢失"的编码方式。

什么意思?

举个例子。

当你在需求文档里写"用户希望快速找到商品"。

这个意图里包含了很多信息:

  • 什么叫"快速"?1秒?3秒?
  • 什么叫"找到"?搜索?推荐?
  • 什么样的"商品"?热门的?长尾的?

但当你把这段话翻译成代码:

function search(query) { ... }

"为什么要快"、"多快算快"、"用户场景是什么",这些信息,全部丢失了。

代码,就是那个"压缩包"。


所以OpenAI说:

代码,只占程序员价值的10%-20%。

剩下的80%-90%,在哪里?

在沟通、在理解、在定义。


04

变量出现了:AI。

过去,写代码很贵。

因为需要人工手写每一行。

但AI出现后,编码的边际成本,正在趋近于零。

你写再好的代码,AI几分钟能生成一万行。

但是,理解需求、构思方案、定义成功标准,这些AI做不到。

至少目前做不到。

价值的锚点,正在从"执行端"向"认知端"转移。


2024年,OpenAI做了一件"奇怪"的事。

他们开源了一份文档,叫《Model Spec》。

里面是什么?

不是代码。是Markdown。

比如其中一条:

"不要谄媚。即使用户喜欢被赞美,模型也应该坚持事实。"

就这么一句话。没有代码。没有算法。

但这句话,指导了整个GPT-4的行为。

你想想,如果要"编码"这个意图,需要多少行代码?

1000行?10000行?

但规范说明,只需要一句话。

OpenAI想明白了一件事:

比"写代码"更重要的,是"定义规则"。


更讽刺的是什么?

现在的程序员,每天都在用ChatGPT写代码。

他们说:"你看,我让AI生成代码,多高效。"

但你知道他们做了什么吗?

他们把提示词(prompt)写得清清楚楚,然后让AI生成代码。

最后,他们把代码存到GitHub,却把提示词删了。

这就像什么?

就像你写了一份精彩的演讲稿,然后把它扔了,只保留念出来的录音。

本末倒置。


05

说到这里,你可能会得出一个结论:

既然代码只是规范的投影,那我们只要把规范写好就行了,代码本身不重要。

这个结论,对吗?

不对。

因为规范和代码的关系,不是单向的"投影",而是**"双螺旋"**。


什么意思?

有时候,规范领舞——代码忠实地实现规范的意图。

有时候,代码领舞——代码在实现过程中涌现出新的可能性,反向修正规范。


Twitter的"转发"功能,最初不在产品规范里。

它是用户自发形成的使用习惯——他们用"RT:"来转发别人推文。

这个行为,甚至可能被视为"BUG"。

但Twitter观察到了,于是把"转发"正式做成产品功能。

这是"用户行为"反向修正"产品规范"的典型案例。


更夸张的例子:Slack。

原本是一家游戏公司的内部沟通工具。因为太好用,最后游戏停了,工具变成了公司核心产品。

这个"转型",在任何产品规范里都没有。

它是"用出来"的。


所以,代码不是规范的奴隶。

代码,是规范的"实验室"。

你在代码中实验、验证、发现,然后把结果反向固化到规范中。


06

理解了这些,程序员该怎么办?

我给你三个建议。


建议一:写规范,但保持开放。

从今天开始,每次接到需求,不要急着打开IDE。

先写一份"规范说明":

  1. 我们要解决什么问题?
  2. 成功的标准是什么?
  3. 边界条件是什么?
  4. 可能的方案有哪些?

这份文档,就是你的"源代码"。

代码,只是从它"编译"出来的副产品。

但,记住:

规范不是"圣旨"。它是在代码的实验中,不断进化的。

保持开放。保持迭代。


建议二:从"编码者"变成"定义者"。

过去的程序员:

别人告诉他做什么 → 他写代码 → 交付

未来的程序员:

他和用户聊 → 理解用户真正想要什么 → 定义成功标准 → 让AI写代码 → 验证是否达标 → 根据反馈反向修正规范

前者是"手艺人",后者是"架构师"。

前者会被AI替代,后者会借AI放大自己的价值。


建议三:修炼两种能力。

第一,表达能力。

怎么修炼?

下次遇到问题,不要直接想"怎么解决"。

先问自己三个问题:

  1. 这个问题,本质上是什么?
  2. 如果我解决它,成功的样子是什么样的?
  3. 为什么这个问题值得解决?

把这三个问题的答案写下来,就是一份"规范说明"。

第二,实验能力。

写代码的价值,不在于"编码"本身,而在于"验证"。

你在代码中实验你的假设,收集用户反馈,然后反向修正你的规范。

表达式 + 实验能力 = AI时代的核心竞争力。


07

有人说,AI会取代程序员。

我觉得不会。

但它会取代"只懂写代码"的程序员。

未来的程序员,一半是工程师,一半是哲学家。

因为,定义问题的人,永远比解决问题的人更稀缺。

在AI时代,代码会越来越便宜。

但"理解世界"的能力,会越来越贵。

祝你,从编码者,变成定义者。


— 完 —

💬 可引用金句

  1. "代码,只占程序员价值的10%-20%。"
  2. "价值的锚点,正在从'执行端'向'认知端'转移。"
  3. "代码,是规范的'实验室'。"
  4. "未来的程序员,一半是工程师,一半是哲学家。"
  5. "定义问题的人,永远比解决问题的人更稀缺。"

本文根据OpenAI对齐研究团队Sean Grove的演讲《The New Code》整理改编

最新文章

随机文章