AI盛行的当下,计算机“传统教学”是不是没用了
我又在群里跟别人吵架了,这次吵架的话题如标题所述。而正是因为这篇post来自于吵架,所以内容显然是松散的(好像我之前写的所有内容都是松散的
正如我在「写在2026年刚开始的时候」里写的那样,「AI的发展真快啊,确实是超出了我的想象了」。AI越来越强了,它能够替我们完成许多许多繁琐的工作了。与此同时,对我自己来说,我自己越来越觉得自己是一个废物了。
或许「学习」这件事在AI盛行的当下,变得越来越没有意义了?「传统教学」这件事在AI盛行的当下是不是已经变成了一个彻头彻尾的笑话呢?
计算机教育“现状”
贺兰的blog里有这样一篇post「学长,我得休息了,明天要面软动力」。说实话,看了以后其实心里确实挺不是滋味的。
计算机专业毕业的人有很大部分人都会走向各个工作岗位上,这些学生大学四年上完以后,发现自己要面对的所谓的“计算机”世界仍然是陌生的,有很多人选择听了「两万块抬进大厂」的培训班的话,在简历上写一些标准项目,但是对于这些项目里所需要用到的基本开发技能都未曾听说过。
他们走的是他们自己所认为的成功道路,而事实上,“人为刀俎我为鱼肉”,他们看起来似乎是被时代和环境牺牲的无关紧要的人。
尤其是当前在AI盛行的大背景下,AI能胜任很多基础的代码开发工作了以后,他们的经历看起来又蒙上了一层黑色幽默。
贺兰也在另外一篇post「为什么我认为AI正在让初级技术岗位完全消失」里面写的也比较直接。
当LLM太好用,学生不在经历翻文档、踩坑、构建知识体系的痛苦过程,而是直接照单全收AI生成的完美答案。供给端的绝大部分人正在丧失进入行业所需的基础能力,沦为AI的努力,而非使用者。
说实话,这其实挺可悲的。
当所谓的「速成」代替了「积累」,当「生成」代替了原本的「思考」,AI盛行的当下,我们何尝不是在见证一代技术学习者根基的坍塌呢?
现在的AI技术让原本需要许多人投入很多精力才能完成的完整项目,变得不再像之前那样繁琐了。AI本身就能瞬间解答许多疑惑,所谓的「传统教学」看起来变得越来越脱节了。原来的教学模式下,啃几百页书、手敲代码的古法编程、报错信息里挣扎、花很久时间搭建完整的知识体系的做法,是不是彻底没用了?
传统的「知识传递」死了
事实证明,如果要是所谓的学习是「学生的知识完全依靠老师在讲台上讲语法,学生在下面记,期末考个考试证明记住了」的话,那这样的「传统教学」确实是死了。
并且死的很透彻,在AI盛行之前就死透了。
因为这本质上是「知识传递」。
在AI盛行之前,我相信绝大部分大学生学习知识离不开网上的各种学习资源。
我不太相信有人会说「我学的所有内容全部都是课堂上挺过来的」。大家总得在B站上面看看公开的视频,翻翻网上的各种博客文章、文档之类的内容去巩固了解。课堂的时间很有限,况且一个人的注意力也没那么持久,老师讲的内容也并不是处处都十分透彻,一个计算机相关专业的学生学到的知识怎么可能全部都来自于课堂呢?
如果要是因为AI盛行就借机抨击「传统教学」死透了,我觉得至少有一部分人是在为自己的懒惰找借口。
这样所谓的「知识传递」,不早就在互联网走进每个人身边的那一刻起就死透了才对嘛。
现在我经常会遇到一些不理解的内容,说实话,我都是靠AI来学习的,经常是ChatGPT、豆包、Kimi之类的AI网页端问来问去。
一个LLM能不知疲倦地把一个计算机内容换各种花样讲的比绝大多数人更清晰,并且还能根据我自己的理解适时调整例子、生成问题、答疑解惑、纠正我的理解偏差。
在这种效率碾压下,任何以「知识传递」为卖点的教学模式,早就死的透透的了。
想必前文提到的那些被培训机构坑惨的校招生,有很大一部分人是被所谓「知识传递」坑到底的极端产物。
培训机构的课件里当然有基础的概念,但是这些知识是倍打包好的、去语境化的、确定性的。
培训机构的学生只需要像流水线的工人一样吞咽,不需要思考「为什么」,也不需要思考「简历上的项目到底在说明什么东西」。
其实这件事最可悲的一点就是,这恰恰是这些学生想选择这些培训机构的原因。
当AI以同样的方式,甚至还能即时、完美、去语境化、有耐心地给出我们想要的答案的时候,它复制的正是这些传统培训机构最致命的那部分东西——它剥夺了你与问题斗争的过程。
所以,如果「传统教学」只是停留在「知识传递」这一层的话,它早死了,死得理所应当。
能力的塑造
实际上,真正的技术工作从来不是「输入问题-获得正确答案」这么简单的,而是面对一团混沌的报错、模糊的需求和乱七八糟的问题的情况下,在条件不完备的时候作出判断。
我其实在思考一个这样的问题,我们是否一直在贩卖确定性的幻觉呢?
比如作为一个培训机构的学生,哪怕他被训练地八股文倒背如流,他仍然不知道这套知识在整个软件工程版图中到底处于一个什么样的位置上。
在不确定性中乘风破浪的终究还是我们自己。
一说到这个话题多少就有点鸡汤,我觉得多少得小小升华一下。
「传统教学」中那些令人抓狂的一点标准答案都没的探索,比如前面提到的那些翻书、查资料、吧啦报错里苦苦挣扎的经历,说实话才是最宝贵的经历。
现在有了AI,找资料问AI,查资料问AI,处理报错还是问AI,如果在学习阶段就这样的话,我总感觉不怎么妥当。
我总感觉这些经历恰恰训练了自己与未知共处的能力。这种“慢”在效率至上的当下和用AI恨不得今天说需求明天上线的大背景下似乎有点不太合时宜,以至于让我们常常忘了知识的体系化从来不是信息的简单累加,而是一种类似肌肉记忆的深层的建造才对。
从零写一个项目、自己亲自采的坑、呗一个错误折磨很久的经历不是说我们是抖M,我觉得最大的收获是我们获得了一段宝贵的经历,这些经历在一起才塑造了我们的认知。
我想,或许AI是可以给我们一个完美的局部答案的,但是他没办法替代我们亲手把散落的东西串成串,也没办法告诉我们那种从无到有、从底层到业务逻辑的全局直觉是如何连起来的。
这也算是一种手感?这种感觉我觉得只有在漫长的、低效的、甚至看起来毫无进展的瞎捯饬中才能记住。
其实我总觉得有一种认知,是「我自己都不知道这是个什么,但是我总寻思应该这样」的这么一种能力,很玄学。
我相信资深程序员用AI辅助研究的时候,能一眼看得出来LLM在胡说八道,因为他们脑子里有一条经过长期校准的基线。
这个基线我相信肯定不是天生的,应该是在无数次「我以为懂了,但是其实我是傻逼」的挫败感中,反复推翻自己的认知的痛苦里一点点生生磨出来的。
我相信这个能力对于那些直接照单全收AI答案的人来说,他们永远没有机会去领悟到。
这种AI给啥就要啥的人,就像是那种躺床上每天都懒得动,嘴里插根管,一直吃流食,味觉和咀嚼肌慢慢就退化了,久而久之连个好吃难吃咸淡口都尝不出来,甚至丧失了判断这顿饭到底有没有营养判断能力的那种人。换句话说,他们自己都不知道自己是个干什么吃的。
那种从混沌中自己成长出来的判断力,那种在废墟上亲手搭建起来的认知基础,才是任何AI都没办法生成的东西,这是一种能力。
而AI的能力并不是我们的能力。
AI替代了哪些思考?
我们总妄图用AI取代思考。这应该是个笑话,AI当然不可能取代我们的思考。
妄图用AI取代思考的人,对这个思考本身没有好奇心,也不觉得他快乐。
反过来,我们也经常想用AI去取代那些我们不好奇,或者累赘的思考。
AI盛行后,在「传统教学」里最常见的现象无非就是作业用AI,思考用AI,干啥都用AI,懒得想了。
我觉得一种就是彻底关闭大脑放弃思考了,那没啥好说的,这不就是这个人整个彻底寄了,这就是完蛋了呗。
而另外一种应该是这个作业「不值得思考」。我们没必要浪费时间用在一些「不配花时间去做」的作业上,因为他们毫无价值。
这个所谓的「不值得」其实听起来似乎是很理性的,比如一个东西如果几秒钟就能做出来,为什么非得花一晚上去弄?
这看起来似乎是在追求效率,还挺有道理的。传统教学中的作业确实是充斥着大量低质量的重复劳动,让我们抄实验报告、填标准答案、做已经知道结论的验证。把这些内容丢给AI似乎是一种清醒的精力管理。
我觉得这里的问题在于「值不值得」的判断是从哪儿来的呢?
当我们说「这个作业不值得思考」的时候,这个判断本身应该建立在「我亲手做过、理解过、有比较多认知基础」之上的才对呀。这是因为我们此事知道每一个细节,我已经知道它的边界了,我知道它的大概模样是怎样的了。
这就好比,我在网上找到了一个library想试试看,了解它最好的方式之一就是写个demo调一下去验证它怎么用。
但是一个学生说「这个作业不值得思考」往往是他从来没真正思考过的情况下作出的判断。这不是在选择把低价值的工作外包,而是在默认把所有需要动脑子的玩意儿都外包。我今天觉得这个不值得思考,我明天就有可能觉得那个不值得思考。
有些思考确实是累赘的机械劳动,比如反复抄写已经熟练的东西,去手算早就已经定好的事情之类的,这种东西让渡给AI是合情合理的,我觉得这才是「传统教学」应该改进的地方。
但是另外一些思考,比如那些会让我们卡壳的、推翻我们之前理解的、让我们恍然大悟我草原来是这么一回事的东西,恰恰是让AI有多远滚多远的部分。
不是因为AI做不好,而是这才是学习这件事最重要的地方。
「自然语言」真的是万能的吗?
如果我们把我们的需求告诉给AI,真的能实现我们想要的东西了吗?这合理吗?
在很久很久之前,Dijkstra写过一篇名为「On the foolishness of “natural language programming”」的文章。
从这篇文章不难了解到,妄图用自然语言实现一切的人并不是现在的新鲜玩意儿,而是早就有了。早就有人想用所谓「自然语言编程」来代替符号化、形式化的表述,直接指挥计算机。
今天,LLM技术的兴起让这种「自然语言编程」以一种更隐蔽、更诱人的方式大规模铺开了。我们直接跟LLM描述需求,让他生成代码,想让思考的接口变成自然语言。
而Dijkstra对此的预言是:这种东西并没有简化人的生活,他只是让人丧失了精确思考的能力,同时让机器的输出变得不可预测并且难以验证了。
符号化的文本让我们能够用寥寥几句话表述我们的操作,而这些语句是具有确定性的,只需要遵循确定的规则,这应该是一种极其高效的工具。
而反过来看,自然语言是有歧义的低效表述,充满了不稳定性。那我们真的能妄图用自然语言获得一个确定的结果吗?
我觉得正如Dijkstra所说的那样,试图让机器理解自然语言,会极大增加机器端的复杂性,这不一定能简化人类的工作。我们应该用清晰、明确、定义良好的交互方式,编程语言作为一种符号化、形式明确的表述方式,比自然语言具有更大的优势。
AI的作用还体现在让营销号吹比上了
总有人在鼓吹底层无用论
AI盛行的当下,总有人在鼓吹底层无用论。他们往往说「现在都什么年代了,谁还学操作系统、编译原理、内存管理啊,直接用AI不就完了吗,学这个没有一点用」。
鼓吹「不需要了解底层」的人,本质上就是在推销一种技术快餐思想。
他们把技术的门槛说成是人为制造出来的阴谋,把严谨的训练说成迂腐,然后说他们用AI打破了这个枷锁哇好厉害balabala,但是只字不提所谓的门槛不是阴谋,而是保护。
让不知道内存模型的人去写分布式系统,你当然能饶过他,用你们最爱的AI去搞定一切,但是自然语言的歧义性会让机器的产出不可预测。当我们放弃了精确理解底层的能力,你就同时放弃了在意外发生时诊断、修复、负起责任的能力。
更讽刺的是,这群人还总爱说「降本增效」。
他们最里面说的降本实际上也不是说的省钱,而是说学习者自己的认知成本。我看他们的增效也没增加解决问题的效率,而是制造隐蔽技术债务的速度。
所以他们总拿「AI时代不需要底层」来给自己懒惰镶金边,嘴上说着是想跟进时代进步,实际上是在给自己认知搞截肢。把自己的腿锯了以后坐上轮椅然后比比说自己坐上轮椅用上高级工具了,走路过时了,纯**。
又有人鼓吹零门槛入门的饼
跟技术快餐哥们坐一桌的还有「以后编程没有门槛了,会说话就能当程序员」的零门槛入门的饼。
先说结论,看了一圈了,全是早工具的,迄今为止还没一个真能打的。
我就不知道这帮人逻辑是不是转不过来弯,我会说话我就能当作家吗?我会拿笔就能当画家吗?会跑步我就能当运动员吗?
我们这个世界的规则什么时候变得这么简单了?价值这个东西不存在了吗?
我觉得搞开发从来不是一个打字速度比赛,而是需要精确思考的。
我们把需求说给AI,AI生成了一段代码,我只能说你说的好,你会描述,不能说明你会编程。这就好比会按快门不代表会摄影,会削土豆不代表会做饭。
真正的编程能力应该是在需求模糊、条件不完备、老板只会说「我要五彩斑斓的黑」的时候,把它翻译成正确的逻辑的能力,我们要在一团混沌的报错中定位到真正出现问题的地方,能知道整个系统究竟发生了什么。
AI确实能帮我们把自然语言翻译成代码,但是这个翻译过程本身充满了陷阱。
你说「做个用户登录功能」,AI生成了,但是你知道这里具体发生了什么吗?密码是怎么存储的?你还是明文存储的吗?登录接口在并发场景下会不会出现问题?反正你应该是不知道的,你只知道大概这样能跑。
鼓吹零门槛的人在兜售一种捷径,说「痛苦是不必要的,思考是可以外包的」。
把痛苦外包出去的时候,你也差不多就是个高级点的提示词操作员了,我觉得这不配说自己会搞开发。你都没经历过从无到有的挣扎,也没调过报错、亲手搭建过完整的知识体系,啥也不知道也能干活,有点招笑。
总结一下
今天高喊着AI可以取代传统教学、不需要学底层、会说话就能当程序员、以后学编程没用的人,一直在贩卖一种免除痛苦的幻觉。就跟早期的培训班干的事情一模一样,贩卖的不是技术,而是免除痛苦的幻觉。
我一秒钟都没为当培训机构把「两万块抬进大厂」的神话编程简历上的标准项目感到惋惜,而是转头看向了当今AI正在把「几句话生成完整项目」的深化编程新一代人的认知标准。
这帮人天天鼓吹思考是痛苦的,挣扎是不必要的,底层是冗余的。
所谓的「传统教学」我想应该是不会过时的,但是「把教学等同于知识灌输」的观念俨然已经死了,已经说过了,这并不是AI害的,早就死透了,死在了互联网刚萌起的那个时候。
在AI浪潮下迷茫的那些人,我觉得他们当上了“提示词工程师”驾驭上了AI以后,估计会发现大家都会跟AI说话,一点也不稀缺。本来是想做使用工具的那个人的,最后变成了被工具定义的人。
所以AI不会取代开发人员的,放弃思考的人会取代自己。