跳到主内容
创建时间:最后更新:作者:白川

用发展的眼光看 AI 编程

用发展的眼光看 AI 编程

如果你最近投过前端岗位,你多半有过这种感受:前端已死了,聊天列表都是未读或已读不回,寥寥无几的面试机会,简历上不写两三个 AI 项目好像就过不了筛选,面试官问的问题也跟以前不一样了。

在社交媒体上也会时不时刷到有关 "AI 取代程序员的消息"。

于是你开始怀疑自己:这几年攒的经验,是不是要作废了?

先别急。我要摆一份数据给你看。这份数据,既能读成坏消息,也能读成好消息。

坏消息:斯坦福数字经济实验室用美国最大薪酬处理商 ADP 的真实薪资记录(覆盖 350 万到 500 万工人)做了一项研究。结论是:22 到 25 岁的软件开发人员,就业人数比 2022 年末的峰值低了将近 20%。同期 30 岁以上的开发者,就业涨了 6% 到 12%。

好消息:同一份研究还发现,软件开发岗位的招聘总数从 2025 年 2 月底以来上涨了近 15%——而同期全市场的岗位发布是下降 7%。软件开发这个岗位本身没缩水,只是招进来的人,跟以前不太一样了。

同一份数据,有人读成"AI 把人挤掉了",也有人读成"入门岗位变少了、资深岗位变多了"。

那这两种读法差在哪?差在公司现在招人看的东西变了。以前看你"能不能把活干完",现在看你"能不能发现问题、能不能替团队拿主意"。

你的经验没过期。只是公司现在看的,是它以前不看的那一面。

1、先把问题问对

关于 AI 和就业,外面最吵的两个说法,恰恰都不准确。

第一种说法是:"AI 要取代程序员了。"

数据不支持。纽约联储 2026 年的企业调查显示,61% 的服务型企业已经在用 AI,但真正因为 AI 而裁员的比例只有 4%——而且受访者说得很直白:对已经在岗的同事,公司更倾向于再培训,而不是替换。 高盛也算过一笔账:AI 让美国每月少增了约 1.6 万个岗位,但同一时期算力基础设施建设又造出了新岗位,一进一出。

AI 确实在吃掉一些活,但吃掉的是某些活,不是整个职业。

第二种说法是:"我这种普通前端完了。"

这个也不准确,但准确起来会有点扎心。

同一份斯坦福研究里有一个特别关键的发现:受影响最重的,是拿 AI "替人干活"的场景,不是拿 AI "帮人干活"的场景。 在那些把 AI 当帮手的岗位里,年轻人的就业是持平甚至上升的。

同样是让年轻人用上 AI,AI 站在人的哪一侧,结果是两条方向相反的路:

这背后有个原因,我觉得比任何数字都值得你记住:

入门级岗位,本质上是一层学徒制。

公司招一个新人,不是为了让他第一天就写出最漂亮的架构,而是为了让他做完那些"有明确答案、边界清晰、有标准做法"的活——写样板代码、搭 CRUD、调简单 bug——在做的过程中,慢慢学会判断力。

而这批"有明确答案"的活,恰恰是 AI 现在最擅长的。

所以公司少招的,不是"初级工程师"这个职位,而是原本用来带你入门的那些简单活——那批活没了,新人就没人带、也没人敢招了。

研究里作者说得很直接:AI 替代得掉的是书本上的知识——大学里教的那套、书上写的那套;替代不掉的是没人写下来的那些经验。说人话就是:新人拿得出手的,主要是从学校和书上学的;老手真正值钱的那部分,恰恰是书上没写、只能靠亲手做过才知道的。

同一份研究里,斯坦福计算机科学家 Jan Liphardt 把它说得很扎心:三年前,毕业生一毕业就能找到入门级工作;现在,他们挤不进去了。

WARNING

但请注意一个细节:PwC 2026 年的调查发现,在那些 AI 替代风险高的入门级岗位里,要求"高级技能"的概率是普通岗位的 7 倍。

