AI时代程序员的护城河
AI 把学习的门槛降下来了,也把学习的收益一起降了下来。学会三件套也只能说出「帮我检查有没有冗余」这种话,要学到能说出不一样的东西,中间是一段很长、几乎没有反馈的路。这篇主要写这一路上的痛苦和焦虑:只有采药人看得见的根、空中楼阁一样的心智模型、被火车拖着走、狼可能永远不来、被抽掉的中间台阶。最后那点「解脱」只是我现在能说服自己的几条,当参考就好。
最近工作上比较空闲,我突然开始思考用闲下来的时间应该学些什么。我把自己需要学的或者说想学的都列举一下,发现根源上最终只有两个
1、梳理复杂的业务流程,组件与数据库之间的关系(整个前后端的)
2、学习后端知识框架,当架构师
其他被我排除的选项:
1、线上问题的排查与总结
理由:处理线上问题不计入KPI,不会的可以找同事一起看,而且大部分都是AI在跑,就算弄得很熟练了也不会增加自己对项目的认知
2、开发任务
基本上我们现在所有的开发都是让AI在跑了,如果不去梳理梳理整个业务流程,开发水平无法得到巨大的提升,大家都是半斤八两。提示词水平我自认为是不缺的
3、测试任务
测试纯属浪费时间,安排给我很多测试任务,就算没有测试出来也不是我们的问题,肯定是相应模块开发者的问题。而且测试覆盖度太高了,要真的测下来要累死了。我们只要保障自己的模块不出问题即可,我又不是测试不用给测试负责
但是当我开始这两项工作之后,我感受到了AI时代对程序员的恶意,或者说对我们学习的恶意!
至于怎么解脱,我自己还没有更好的办法,这里就讲一下我对AI时代的思考吧,谁也无法判断AI时代的最终走向,所以永远不会有正确答案
备注
一个月前我写《AI 时代学习的新范式》的时候还挺乐观,觉得AI帮我们学习技术很爽,其实学起来之后就会遇到这一篇文章的问题
学习的收益被抽走
AI 降低了学习的门槛,但同时也降低了学习的收益。
拿前端三件套举例(这里只说这三个,就当前端框架/架构不存在来讨论问题,不复杂化)。HTML、CSS、JS 现在用 AI 学起来非常快,它还会教你很多老教程里没有的现代写法。可一到真正开发的时候,你会发现自己很难把学到的东西用上。你给 AI 的仍然是产品级别的描述,它写出来的代码,你很难给出代码级别的建议,当然也不是因为AI写的足够好了,你懒得看代码。而是AI写的代码实在是太多了很难审阅,也很难找到你觉得可以优化的地方,审阅价值太低了。
你能给AI说的大概也就是:
帮我检查一下刚刚的提交里面有没有冗余的 JS,能用 CSS 替代的就替代,或者简化一下实现方案。
这种话,没学之前你也能说!哪怕三件套学到全部熟练,你提的意见和学之前也没什么区别,甚至还不如 AI 自己想得周全。
只有学到很边缘、很深的地方,你才会开始考虑别的东西:浏览器的渲染和重绘、transform 和 absolute 动起来时代价有什么不同、虚拟列表、Canvas 绘制、该用 WebGL 还是 DOM、懒加载、SSR 和 SSG 怎么选。到了这一步,你说出来的话才和最初不一样。
可是从三件套到这些细节,中间有很长一段路,意味着很长时间的延迟满足。
| 以前 | 现在 | |
|---|---|---|
| 记住语法 | 有用,写得出来就是本事 | 几乎不值钱,AI 张口就来 |
| 熟练运用 | 能干活,能拿工资 | AI 全覆盖,你和它没差别 |
| 学习中间 | 一路都有小反馈 | 一段很长的空白 |
| 底层的理解 | 锦上添花 | 唯一能和 AI 拉开差距的地方 |
我自己就是现成的例子。这个博客顶栏的收缩动画,我能说的只有「不丝滑」「变成圆的时候卡一下」,AI 前前后后改了好几版,最后查出来是动画没跑在合成线程上、两段过渡靠定时器接力。这些东西,靠我自己是说不出来的。整个过程里,我的角色就是一个会挑刺的用户。
提示
Claude居然是这么看待我的!我纯粹懒得看实现代码,AI这么厉害肯定能找到问题的,如果找不到那就换个AI
如果全程用 AI 做前端,这些都不学,说实话大部分场景下做出来的产品也不会比一个前端差。那学习的意义是什么呢?
采药人看得见根
我想到一个场景。
你和一个采药人一起上山。你可以用 AI 识别各种植物,知道哪些果子能吃,他也可以和你一样用。但他知道,很多药材值钱的不在地面上,是埋在土里的根。他会蹲下来问这棵植物的根能不能入药,而你的眼睛只看得见地表以上的果子。
心理学里有一张很有名的图,叫乔哈里视窗(Johari Window),原本讲的是「自己」和「别人」各知道些什么。把「别人」换成 AI,正好能说清楚这件事:
学三件套,学到的基本都落在左上角的开放区里:你会的 AI 全会,所以学了和没学差别不大。采药人的本事在左下角的盲区:那些东西 AI 其实也知道,可你不知道有这回事,就问不出来,它也不会主动告诉你。
AI 能回答你问出来的问题,但它回答不了你意识不到的问题。
页面卡了,我只能说「滚动有点卡,帮我优化一下」,AI 大概率给我加个防抖节流。懂渲染的人一眼就知道问题不在 JS 算得多,而在某个属性动起来逼着浏览器每一帧重新排版,他的提问自带答案。
心智模型是空中楼阁
所以就得往下学,可往下学这件事在 AI 时代变得更痛苦了。
1、反馈更难得到了。漫长的学习内容几乎都在 AI 的知识范围内,你学到的每一样它都会,超出它认知的那部分很难获取,获取了也很痛苦。
2、成就感被稀释了。以前花两个小时跑通一段代码,是实打实的「我做到了」。现在 AI 一秒钟就生成一份更规范的,你的心血换来的东西没有任何独占性。
3、人不像 AI。我们搭心智模型得从底层开始一块一块垒。不去学 Vue 的语法,不实际写几个项目,你敢说自己完全懂了Vue这套架构模型?没写过就去理解,就像空中楼阁,没有基石,不踏实,既片面又不完整,你就更没有自信说自己真的会了。
第三条是最难受的。心智模型不是灌进脑子里的,是被 bug 折磨出来的。没为一个莫名其妙的定位问题抓狂过一整个下午,就很难真正明白那条规则为什么要那样设计。看懂了 AI 的解释,不等于真的懂了,只有你真的被这个问题折腾了,才真的理解
时间不等人
再把时间成本加进来,事情就更难了。
人心浮躁,社会发展飞快,时间不会等你从底层开始慢慢学。工作要的是按时交付,没人会给你半年时间脱产去啃渲染管线。而你慢慢往下挖的这段时间里,AI 可能又更新了两代。
这不是夸张。我在《AI时代的净土》里按自己的体感把 AI 写代码分成了三个阶段,回头一看,三个阶段加起来都不到三年:
| 阶段 | 大概的时间 | 人在干什么 |
|---|---|---|
| 问答 | 2022 年底 ChatGPT 出来,2023 年 GPT-4 | 在网页和编辑器之间复制粘贴、贴报错 |
| Cursor | 2024 年前后 | 盯着 AI 改的每一处 diff,逐块审阅 |
| 接管 | 2025 年 Claude Code、Codex | 拆任务、开几个窗口并行、验收结果 |
每升级一次,上一个阶段攒下来的那套本事就贬值一次。复制粘贴的熟练度,到了 Cursor 就用不上了;逐行审 diff 的耐心,到了第三阶段也退到了边缘。一套做法刚练熟,就被换掉了。
被火车拖着走
我觉得现在的处境像这样:AI 是一列火车。
被火车拖着跑,会受伤;坐上火车很舒服,但完全锻炼不到自己,一旦车停下来,连路都不会走了;在车上找个角落锻炼,算是折中,可谁也说不准这点锻炼将来有没有用。
学技术也越来越像健身。
健身的人和不健身的人都有长寿的;它是一件长尾、延迟满足的事,要很久才能看到效果,还得一直坚持才能维持;就算练出了好身材,也很难看到立竿见影的收益,它只是提高了你的抗风险能力,生病的时候扛得住一点。
以前学技术像买理财,投入时间,工资和效率上马上能看到利息。现在这个规则被AI打破了,学习退化成了一种技术维护,做了未必有回报,不做也未必立刻出事。
但这里有一个更狠的问题,上面这些说法,前提都是「万一哪天 AI 靠不住了」:模型出错、断网、AI 停车。可从现在来看,AI 必定会继续发展,就像互联网一样。如果车永远不停呢?
为一个可能永远不会来的风险,花掉自己最宝贵的青春时间,这件事本身是不是更让人焦虑?
历史上确实有大量精妙的手艺最后变成了尘埃。当年为了兼容 IE6 背下来的那一堆 CSS hack,今天一行都用不上了。谁能保证我现在啃的东西不是下一个 IE6 hack?
被抽掉的台阶
AI 举过一个例子:当年从汇编过渡到 C 语言,汇编大师们也嫌 C 臃肿、没法精确控制每一条指令,最后胜出的是愿意把注意力往上挪的那批人。机器拿走了体力活,人就去做更高层的系统组织。
道理我都懂,但我觉得现在和那时候不一样!
人天生就有逻辑,条件、循环、分支这些东西上来就能学,C 语言写的就是这些,人很容易就能搭起一张逻辑网。再往上,现代框架是为了解决系统耦合才出现的,也可以从一个个代码块慢慢理解到一套框架。每一步都有台阶。
可现在 AI 直接把人推到了整个应用系统的层面,不是一套技术框架,是很多套框架拼起来的整体,等于逼着人去当系统架构师。这个层次的学习成本非常高,高到有时候连技术更新的速度都跟不上。从前的人是写了上万行代码、踩了无数次线上事故,才把经验磨成架构直觉的;现在中间这段台阶被抽掉了,就像刚学会骑自行车,就让你去调度一整张高铁网。
相比之下,基于表象的应用开发就简单得多,也能发挥出 AI 的一部分水平。于是大多数人自然就停在了表象这一层。
不甘心
可我不甘心只做一个表象开发工程师。
当门槛被彻底抹平的地方,人力就会变成无限供给,不值钱。只会拿通用提示词拼界面的人,下一代模型出来,大概就是第一批被淘汰的。我也想有自己的技术壁垒。
我把这个想法告诉 AI,它给我列了四道「纵深阵地」:浏览器运行时和性能分析、CRDT 和本地优先的一致性模型、WebGPU 和 WebAssembly 这类重型计算、从 DNS 到 QUIC 的全链路网络和安全。
我看完问他:这些学习成本是不是太离谱了?
它马上改口,说这是一种「精英主义式的技术恐吓」,就像要求普通木匠去考材料力学博士。
所以其实连AI都无法缓解你的焦虑,实际上所有技术都是会衰减的。
这让我想起之前写《股票市场量化系统真相》时记下的一个概念:
一个策略被越多人发现和使用,超额收益就越快归零。这叫 Alpha 衰减(Alpha Decay)。
规律还在,但套利空间已经被消灭了。
技术也是一样。一项技术会的人越多、AI 学得越透,它能带来的「超额收益」就越快归零。三件套当年也是一门手艺,现在已经被 AI 定价完了;上面那四道纵深阵地,今天看着是壁垒,等下一代模型把它们也学透,同样会衰减。技术本身还在,只是靠它拉开的那点差距没了。
所以根本不存在一劳永逸的护城河,AI 给不了,谁都给不了。
提示
其实我不太是一个悲观的人,不然我不会积极思考,学习,创作。
但是很多时候事情的真相总是让人不寒而栗,或者说真相总是悲观的,和人们期望的美好生活有很大的差异。
想起鲁迅在《记念刘和珍君》里的一句话:真的猛士,敢于直面惨淡的人生,敢于正视淋漓的鲜血。
还有罗曼·罗兰的那句:世界上只有一种真正的英雄主义,那就是在认清生活的真相后依然热爱生活。
参考建议
下面不是正确答案,只是我能想到说服自己的几条,写下来给自己,也给同样焦虑的人当个参考,希望能帮到同样忧虑的你:
1、把学习当健身,别当理财。不指望它立刻兑现,也就不会因为没兑现而失望。但同样,健身不需要练成运动员,不用为了「万一」去自虐,啃那些八竿子打不着的东西。
提示
学习就当乐趣别太功利,谁也不敢说自己学的有价值
2、让事件驱动。我想起之前看很多别人做的优秀小组件,我之前还总是学原理,现在很多我都能描述出来了,比如「羽化」。慢慢运用过程中就能学到很多新东西
3、换赛道投资。我在《AI时代的净土》里写过,AI 一碰到网络这种摸不到、看不见反馈的地方,就退回了聊天框里的顾问,这块的经验还在人手里。或者你去学点理发,我在《经济紧缩普通人怎么做》里也写过:经济越差,提供情绪价值和刚需服务的手艺越吃香,养老护理、宠物、修车、修家电、理发,这些以前看起来低端的手艺,AI 和机器替代不了,反而是真正的铁饭碗。
4、练做减法的眼光。AI 解决问题的习惯是加代码。能看一眼就知道哪里脏、哪些状态是多余的、哪一段其实一行 CSS 就够了,然后删掉它,这种感受细节能力不需要啃源码,但需要见得多,需要你更加敏锐的眼光。
提示
你的开发设计能力提升了,但是其实未必能让你的价值被看见
5、一个人把一个项目从头做到尾。这个博客就是这么来的:写页面、搭评论服务、写联机小游戏、配 nginx、上证书、部署发布,当你完成一个项目,他就成了你的履历。我做了博客,就知道这里面有哪些部分,就不会害怕再次从0开始。我还有两个项目也在做,一个是论坛,一个是电商平台,并不会真正运行盈利,只是展示自己的项目水平,产品的设计和理解,这些是AI无法提供给你的
我不想糊里糊涂地活在一个到处都是黑盒的世界里。哪怕将来证明这些学习没有带来任何收益,能看懂自己每天在用的东西,这件事本身对我来说就是有意义的。
外面的环境我们决定不了,那就把视野收回到自己的成长上,每天只问一句:今天的我,有没有比昨天多懂一点?
只要我的 token 还在燃烧,只要我还在学习,不管什么样的危机到来,我手里都握着一份抵抗的力量。
焦虑不会消失,但它拦不住一个还在往前走的人。
评论
评论加载中……