今天在知乎看到一个问题:AI 已经这么发达了,还有必要再学那么多技术吗?
这个问题如果放在前几年,我大概会答得更干脆一些。可放在今天,说实话,很难轻易给出一个简单的是或者否。因为变化来得太快了,很多过去默认成立的成长路径,到了现在,已经开始松动,甚至正在消失。
我刚毕业那会儿,其实基础并不好。tcp 和 udp 的区别都未必讲得清楚,很多东西都处在一知半解的状态。现在回头看,那时候能入行,靠的并不是已经会了多少,而是别人愿意相信:这个小子虽然现在不会,但也许能慢慢学出来。也正因为有了这样一个起点,后面才有机会一点一点补课,一点一点踩坑,再一点一点把很多原来只是听过的概念,变成自己能理解、能使用、也能拿来判断的东西。
可站在今天再看,让人不安的,可能还不是 AI 会不会替你写代码,而是它正在改写技术人成长的方式。
因为所谓"学技术",本来就不是一回事。
有些技术是工具性的。比如一个框架怎么用,一个接口怎么调,一个脚手架怎么搭起来。这些东西过去要花不少时间摸索,现在很多都可以直接问 AI,而且往往答得又快又像样。
但还有一些技术,不只是会不会用工具,而是知道系统为什么要这样设计,知道网络、存储、并发这些约束会怎样反过来塑造代码,知道一个方案为什么现在能跑、以后却迟早要出问题。再往深一层,还有一些东西甚至很难直接叫"技术",更像是一种判断:什么是好代码,什么是坏抽象,什么时候应该追求优雅,什么时候应该接受粗糙,什么样的取舍是对的,什么样的取舍只是把问题往后拖。
难的恰恰是后面这些。
这些能力虽然重要,却没法一上来就学会。大多数人都不是先学会判断,再去写代码,恰恰相反,是先在一堆并不漂亮的工作里打转,改过难看的老代码,修过说不上高级却很磨人的问题,经历过 review 里那些让人难受的争论,也见过一些线上故障是怎么一步一步酿成的。很多能力,并不是在"学"的时候长出来的,而是在一次次出错、返工、争执和收拾残局里磨出来的。
问题到这里,就开始变了。
AI 最先拿走的,不是最难的部分,而是那些看起来不高级、却很重要的练手机会。它能帮你补全代码,生成页面,解释报错,重构结构,甚至在很多时候,给出一个相当不错的答案。于是很多原本需要你自己撞上去、自己卡住、自己慢慢摸出来的过程,被提前抹平了。
这当然不是坏事。效率提高了,试错成本也下降了。可问题在于,一个人如果太早习惯了"先得到答案",就未必还会经历"答案是怎么长出来的"那个过程。
更深一层看,这背后其实还不只是 AI。
我们这个时代几乎所有成功的产品,都在把人往同一个方向推:更低的摩擦,更快的反馈,更少的等待。短视频是这样,外卖是这样,推荐算法是这样,AI 也是这样。只要开口,就立刻有结果;只要停留,就立刻有反馈;只要发出一个模糊的需求,就有人替你补全中间那些原本艰难、缓慢、甚至令人沮丧的过程。
而人对这种"低摩擦"几乎是天然没有抵抗力的。因为直接得到答案,本身就是一种很强的心理奖励。它省掉了等待,省掉了困惑,省掉了反复试错时那种漫长的无意义感,也省掉了被现实一次次否定之后不得不重整思路的痛苦。相较之下,理解从来都不是轻松的事情。它往往意味着延迟满足,意味着长时间看不见结果,意味着大量重复,也意味着在很多时刻,你甚至不知道自己到底有没有在进步。
技术学习偏偏又是逆着这股本能长出来的。很多时候,最有价值的东西,并不出现在"我已经会了"的那一刻,而是出现在长时间不会、长时间模糊、长时间被现实顶回来的那段过程里。
所以 AI 更深的危险,也许并不只是它替代了学习,而是它开始让人越来越难以忍受"尚未理解"的状态。一个人一旦长期被即时反馈包围,就会慢慢失去在困惑中停留的耐心,失去和笨拙、迟缓、模糊相处的能力。可偏偏很多重要的东西,都是在这段最不舒服的时期里,才慢慢长出来的。
这也是为什么,人成熟这件事,常常并不发生在顺滑的时候。
回到 AI 本身,它真正让人警惕的地方,还在于它特别容易制造一种能力上的错觉:页面跑起来了,于是以为自己理解了;代码生成出来了,于是以为自己掌握了;方案看上去说得通,于是以为自己也具备了判断这个方案好坏的能力。
可很多时候,能把东西做出来,和知道它为什么对,并不是一回事。更不是说,知道它现在为什么能工作,就等于知道它将来会在哪里坏掉。
如果说评判一篇文章,前提至少是识字,然后还要知道什么叫好文章,那么 AI 编程现在最模糊的地方就在这里:它会让"产出结果"和"真正理解"之间的边界,变得越来越不清楚。人很容易在这种顺滑里,误把调用能力当成理解能力,误把表达能力当成判断能力。
所以再回到最开始那个问题:还有必要学那么多技术吗?
如果这里说的"技术",只是那些工具性的知识,只是记某个框架的语法,记某个接口的参数,记某种固定的开发套路,那么这类东西的价值,的确会越来越快地被稀释。AI 对这一部分的替代,恐怕只会越来越明显。
但如果这里说的"技术",是对问题的定义,是对系统约束的理解,是对现实场景的拆解,是在多个方案之间做取舍的能力,是出了问题之后知道该往哪里追、知道什么地方不能糊弄过去,那么这些东西不但没有变得不重要,反而比过去更重要了。
因为工具越强,越需要有人知道它什么时候可靠,什么时候不可靠;什么时候应该相信它,什么时候必须怀疑它;什么时候是在节省时间,什么时候其实是在透支未来。
难点也正在这里。
这些更重要的能力,偏偏又不是靠看几篇文章、问几次 AI 就能长出来的。它们往往依赖真实的业务经验,依赖对后果的承担,依赖一次次与复杂现实打交道之后留下来的感觉。判断力这个东西,说到底,不只是知识的累加,很多时候更像是被代价慢慢逼出来的。
所以我现在真正担心的,也许已经不是"新人以后还会不会写代码",而是:如果 AI 把很多原本用来长判断力的过程都替代掉了,那么技术新人将来究竟要靠什么成熟起来?
也许会有新的路径,只是今天还看不清楚。也许以后真正有效的学习方式,不再是从头到尾手写所有东西,而是借助 AI 更快试错,但同时逼着自己去做另外一些更难也更不能省的事:自己验证,自己解释,自己复盘,自己承担结果。
否则,所谓效率,很多时候只是把"尚未理解"这件事,包装得不那么刺眼。
而一个行业如果越来越习惯于这种状态,慢慢失去的,恐怕就不只是写代码的手了。
这些年我也一直在反复想这些问题,所以顺手把一些和 AI 编程有关的思考,慢慢整理成了一本开源小书,放在 GitHub 上持续更新。若你也对这些变化感兴趣,或者也正处在这种转变里,或许可以一起看看:https://github.com/caozhiyi/AI-programming-book