写在前面:这不是一篇鼓励你"拥抱AI"的营销文章,也不是贩卖焦虑的末日预言。
这是一个写了十年代码的人,在某个深夜盯着 Cursor 自动补全完整个函数之后,认真问自己的一个问题。


那一夜,AI 写完了我的代码

去年年底,我在赶一个需求——一个中等复杂度的数据处理模块,按我过去的速度大约需要半天。

我打开 Cursor,描述了一下需求,它给我写出了 80% 的代码。剩下的 20%,我花了不到一小时补完、调试、上线。

那一刻我没有感到兴奋。

我感到的是一种说不清楚的空洞感

不是因为 AI 写得不好,恰恰相反,它写得相当不错。我空洞,是因为我突然意识到:那 80% 的工作,我已经做了将近十年了。


我们到底在卖什么?

做程序员这行,大多数人从没认真想过这个问题。

我们以为自己在卖技能——写代码的能力、熟悉某个框架、掌握某种语言。这个认知在过去二十年里运转良好,因为"能写代码"本身就是稀缺资源。

但 AI 正在把这个稀缺性快速抹平。

GitHub Copilot 的数据显示,接受 AI 建议的代码已经占到部分开发者日常提交的 40%–50%。更激进的数据点:在某些重复性较高的业务代码场景,这个比例超过 70%。

这不是未来,这是现在。

所以问题变成了:如果"写代码"不再稀缺,程序员在卖什么?

我想了很久,得出了一个也许不那么讨喜但更接近真相的答案——

我们在卖判断力。


AI 擅长什么,不擅长什么

在讨论程序员的价值之前,必须先冷静地看清楚这个工具的边界。

AI 真正擅长的事

  • 已知模式的实现:CRUD、REST API、常见算法、标准数据结构——这类有明确"正确答案"的代码,AI 写得又快又好
  • 代码翻译与重构:把 Python 改成 Go,把过程式代码改成函数式,把旧接口适配新接口
  • 样板文件生成:配置文件、测试用例模板、文档初稿
  • 已知错误的修复:错误信息清晰、Stack Overflow 上有大量案例的 bug,AI 通常一眼能看出来
  • 代码解释:把陌生代码翻译成人话,效果往往比资深同事讲得还清楚

AI 真正不擅长的事

这里是关键,也是我们需要认真思考的地方:

  • 理解"为什么做"而不仅仅是"怎么做":AI 可以实现任何你描述的功能,但它不知道这个功能是否应该存在
  • 在模糊中做决策:真实的业务需求往往是矛盾的、不完整的,需要人去厘清、取舍、推动对齐
  • 跨系统的全局视角:理解技术债、系统演化路径、各个历史决策背后的上下文
  • 识别"这个需求本身有问题":有时候最正确的程序员行为是拒绝实现某个需求
  • 在不确定性中信任自己的直觉:当所有指标都说"可以上线"但你就是觉得哪里不对

十年教会我的事,AI 还没学会

我做过最有价值的几件事,没有一件是写代码。

第一件事:在一次需求评审上,我指出某个"优化用户体验"的功能改动,会导致一批老用户的操作习惯被打断,而这批用户恰好是营收贡献最高的 20%。产品经理当时很不开心,但后来这个功能被推翻重做。

第二件事:我们的系统曾经有一个"运行好好的"定时任务,没有人敢动,文档全无。我花了三天把它彻底读懂,发现它有一个隐藏的竞争条件,在流量低的时候不会触发,但每逢大促必然出问题。在它造成事故之前,我们重写了它。

第三件事:一个新同事提出用某个时髦的新技术重写核心模块,理由充分,Demo 也跑通了。我说不行,因为那个技术的社区在萎缩,三年后会是麻烦。我们没有重写。两年后,那个技术的主要维护者宣布停止更新。

这三件事有一个共同点:它们都需要上下文、经验和判断,而不是执行能力。

AI 在这三个场景里帮不上多少忙——不是因为它不够聪明,而是因为这些判断所需要的信息,大部分存在于系统之外:组织的历史、人与人之间的博弈、行业的走向、那种"感觉不对"的直觉。


程序员价值的三个层次