也就是说,入门岗位没有消失,它被升级了。公司还是要招人,但不再招一个只会写样板代码的人了。

这个"升级",才是你真正需要焦虑的地方——也是你真正能努力的地方。

所以,回到那个更值得问的问题。用发展的眼光看 AI,我们要问的从来不是"它会不会取代我",而是:

当 AI 编程真的足够强了,还剩下哪些问题,是它很难突破的?又有哪些问题,是它再强也突破不了的?

这四道坎,我下面逐一道给你看。搞清楚了,你就知道自己该往哪儿使劲。

2、AI 的底层,是在玩概率

关于 AI 的底层,其实只有一句话:它做的唯一一件事,是预测下一个词。

它不像人那样思考,也不像编译器那样给出一个确定的结果。它能写出能跑的代码,靠的是在海量训练里记住了代码的"语法规律"——哪种写法更常见,它就往哪种写。

它记住的只是"哪种写法更常见",具体某个项目的真实细节,它并没有真的存下来。这就推出一个结论:它存储知识的方式,一定是有损压缩。 就像把一张高清大图存成低清晰度的 JPG——大致的轮廓还在,细节已经没了。

而有损,就意味着它会在信息太少、或者信息太多互相干扰的时候,给出一个看着很像样、其实不对的答案——这就是幻觉。它会一脸笃定地告诉你:这个 API 叫 useUserProfile,参数是 userId。它不知道这是不是真的,它只是觉得这话最像它训练数据里的样子。

顺着这一点往下推,会撞上四道坎。而这四道坎,恰好就是人类能守住优势的地方。

2.1 上下文越多,它反而越不稳

这件事非常反直觉。

我们写提示词的本能是"给得越多越好"——把相关文件贴上、把历史约束抄上、把规范整段粘上。但实际效果常常是:给得越多,输出反而越不稳。

原因不复杂。给得多,模型要同时顾着的东西就多,它很容易顾此失彼。而且任务本身也长——写一个 400 行的功能,模型是一行一行接着往下写的:第 51 行接着第 50 行写,第 100 行接着前面 99 行写,它不会回头检查前面有没有写错。

这就像做一道很长的大题,而且每一步都只有一种算对的方式——没有"换个思路也对"的余地。所以中间某一步算错了,它不会停下来问你"这一步对不对",而是接着错的那一步继续算。于是你拿到的代码读起来很顺,顺的却是一条错的路:它可能从第 37 行起就歪了,只是从头到尾都很流畅,谁也看不出来。

把这个生成过程单独摊开,就明白它为什么天然接不住"回头检查"这类要求:

一行一行往前推,歪了也不会停一行一行往前推,歪了也不会停生成过程里没有回头检查这一环,所以先让它写、再让它自查,它并没有那个位置去发现前面的错写下第 1 行接着往下写第 51 行接第 50 行中间某行歪了它自己没有察觉从歪的那行继续接着错的那一步算交出一条流畅的错路通篇读下来都很顺错得早不算麻烦,错得很顺才麻烦因为没人看得出它是从哪一行开始歪的一行一行往前推,歪了也不会停

所以会出现一个看起来很反常识的结果:提示词越短、限制越少,AI 反而表现得越稳。

很多人在 Cursor 里都有过这种体会:Rules 写了一长篇,输出好像和没写也差不多。不是 Rules 没用,而是一次给它太多东西,它反而分不清哪个才是重点。

2.2 冲突是隐形的

自然语言没有长度限制,于是提示词越长,互相打架的要求出现的概率就越高。而这类冲突最麻烦的地方在于:它们不在同一条要求里,所以谁也不会提醒你。

举个前端天天会碰的例子。同一份需求,你加两条约束:

一、别过度设计,就改这个地方。 二、顺便把这个组件抽成通用的。

AI 不会回你一句"这两条是矛盾的"。它会老老实实给你做出一个既没有只改这个地方、也算不上通用的东西——因为在它眼里,这两条要求单独看都成立。

