大家好,这里是最佳拍档。
Vibe Coding的狂热与批判
从2025年安德烈·卡帕西提出Vibe Coding这个概念至今不过一年时间,整个科技圈似乎都陷入了一种狂热。彼得·斯坦伯格靠着Vibe Coding写出了OpenClaw这样的现象级软件。社交媒体上充斥着非技术人员的炫耀,声称一天能开发十个应用,甚至有声音直言软件工程师这个延续了几十年的职业即将被扫进历史的垃圾堆。
然而,当所有人都为这种看似颠覆式的编程方式欢呼时,一位大佬却发出了截然不同的声音。他直言这种方式让他感到恶心,甚至称它是反人类的。这位大佬就是深度学习领域的奠基者之一,杰瑞米·霍华德。如果你是AI圈的从业者,杰瑞米·霍华德的名字一定如雷贯耳。他是Kaggle的前总裁兼首席科学家,更是顶级Grandmaster。他创立了Fast.ai,让更多人能够接触和学习深度学习。
最具里程碑意义的是,2018年他与塞巴斯蒂安·鲁德共同提出的ULMFit,直接打破了当时“语言模型无法微调”的行业铁律。这份研究不仅改写了NLP(Natural Language Processing: 自然语言处理)的发展轨迹,更直接启发了后来的BERT和GPT系列,拉开了预训练大模型的序幕。
近期,Machine Learning Street Talk播客的主理人蒂姆·斯卡夫专程飞赴澳大利亚莫顿湾,在霍华德的后院进行了一场深度对谈。在这场对话里,霍华德撕下了当前AI编程的遮羞布,犀利地指出了代码自动生成背后的巨大陷阱。这场对话不仅是一次关于AI技术的硬核探讨,更是一场关于人类心智如何成长的哲学思辨。今天,我们就一起来深度解读这场对话,看看这位深度学习先驱到底看到了哪些被我们忽略的真相。
ULMFit:奠基者Jeremy Howard的洞见
想要理解霍华德对当前AI编程的批判,我们首先要回顾他的核心贡献——ULMFit,因为这份研究的底层逻辑恰恰与如今的Vibe Coding形成了鲜明的对比。在2018年之前,微调(fine-tuning)对于语言模型来说还不是一个公认的行业共识。尽管Quoc Le和吴恩达此前做过一些相关尝试,但他们漏掉了一个关键点:预训练的对象必须是一个通用目的的语料库。
而霍华德之所以能抓住这个关键点,和他的背景息息相关。他并非纯技术出身,而是拥有哲学和认知科学的背景,这也让他在思考AI问题时,始终会从更底层的逻辑出发。霍华德的ULMFit研究核心围绕着正则化(regularization)展开,他始终认为,与其通过减小模型架构规模来限制模型,不如用增加正则化的方式来约束模型,让模型既保持灵活性,又能具备可控性。
当时,斯蒂芬·梅里蒂将长短期记忆网络(LSTM - Long Short-Term Memory: 长短期记忆网络)的灵活性发挥到了极致,还在这个经典的带状态循环神经网络上叠加了5种不同类型的正则化,这为ULMFit的研究奠定了基础。有了灵活且可控的模型,下一步就是构建合适的语料库。巧合的是,梅里蒂当时正在Common Crawl工作,帮霍华德拿到了维基百科的数据集。但是原版的数据集存在许多问题,比如将所有未知词都标记为
于是霍华德推翻重来,打造了一个全新的维基百科通用语料库。随后,他使用AWD-LSTM模型,在一台2080 Ti游戏显卡上完成了预训练,整个过程仅用了8个小时。要知道当时他们身处旧金山大学,根本没有海量的计算资源。这样的实验条件,在如今动辄上千块显卡训练模型的时代显得格外珍贵。
预训练完成后,霍华德设计了如今我们熟知的“三阶段架构”:分别是预训练、领域微调和下游任务微调。他先让模型在通用语料库中学习预测下一个词,让模型对世界形成基础认知。随后将模型放到电影评论这个特定领域的语料库中,进行了一小时的领域微调,让模型擅长预测电影评论的下一个词。最后又用几分钟完成了下游分类器的微调。
而这次微调的测试任务,是当时学术界公认的难题——对五千字的电影评论进行情感分类。在此之前,这个任务的最优结果都是由极其专用的模型实现的,而这些模型往往是研究者耗费几年时间,甚至是一篇博士论文的心血才打造的。但谁也没想到,霍华德的模型在微调后5分钟,就打破了所有的SOTA(State-of-the-Art: 业界领先水平)纪录。这份研究也历史性地证明,先通用预训练、再领域微调、最后任务分类的三段式路径是完全可行的。
不仅如此,霍华德和他的团队还在Fast.ai开发出了独特的微调方法论,这也是Fast.ai第一年的核心成果。当时他们发现,用单一的学习率去微调整个庞大的网络毫无意义,因为网络的不同层有着完全不同的行为。于是他们提出了“判别式学习率”的想法,为不同的网络层赋予不同的学习率。更关键的是,他们发现了一个被行业忽视多年的点:必须对每一个批量归一化层(Batch Normalization layer)进行微调,因为这是驱动整个网络上下波动的核心。而这个发现也让微调的效率大幅提升。在ULMFit的实验中,即便解冻了所有层,其实只需要微调最后的两层就能接近SOTA结果,这个过程只需要几秒钟。正是这份兼具创新性和实用性的研究,为后续的大语言模型发展铺平了道路,而霍华德也凭借这份研究,成为了深度学习领域的标志性人物。
AI的“控制幻觉”与“角色扮演”
了解了这段历史,我们再回到当下的Vibe Coding,就能更理解霍华德的愤怒。当主持人斯卡夫问他Vibe Coding是否是编程的未来时,霍华德的回答毫不留情:“这真的让我感到恶心,甚至是反人类的。”而他的这份态度,源于他二十年来不变的科技使命感:那就是阻止人们用低效且错误的方式工作。
在霍华德看来,以AI为核心的代码生成,最致命的问题就是像一台老虎机。看似使用者拥有掌控权,你可以精心雕琢提示词,列出长长的模型上下文,标注各种技能要求。但是最后本质上,还是在按下回车的那一刻,祈祷生成的代码能跑通。这就是所谓的“控制的幻觉”。就像老虎机的玩家总觉得自己有策略一样,Vibe Coding的使用者也总觉得自己是优秀的提示词工程师。老虎机玩家会说:“再转一次就能赢”,而Vibe Coding的使用者会说:“再改一次提示词,bug就会消失”。但最终的结果其实都是一样的:老虎机吐出的是金币或空奖,AI吐出的是能跑的代码或者毫无意义的乱码。而真正的赢家,从来都不是使用者,而是老虎机的运营方,或者是生成代码的AI。
很多人会说:“只要代码能跑通就够了。”但是霍华德抛出了一个终极问题:“你愿意把公司的产品押注在一段自己完全看不懂的代码上吗?”答案显然是否定的。因为没人经历过这段代码的构建过程,也就无从谈起维护、优化,更谈不上软件工程的核心要求。
霍华德始终坚信一个真理:当人类能够实时操控计算机内部的对象并且与之深度交互时,能做到的事情远大于单纯把任务外包给计算机。而人类的这种能力核心来自于“心智模型”(Mental Model)的建立。无论是理查德·费曼这样的顶级科学家,还是行业内的资深工程师,他们的深度直觉都是在与研究对象、工作内容的长期深度交互中,逐步构建起心智模型而形成的。
如今的大模型确实能够通过分析海量文本语料的统计相关性,构建出关于世界运作的抽象层级结构,但这绝不等于真正的创造力和理解力。这一点,在AI编写C编译器的案例中体现得淋漓尽致。不久前,Anthropic发布博客称,旗下Claude的Agent团队自主编写了一个C编译器,甚至有业内人士称这是“无尘室级别”的成果,因为这个编译器是用Rust语言编写的。看似实现了技术突破,但是霍华德在深入分析后发现,这个所谓的AI编译器,不过是对当前最主流的Clang和LLVM架构的C/C++编译器进行了一次极其拙劣的风格迁移。原因很简单:互联网上充斥着LLVM的代码,还有大量关于编译器构建的教材。Claude所做的,只是把C语言编译器的逻辑转换成Rust语言,本质上是在训练数据的不同部分之间进行插值,而非真正的创造。
于是,霍华德提出了一个灵魂拷问:“如果这个世界上从来没有过编译器,也没有相关的算法,AI能从零开始发明吗?”答案是否定的。目前没有任何经验数据表明AI具备这样的软件工程能力。
这也引出了一个核心的哲学问题:AI真的能理解这个世界吗?网上对此一直有两种截然相反的声音:一派认为大语言模型只是随机鹦鹉,根本什么都不懂;另一派则认为AI能解决复杂问题,必然具备理解能力。而霍华德的观点,让这个问题有了更清晰的答案:那就是两派都对。因为大模型的理解,其实是一种“角色扮演”。它只是假装自己懂了。这一点和认知科学领域的两个经典理论高度契合:一个是丹尼尔·丹尼特提出的“意向立场”(Intentional Stance),另一个是约翰·塞尔的“中文房间”实验。AI面对问题时,能给出头头是道的答案,看似是一个具备智慧的实体,但是背后的核心,只是高维度的统计相关性匹配。在大模型的训练分布范围内,“假装懂”和“真的懂”,其实没有本质区别。比如当AI面对物理学问题时,只要问题在它学习过的物理学教科书数据范围内,它的表现会极其出色。但是一旦踏出这个边界,哪怕只是一步,AI就会瞬间崩溃,犯下比白痴还蠢的错误。
这背后的核心,是知识的本质特征:知识是有视角的,也是具身化的。它不是冰冷的文字,而是活的,存在于人类的身体里,存在于社会和组织的协作中。一个组织的核心价值,就是保存和进化这种知识。而当我们把需要认知能力的任务交给AI时,其实是在侵蚀组织内部的知识,这是一种极具破坏性的矛盾效应。
创造力、约束与AI的局限
很多人会争论AI是否有创造力。霍华德曾和彼得·诺维格探讨过这个问题。他们认为AI其实具备一定的创造力,比如把国际象棋的符号喂给大模型,它能学会下棋,甚至走出新颖的棋路。但是关键在于,创造力的前提是对约束的理解。知识的核心是约束,而创造力是知识在尊重这些约束的前提下的进化。如果没有严格的约束,所谓的创造,不过是毫无意义的拼凑。
而当前的大模型,恰恰缺乏对约束的深层理解:写代码时会犯最基础的逻辑错误,解决问题时会脱离现实世界的运作规律。核心原因就是问题超出了它的训练数据分布。这样的行为,根本谈不上真正的创造力。
AI编程的负面影响与成长扼杀
而这种AI编程的方式,不仅无法带来真正的效率提升,还会带来实实在在的负面影响。研究机构METR近期发布了一项研究,结果让人震惊:使用当前顶级AI辅助编程工具的资深开发者,在处理复杂编程问题时,耗时反而比不用AI的人增加了19%。而背后的原因也很简单:开发者需要花费大量的时间和精力去检查AI生成代码的错误,去理解这个自己没有参与构建的“代码黑盒”。而这个过程,比人类自己从头架构系统还要耗费心智。
霍华德表示,这正是他最担心的事情。对于人类而言,认知能力和专业技能就像肌肉一样,需要不断锻炼才能成长。一旦长期闲置,不仅不会进步,还会枯萎。作为一家研发型初创公司的CEO,他深知员工的成长对公司的重要性。如果员工失去了成长的能力,公司最终的结果就是消亡。而这个道理,对于整个编程行业,甚至整个人类的认知发展都同样适用。
这一点也和教育学中的“适当的困难”理论高度契合。艾宾浩斯的记忆曲线早就告诉我们,人类的记忆不会平白无故形成,只有在快要忘记的时候,努力去回忆,这份记忆才会被深深刻在大脑里。而深层的知识和直觉,更是需要在克服困难的过程中逐步构建。如果在我们遇到认知挑战的那一刻,AI就把答案直接喂到嘴边,我们永远无法建立起真正属于自己的知识结构。
霍华德用自己的亲身经历解释了这个道理。2014年,他创办了世界上第一家将深度学习应用于医学的初创公司Enlitic。最初的研究焦点是放射学。当时很多人担心AI会让放射科医生变得越来越平庸,但是霍华德却认为,结果会完全相反。他们做了大量的研究,探讨如何让AI融入医生的工作流,最终发现,像飞机的线传飞控、汽车的防抱死制动系统一样,AI的核心价值是自动化那些真正可以被自动化的低价值任务,让专家把精力集中在核心问题上。
在放射学领域,AI能比人类更精准、更快速地识别肺部CT扫描中的所有候选结节,这让放射科医生省去了满屏幕找黑点的机械劳动,把全部精力集中在核心判断上。这样的方式,不仅没有让医生的能力退化,反而让他们变得更强,因为AI去除了低价值的噪音,让医生的专业能力得到了更充分的发挥。
但是软件开发领域的情况却完全不同。当前的AI编程工具,并非是去除低价值劳动,而是剥夺了开发者与代码深度交互的机会。对于入行前五年的新手程序员来说,抠底层逻辑、处理繁琐的初级编程任务,虽然过程痛苦,但却是建立代码直觉的关键。那些在过去几十年里成长起来的伟大程序员,都是在与复杂系统的“充满摩擦力”的对抗中构建起了庞大的心智模型。而现在的AI编程,会让大模型直接把这些有摩擦力的任务全部做完。开发者想要修改一个小组件,AI却生成一大坨杂乱的代码。开发者不断修改提示词,让AI反复调整,最终得到一个能跑的结果。但是在这个过程中,开发者始终没有建立起对这套代码的心智模型,不知道代码的底层逻辑,不知道问题的解决思路。这样的方式看似高效,实则是扼杀了开发者的成长。霍华德直言,这样做的结果,就是在十年后,我们将失去能够理解和架构宏大软件系统的资深工程师。而这也是他称这种方式“反人类”的核心原因,因为它剥夺了人类获取深层知识的权利。
交互式编程:通往成长的桥梁
既然霍华德如此反感这种黑盒式的AI代码生成,那么在他看来,正确的软件开发方式应该是什么样呢?答案就是他一直大力推广的Jupyter Notebook(一个流行的交互式计算环境),以及其背后的交互式编程理念。
当然,Jupyter Notebook在软件工程界一直存在争议。乔尔·格鲁斯就曾经发表过著名的演讲《我不喜欢Notebooks》,认为它违背了软件工程的最佳实践,比如代码容易乱序执行,难以进行Git版本控制,也无法实现模块化测试等等。这些问题确实客观存在。但是霍华德认为,争议的核心是很多人误解了数据科学和传统软件工程的区别。对于数据科学研究,或者是面对一个未知的复杂系统时,比如处理混乱的数据库,或是分析深度学习模型的隐藏层特征,开发者需要的是交互式的探索。在运行一行代码的瞬间,看到数据的分布,看到可视化的图表。这种实时的反馈,是建立物理直觉的关键过程。如果放弃Notebook,像传统软件工程那样写一个庞大的Python脚本,再一次性跑一遍测试,中间的反馈链路太长,开发者会彻底隔绝与数据和系统之间的真实接触,也就无从谈起建立心智模型。
为了解决Notebook的弊端,霍华德的团队还开发了nbdev工具。这款工具的核心,就是在探索性的Notebook和严谨的软件工程之间搭建一座桥梁,让开发者既能享受Notebook带来的实时状态反馈,又能通过工具自动生成模块化的代码、文档和测试,兼顾探索的灵活性和工程的严谨性。
而这也是霍华德反感Vibe Coding的另一个原因。他认为,好的软件工具,无论是Jupyter Notebook,还是优秀的REPL(Read-Eval-Print Loop: 交互式编程环境)环境,核心目标都是拉近人类与系统内部状态的距离,让人类能更精准地操控和理解系统。而现在被滥用的AI生成工具,却是在人类和系统之间砌起了一堵厚厚的高墙,让人类失去了与系统深度交互的机会。这一点,和布雷特·维克托在著名演讲《在原则上发明》中提出的理念高度契合。维克托强调,创造者需要与自己正在创造的东西建立实时和无延迟的反馈循环。而人类科技发展的整个历史,从鼠标的诞生到拖拽交互的发明,本质上都是在不断拉近人类与操作对象的距离,让交互更直接、更高效。但现在那些盲目追捧大模型自动化的人,却是在亲手摧毁这种直接的连接,这无疑是与科技发展的本质背道而驰。
AI的终极风险:权力垄断而非觉醒
这场对话的最后,斯卡夫和霍华德探讨了一个所有人都关心的问题:AI的终极风险到底是什么呢?近期,杰弗里·辛顿、德米斯·哈萨比斯等AI领域的大佬都签署了关于防范AI灭绝人类风险的声明。而霍华德却对这种观点提出了明确的反驳。他表示,现在有比“AI觉醒将毁灭人类”更现实、更迫切的问题需要担心。
那份声明的核心逻辑,源于埃利泽·尤德科夫斯基等AI毁灭论者的观点,即AI会变得完全自主,进而摧毁世界。但是这个观点在多个层面上都被证明是完全错误的。在霍华德的威胁模型里,AI真正的危险并非来自抽象的超级智能机器,而是来自人类自己。对于那些拥有大量权力,或者是对权力极度渴望的人来说,垄断技术是永恒的目标。而AI毁灭论的恐慌,恰好成为了他们的武器。他们会散布“AI技术太危险,不能让普通人接触”的言论,进而提出看似合理的解决方案,比如集中权力,让极少数几家富有的科技公司或是政府,甚至是两者的结合来掌控AI技术,确保其他人都无法接触。
而这是最糟糕的结果。因为把控制权集中在一个地方,意味着只要有人接管这个核心,就能控制一切。这是人类历史上反复上演的戏码。霍华德直言,我们正在亲眼目睹一场巨大的权力倒退。科技巨头利用人们对AI的恐惧,制造监管壁垒,建立起极高的护城河,让开源社区失去生存空间,让初创公司无法发展,最终把人类文明下一个十年的知识基础设施牢牢锁在他们的私有服务器里。
而这也是为什么霍华德一直坚持开源,坚持研发端侧设备上运行的小模型,坚持让人类能够继续掌控自己编写代码、理解系统的能力。如果人类失去了这些底层能力,失去了与技术深度交互的机会,我们面临的不会是《终结者》里的审判日,而是一场缓慢的“安乐死”。在安逸的自动化中,人类集体失去思考能力,失去创新能力,最终失去掌控自己未来的权利。
这场来自澳大利亚莫顿湾的对话,让我们看到了AI发展背后被狂热掩盖的真相。霍华德的批判,从来都不是反对AI技术本身。相反,作为深度学习的奠基者,他比任何人都清楚AI的价值和潜力。他反对的,是把AI当作替代人类的工具,是那种为了短期效率牺牲人类认知成长的错误方式。AI的核心价值,应该是增强人类的能力,而非剥夺人类的机会。
在霍华德看来,AI时代我们真正需要的,不是放弃自己的双手和大脑,把一切交给机器,而是保持与技术的深度交互,建立起属于自己的心智模型和深层直觉。唯有如此,我们才能在享受科技带来的便利的同时,始终掌控着科技发展的方向,让科技真正成为人类进步的助力。而这,或许就是霍华德这场尖锐批判留给我们最核心的思考。
感谢收看本期视频,我们下期再见。
📌 文中提及的人物和组织
人物: Jeremy Howard, Andrej Karpathy, Peter Steinbach