扫码打开虎嗅APP
本文来自微信公众号: 极客公园 ,作者:Moonshot,编辑:靖宇,原文标题:《Vibe Coding,是怎么「玩废」程序员的?》
当大脑不再负重,技术肌肉就开始萎缩。
「自然语言就是新的编程语言。」这句话在过去一年里被无数人奉为圭臬。
特斯拉前AI总监Andrej Karpathy带火的「Vibe Coding」(氛围编程)更是让这种狂热达到了顶峰——你不需要懂语法,不需要管实现,只要对着AI喊出需求,然后Check一下感觉(Vibe)对不对就行了。
听起来,程序员的门槛似乎要被抹平了。
但就在上周,大模型领域的「优等生」、Claude(也是最受欢迎的Vibe Coding模型之一)的母公司Anthropic居然自己跳出来,给这股热潮泼了一盆冰水。

他们发了一篇题为《AI如何影响技能形成》的硬核论文,告诉我们一个残酷的真相:如果你在学习新东西时过度依赖AI,你不仅不会变快,你的核心能力还会出现显著退化。
甚至,你可能正在变成一个「半废」的工程师。
01
人是轻松了,脑子也废了
Anthropic的研究员这次很较真,他们找来50多位有经验的Python程序员,搞了一场「闭卷考试」。
考题是让大家去学一个从来没用过的冷门Python库:Trio,来完成一系列异步编程任务。这完美模拟了程序员在工作中经常遇到的场景:老板突然让你用一个你没见过的工具/框架去解决问题。
程序员被分成了两组:
「手动组」:只能看官方文档,用Google搜索,严禁使用AI。
「AI组」:配备了一个基于GPT-4o的强大AI助手,可以随时提问、让它写代码、修Bug。
任务结束后,所有人都参加了一场原本用于检验「学习成果」的考试。
考试内容包括编程语法、对代码逻辑的理解、阅读代码的能力,以及调试(Debugging)能力。
大家的第一反应肯定是:AI组肯定秒杀「土法炼钢」组吧?毕竟这可是GPT-4o级别的辅助。
但实验结果出来后,所有人都沉默了。

无AI组问答得分普遍高于AI辅助组|图源:Anthropic
最明显的结果是:成绩不好。数据显示,使用了AI的那组人,考试得分平均比手写组低了17%。
论文中特别提到,分差最大的领域在于调试(Debug)。
这并不意外,毕竟Vibe Coding最大的弊端就在于,用户不知道那堆代码是怎么跑起来的,排查和调试都无从下手。
「好吧,我承认我变菜了,但我至少变快了啊!」这可能是很多Vibe Coding爱好者的最后防线。
很遗憾,Anthropic的数据再次打脸。报告显示,在完成任务的总耗时上,AI组和手动组在统计学上没有显著差异:AI组平均23分钟,手动组平均24.7分钟。
为什么会这样?我们不是有AI加持吗?论文指出了一个被忽视的时间成本:
「交互税」。
有些程序员为了让AI写出完美的代码,花了大量时间在「写提示词」上。数据显示,有人甚至花了11分钟在跟AI聊天,或者在一项35分钟的任务里,花了30%的时间在构思怎么问问题。

「时价比」不高,花费的时间并没有转换成得分|图源:Anthropic
再结合上Vibe Coding最短的短板——Debug困难。AI组很容易陷入试错式调试(Iterative Debugging)的循环:AI生成代码-报错了-把报错丢给AI:「解决一下这个bug」-AI再生成-又报错了……
最后整个工程变成了不可逆转的「屎山黑箱」(「屎山代码」指一种混乱、难以理解和维护的代码状态,「黑箱」则指不知道内部结构的系统)。
在这个过程中,时间一分一秒流逝,而程序员的大脑处于一种「挂机等结果」状态,既没有节省时间,也没有学到东西。
到这儿你可能对Vibe Coding祛魅了?别急,这篇论文最精彩的部分,在于它通过录屏分析,把使用AI的程序员分成了六种流派。
研究员发现,虽然AI组平均分低,但组内方差极大。
有的人「废」了,有的人却「超神」了。区别全在于怎么用AI。
02
代码没编好,
用户画像倒是有了
第一类用户都可以归为「AI废人」的低分低能组,考试得分极其惨烈,平均分都在40%以下(不及格)。
这一大类里还能细分为三个小类,分别是:
甩手掌柜型(AI Delegation):直接把题目复制给AI,「帮我写个函数解决这个问题」,然后Ctrl+C/Ctrl+V,直接交卷。他们任务完成速度确实最快(平均19.5分钟),但学到的东西几乎为零,我奶奶来做都能行。
半途而废型(Progressive AI Reliance):刚开始还想自己试试,写了两行发现报错,心态崩了:「算了,AI你来吧。」然后彻底躺平。
盲目试错型(Iterative AI Debugging):这是最典型的「无脑Vibe」。遇到Bug不看回溯,直接把报错扔给AI。AI给出的代码看都不看就运行,不对再扔。这是也是最惨的一群人。浪费了大量时间后拿了个低分,完全成了AI的「人肉测试员」。
第二类用户就乐观多了,虽然用了AI,但考试成绩甚至能和手写组持平(65%-86%),寻找到了人机共生的解决方案。