现实里最常见的这种冲突,其实来自人。比如产品经理上个月说"这个能力要通用",这个月又说"就这一页用,别抽象了"。这两句话是打架的,但很少有人会把它们写进同一份文档,所以没人发现。AI 也不会像工程师那样皱眉说"这个不合理"——它会照做。

把上面那两条约束放进同一次对话,它实际会走的处理顺序是这样的:

冲突不会被报出来,只会被各自照做冲突不会被报出来,只会被各自照做两条要求从来没有出现在同一条约束里,模型也就没有任何机会发现它们打架只改这个地方别过度设计抽成通用组件要能复用两条分开读单看每条都成立老老实实都照做不会提醒你冲突结果两边都没满足不算只改一个地方,也算不上通用要求越多,藏起来的冲突越多而每一步单看都是照做了的冲突不会被报出来,只会被各自照做

WARNING

这听上去像优点,结果却是不可预测。

不懂编程的人也许能用 AI 做出几个小玩具项目。但项目一旦要长期维护、需求一直在变,这些互相打架的要求就会越攒越多,最后变成谁都不敢碰的一团乱麻——而每一步看起来都"做对了"。

2.3 它给不了你最佳实践

如果你的项目对性能、稳定性和可维护性有硬要求,那么很遗憾:这些它给不了你。

高明的技巧、成熟的架构、项目该怎么组织的经验,基本都攥在少数人手里。而 AI 写代码的策略,永远是输出概率最大的那个答案。于是它会给你一段看起来相当不错的代码——能跑、风格统一、命名规范——但里面埋着隐患。

这些隐患有个共同特点:当场看不出来。 可能要等几个版本迭代之后才暴露,而那时候,已经没人记得当初为什么那么写了。

判断"这段代码虽然能跑,但会不会给以后埋雷",需要的是一种手感——你看到某个模式就会心里发紧的那种直觉。AI 不会在看代码的时候心里发紧。这份手感,是它把整个互联网的数据都吃完了也学不会的,因为它从来没有为一个错误的后果负过责。

2.4 同样的输入,换不来同样的结果

编程追求的是确定性的:输入 A,一定得到 B。

AI 写代码不是这样。同一个提示词跑两次,出来两个结果。既然不同,就必然有好有坏。

同一段代码,新手和资深工程师看到的,根本不是同一件事:

看的角度新手资深工程师
验收标准
页面出来了、测试绿了
三个月后还维护得动吗
代码质量
能跑就行
里面有没有埋雷
稳定性
这次没问题就行
它哪一次会发疯
时间花在
看它跑通
确认它是对的

对新手来说,"跑起来了"就是完整的成功。对资深工程师来说,跑起来和值得留下,中间隔着一整条鸿沟。

METR 找了一批资深开源开发者做过一个对照实验:同一批真实任务,随机分成"允许用 AI"和"不许用 AI"两组。结果是——开始之前他们预期会快 24%,做完之后感觉快了 20%,而仪器实际测出来的是慢了 19%。

中间那个 39 个百分点,就是资深和新手的那道鸿沟。

新手的时间都花在"看它跑通"上,资深工程师的时间都花在"确认它是对的"上。现在前者几乎不花时间了,省下来的时间全砸在"确认"上——而这正是资深工程师最值钱的部分。

3、所以,资深工程师进入了黄金时代

先说清楚:这不代表资深工程师要放弃 AI 编程。

恰恰相反,AI 时代是资深工程师的黄金时代——因为我们可以同时拥有 AI 的效率,和十几年攒下来的技术判断力。这两样凑在一起,新人无论怎么努力都追不上。

而且数据也是这么显示的:资深开发者的就业在涨,软件开发岗位的总数在涨,起薪在涨(2026 年 CS 本科起薪 81535 美元,同比 +7%),AI 支出最猛的公司反而在扩编。IBM 更是直接宣布 2026 年要把美国的入门级招聘翻三倍——因为今天的新人,就是五年后的资深。

你的经验没过期。变的是公司凭什么挑中你。