我现在认为,程序员的价值可以分成三个层次,AI 的冲击力在每个层次是不同的。

┌─────────────────────────────────────────────┐
│  Level 3 · 系统思维层                         │
│  架构决策 · 技术战略 · 工程文化                 │
│  AI 冲击:★☆☆  人的判断力不可替代             │
├─────────────────────────────────────────────┤
│  Level 2 · 问题理解层                         │
│  需求分析 · 方案设计 · 权衡取舍                 │
│  AI 冲击:★★☆  AI 可以辅助,但人要主导         │
├─────────────────────────────────────────────┤
│  Level 1 · 代码执行层                         │
│  写代码 · 调 bug · 写测试 · 写文档              │
│  AI 冲击:★★★  正在被深度替代                  │
└─────────────────────────────────────────────┘

大多数程序员花 80% 的时间在 Level 1,偶尔触及 Level 2,很少主动思考 Level 3。

AI 的到来,正在把 Level 1 的时间成本压缩到接近零。这不是威胁,而是一个信号:你现在必须在 Level 2 和 Level 3 上证明自己的价值。


不要误解"AI 工具用得好"这件事

我见过一种危险的认知:认为"AI 时代程序员的核心能力就是会用 AI 工具"。

这话只说对了一半。

会用 AI 工具,是 2025 年的基础门槛,就像会用 Git 是 2015 年的基础门槛一样。门槛不是护城河。

如果你的核心竞争力是"我的 Prompt 写得比别人好"——那你确实危险,因为这个能力的门槛会随着 AI 越来越"聪明"而持续下降。

真正值得培养的,是用 AI 放大之后依然有差距的能力:

  • 业务理解的深度:你比 AI 更懂这个行业、这家公司、这个用户
  • 系统演化的直觉:你能预判三年后这个决定会带来什么麻烦
  • 跨边界的沟通能力:在技术与业务之间做翻译,在团队中建立共识
  • 对"够好"的判断:知道什么时候应该停下来,什么时候值得再打磨

这些能力,AI 是放大器,不是替代品。


一个残酷的现实

我必须说一个很多人不愿意听的事情。

不是所有程序员的价值都值得被保留。

如果你过去十年做的事情,主要就是:按照设计稿写页面、把产品文档翻译成 CRUD 接口、复制粘贴 Stack Overflow 的答案——那 AI 确实正在替代你做的这些事情,而且替代得很好。

这不是程序员群体的问题,而是任何行业的通用规律:重复性强、模式固定、不需要上下文判断的工作,都会被自动化。

十年前被自动化的是流水线工人,现在轮到部分脑力劳动。

承认这一点不是投降,而是起点。


那我们应该怎么办?

说了这么多问题,我不想给出一个"五步走向AI时代赢家"的操作清单,那类文章已经够多了。

我只想说三件我自己正在做的事:

1. 把 AI 省出来的时间,投入到理解"为什么"

每次 AI 帮我完成了一段代码,我不是直接提交,而是多问一句:这个功能为什么会存在?谁在用它?它解决的真正问题是什么?

这个习惯让我开始真正理解我维护的系统,而不只是会写它。

2. 主动走出代码编辑器

和产品经理聊用户调研,去看看客服的投诉记录,参加一次销售的客户会议。

程序员长期待在编辑器里会形成一种"代码即世界"的幻觉。打破这个幻觉,你才能看到代码之外那些更有价值的判断空间。

3. 重新定义"做完了"

以前"做完了"是代码跑通、测试通过。

现在我给自己加了一个问题:这个功能上线之后,会发生什么?三个月后,一年后?

这个问题没有标准答案,但经常问,会让你开始从系统视角看问题,而不是任务视角。


写在最后

AI 没有让我觉得自己不重要。

它让我意识到,我过去的很多时间,花在了一些确实不那么重要的事情上。

这是一种痛苦的清醒,但也是一种礼物。

当那些可以被替代的工作被替代之后,剩下的,才是我们真正值钱的地方:对复杂问题的理解,对不确定性的容忍,以及对人和系统的持续好奇心。

这些东西,不是 AI 教不了你,而是它根本就不在乎。

而我们在乎。

这就是我们的价值。


Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