拿AI作「辅助驾驶」的三类人得分更高|图源:Anthropic
这一大类里也能细分为三个小类:
打破砂锅型(Conceptual Inquiry):他们几乎不让AI写代码。他们只问概念:「为什么要用await?」「这是什么原理?」搞懂了原理,再自己手写。这是真正的「把AI当导师」,而不是当实习生,而且这种Vibe Coding也得需要用户真的「懂行」、「会问」。
先斩后奏型(Generation-Then-Comprehension):让AI写代码,但在复制粘贴之前,他们会追问:「解释一下这行代码为什么这么写?」这么一句,就能让AI先自审一遍,自己也能看到AI的编程思路,把AI的输出转化为了自己的知识。
混合双打型(Hybrid Code-Explanation):融合了上面两个类型的特点,会写「请写出代码,并解释每一步的逻辑。」这种提示词,强制AI输出推理思维链,让自己跟上AI的思路,也便于去Debug。
为什么用的是同一个AI,人和人的差距这么大?
或许并不是AI废掉了程序员,而是我们自己在「偷懒」的诱惑面前,主动选择了缴械投降。
03
Vibe Coding的代价是
Anthropic的这篇报告,其实触及了一个心理学概念:
认知卸载(Cognitive Offloading)。
即当工具足够强大时,我们会下意识地把原本需要大脑处理的计算、记忆、逻辑推演任务,「卸载」给工具,就像自动驾驶一样。
在AI时代,我们正在把「理解力」卸载给大模型。
论文里用了个比喻:AI就像一副「外骨骼」,当你穿着它时,你力大无穷,能搬起千斤重。但问题在于,肌肉的生长需要负重和撕裂,如果你长期穿着它不脱下来,你的肌肉就会因为缺乏刺激而萎缩。

研究认为,过度依赖AI会直接跳过思考过程|图源:Anthropic
这篇论文中有一个非常不起眼、但细思极恐的数据:报错数量。
手动组在做任务时,平均每人遇到了3次报错。所以他们被迫停下来,盯着红色的报错信息,去查文档、去思考「为什么类型不匹配」、「为什么线程没挂起」。
而AI组平均每人只遇到了1次报错,大多数时候,AI给出的代码不仅能跑,而且跑得极其顺滑。

AI组的报错显著少于无AI组|图源:Anthropic
这听起来是AI的优点?不,Anthropic的研究员指出,这恰恰是问题的根源。
论文明确写道:「遭遇并独立解决错误,是技能形成的关键一环。」
手动组之所以学得好,是因为他们经历了「摩擦」。每一次报错,都是现实世界给思维的一次「阻力」。正是为了克服这种阻力,大脑被迫建立了深刻的心理表征(认知心理学术语,指当外部信息进入人脑之后,它会被我们的大脑加工,以一种特别的结构储存在大脑中)。
而AI组的体验就太「平滑」了。但代价是,你失去了对地面的「抓地力」:脱下外骨骼,路都不会走了。
这种「AI过于平滑」的通病,不仅仅存在于编程中,正在蔓延到我们生活的方方面面。
在编程里,它消除了Debug的痛苦,让你误以为自己掌控了系统;在创作里,它消除了构思的枯燥,让你误以为自己拥有了创意;在人际关系里,它甚至也在消除「摩擦」。
就像很多AI成瘾的问题,都源自于AI永远情绪稳定,永远秒回,永远顺着你的话说,这种极致的「平滑关系」,何尝不是一种Vibe Social。
04
「我行我上」的幻觉
Vibe Coding最迷人也最危险的地方,在于它制造了一种「快乐但无知」(Happy but Ignorant)的幻觉。
论文中提到了参与者们微妙的心理变化:AI组的参与者普遍觉得任务「更容易」,「手动组」则觉得任务很难,过程很痛苦。
但反转来得很干脆:那些觉得「容易」的人,在随后的测试中一塌糊涂;而那些觉得「困难」的人,虽然过程煎熬,但自我报告的「学习和成长感」却更高,分数也更高。
所以Vibe Coding让你在写代码的过程中感觉自己是个天才,直到代码报错的那一刻,你才发现自己只是个「睁眼瞎」。
在面对「未知」时,AI是公平的,它会平等地「废掉」每一个试图偷懒的大脑,无论这个大脑曾经多么睿智。
研究人员按照编程经验将参与者分成了三层:1-3年、4-6年、7年以上。
结果数据显示,在所有经验层级中,不使用AI的组,考试得分都高于使用AI的组。

哪怕是资深工程师,在AI辅助下得分也低于无AI组|图源:Anthropic
这意味着,即使你是入行7年以上的老鸟,在面对一个全新的技术领域时,如果过度依赖AI,你的学习效果依然会大打折扣。
当然了,Anthropic的这篇论文也不是让我们因噎废食,退回到手写代码的时代。
它更像是一份「AI时代生存指南」。想要不被AI「废掉」,我们需要改变使用习惯,从报告中的「高分高能组」那里取经:
比如多问「为什么」,少说「帮我做」;哪怕是AI生成的代码,也要像审视同事的代码一样,逐行阅读,理解代码逻辑;珍视Debug的机会,下次遇到Bug,试着先自己分析5分钟,而不是5秒钟后就截图发给ChatGPT。
AI确实能让我们跑得更快,但前提是,你得知道路在哪里,以及车坏了该怎么修。
毕竟,当自动驾驶失效的时候,只有那个还没忘记怎么握方向盘的人,才能救全车人的命。