过去公司愿意为你付钱的,是写得快、API 记得多。现在这两样 AI 都能干,值不了钱了。真正值钱的是三件事:讲清楚要做什么、选出该留的方案、判断代码以后好不好改。

WARNING

这里有一个正在发生的危险。

AI 编程太顺了,顺到我们会本能地觉得思考是多余的。而新手在这种环境里,几乎不可能练出"看出坏代码"的能力——因为从来没人逼他看懂,也从来没人告诉他这里有问题。

你没法靠一个自己都没看懂的工具,练出"看懂它写的东西"的能力。

4、怎么努力,才不会被淘汰

那么,具体该怎么做?

用发展的眼光看 AI,就是先承认它确实很强,然后找出哪些活它干不了、只能人来干。

我觉得这个位置可以用一句话概括:AI 是一个效率高到惊人的施工队。它可以在半天之内把图纸变成毛坯。但图纸、验收标准,以及最后那句"这不能用,重来"——必须有人说。

换成人和 AI 的分工,它其实是一条带回路的流水线:

两端必须有人,中间才是 AI 的高效区两端必须有人,中间才是 AI 的高效区图纸和验收标准由人给,毛坯由 AI 出,不合格时还得有人喊一句重来人给图纸要做什么,不做什么AI 出毛坯半天出量,不管方向人验收三个月后维护得动吗人喊重来这道不能用,重来不合格判断力全在这两格而这两格恰好是 AI 干不了的两端必须有人,中间才是 AI 的高效区

第一,把问题定义清楚

这是老话,但它是全部前提。AI 不知道该往哪盖房子,它只会照着施工图砌墙。能清楚说出"要做什么、不做什么"的人,才真正握着方向。

这不只是"提示词工程"。它考的是你能不能把一件事讲清楚——你必须比它更清楚自己要什么,才能让它的算力真的为你所用。

这也正好是那份就业研究给出的方向:Brynjolfsson 的建议很直接,"会有效使用 AI 的年轻人,可以有高得多的产出;但如果你只是在做 AI 已经能替你做完的事,你就没有多少可增加的价值。"

第二,做那个挑方案的人

当 AI 能在几分钟内给你十种实现方式时,写代码几乎不花钱了,但"选哪一种"变成了一道难题。

我们的价值会集中在这些地方:架构怎么切、方案之间怎么权衡、哪种交互更顺、哪种取舍更符合业务实际。这些判断,恰恰是 AI 目前最不擅长的。

而"挑方案"这件事,其实只有一个具体要求:知道什么时候该拒绝 AI 的建议。研究里对"AI 熟练"的定义,早就已经从"能不能用"变成了"能不能看出它哪里错了"。

第三,把判断练成肌肉

判断力不会自动长出来,它只能被练出来。

如果你的团队里 AI 在写代码,那你至少应该做到下面这几件具体的事:

  1. 每天 review 一段 AI 产出的代码,专门找它留下的隐患。 不是看它能不能跑,是看过几个月会不会变得难改、出了问题也难查。
  2. 维护一份自己的"方案库"和"决策记录"。 同一个问题,你当初为什么选了 A 而不是 B,三个月后你还记得吗?写下来,这是 AI 拿不走的东西。
  3. 在会议上做那个"说出来的人"。 团队里最值钱的角色,是能把"我觉得这里有问题"讲清楚并给出替代方案的那个人。
  4. 每周留一段代码自己手写。 你的手感需要维护。全程让 AI 写,半年后你连"哪里不对劲"都说不出来了。
  5. 选一个行业,往深里扎。 通用软件工程师是最容易被自动化的一段;而"懂金融的前端"、"懂医疗系统的工程师"、"懂某个行业内部那套复杂规矩的人"不是。

5、最后

回到开头,面对 “AI 会不会替代程序员?” 这个问题应该有答案了。

不是 AI 淘汰了谁,是 AI 淘汰了"不会思考怎么用好 AI"这件事的人。你要努力的方向是做好 AI 方向盘的掌舵人,定方向、做选择、下判断,并使用 AI 擅长的能力把东西做出来。