
家人们,先来讨论一个问题:
你是不是也觉得,Vibe Coding 这种东西,是那些刚入行的实习生才会用的「玩具」?
作为一个在代码世界里摸爬滚打了十几二十年的资深工程师、架构师,你可能打心底里看不上这种「跟着感觉走」的编程方式,甚至对团队里小年轻提交的、由 LLM 生成的代码不屑一顾。
「这些 AI 太蠢了,连什么是『正确的逻辑』都搞不明白。」
如果你有类似的想法,那么今天这篇文章可能会彻底颠覆你的认知。
一位来自 MIT 的顶尖程序员、开源社区大神 Chris Rackauckas 最近发表了一篇博文,核心观点就一句话:
你们都错了。Vibe Coding 不应该是新手的拐杖,恰恰相反,它应该是、且只应该是专家才能驾驭的超级武器。
这位 Chris 可不是什么无名之辈。先看看他的履历:

就是这样一位硬核技术大佬,在一个月前还对 Vibe Coding 抱有强烈的偏见。而现在,他自己的工作流变成了:32 个 Claude agent 在 tmux 窗口里 7x24 小时不间断运行,通过 ssh 随时随地在笔记本或手机上查看进度、分配任务。
从一个坚定的反对者,到一个狂热的实践者,Chris 究竟想明白了什么?
这篇文章,就是他写给所有「看不起 Vibe Coding 的专家们」的终极指南。
想要正确地使用 Vibe Coding,首先要抛弃所有不切实际的幻想。
忘掉那些天花乱坠的营销宣传,LLM 根本不是什么博士级别的超级程序员,任何一个真正接触过博士的人来说,这都是显而易见的。
那么,LLM 到底是什么水平?
Chris 给出了他的答案:一个热心、勤奋,但能力有限的大二实习生。
想象一下,这个「实习生」具备以下特点:
现在,如果有这样一个实习生来到你的办公室,而你也愿意给他一个机会,你会怎么安排他的工作?
通常有两条路线。
第一条路:沙盒化探索。 对于一些你本人也不太熟悉的新技术、新工具,抱着「试试看,玩玩也无妨」的心态,让他去做一些探索性的项目。这种任务不太关心代码质量,反正这些代码最终大概率会被扔进垃圾桶,你想要的只是一个能跑起来的 demo,或者一个可以在社交媒体上炫耀一下的酷炫效果。这大概是很多人对 Vibe Coding 的第一印象,觉得「不过如此,没什么大用」。
第二条路:深度整合进成熟项目。 把他安排到你最熟悉、最核心的项目中。为什么?因为你对这个项目了如指掌,这让你审查他的工作变得极其高效。
这才是培养长期核心团队成员的正确方式,也正是专家级 Vibe Coding 的精髓所在。
Vibe Coding 把每个程序员都变成了团队领导,但这本身就是一个巨大的门槛。你不再是那个埋头敲键盘的人,而是变成了一个需要领导数十个「实习生」的管理者。

领导一个团队从来不是一件轻松的事。它需要技巧、耐心和时间。
很多人都有过「当老板多爽,动动嘴皮子就行」的幻想。但只要经历过一两次大学的小组项目,就会明白一个残酷的现实:如果领导方式不对,最终四个人干活,却只得到一个人的产出,甚至还不如自己单干。
为什么?
首先,你必须对项目领域有足够的深度认知。如果你自己理解一个问题、一段代码都需要花费大量时间,那么管理别人就是天方夜谭。你需要达到那种「扫一眼代码就能立刻指出问题」的境界:
这里缺少 X 和 Y 的测试,合并之前必须补上、给我画一张 Z 的图,我要看看它们之间的关系、你这个写法未来会是性能瓶颈,换掉。
这种直觉,没有上百万行代码的积累是根本无法形成的。而没有这种快速审查的能力,Vibe 编程只会让你陷入泥潭。
其次,也是更重要的一点:
如果你是一个不喜欢带实习生、觉得他们弊大于利的独立贡献者,那么 Vibe Coding 可能真的不适合你。
有些人天生擅长指导和管理,而另一些顶尖的聪明人就是无法从他人那里获得高质量的工作成果。这并不是能力批判,硅谷设立 IC 岗位正是为此。
如果你属于后者,Vibe 编程可能会让你比面对人类实习生时更加沮丧——因为 LLM agent 的记忆力甚至比最差的实习生还要糟糕。如果你没有领导团队的经验和心态,Vibe Coding 只会让你迅速陷入沮丧。
因此,正确的姿势是:做好和 AI agent 开会、给它们规划任务、并严格审查代码的心理准备。
如果你觉得这整个流程比自己写代码还慢,那就不要用 AI 编程;但如果你正好擅长团队协作,那么下来我们将探讨如何让这支「AI 实习生」大军变得高效。
很多专家对 Vibe Coding 的初体验都极其糟糕。他们会把自己正在攻克的、九曲十八弯的难题直接扔给 Claude,然后看着它漏洞百出的答案哈哈大笑,最后得出一个结论:「这玩意儿果然不行」。
但这从一开始就错了。你根本不会把这种级别的难题交给一个大二实习生,不是吗?
正确的工作流,更像是 管理一个敏捷开发团队,或者指导一个学生写论文。
你不可能每 10 分钟就跟实习生开一次会,那会把自己和别人都逼疯。对待 LLM agent 也是一样。
正确的做法是:

比如,一个典型的指令可以是:
尝试解决这个开源仓库里的一个简单 issue。创建一个 PR 提交解决方案。一小时后,检查 CI (持续集成) 的测试是否通过。如果测试失败,评估问题所在,如果是小问题就直接修复并提交 commit;如果问题复杂,就报告核心难点是什么。
这里的关键在于,不要花太多时间去精心设计任务。试试直接从你积压的 issue 列表里,让它自己去找「最简单的」那个。
尝试批量发出几十个指令,每过几个小时检查一次,自己则专注于亲自处理着最棘手的核心问题。
当 AI 的产出偏离轨道时,要做的唯一一件事就是——立刻扔掉它。
想象一下,如果一个实习生直接从 StackOverflow 抄了一大段他自己都解释不清的代码,你会怎么做?你会让他重写。
如果他无视团队已经写好的高质量模块,自己造了一个充满 bug、难以维护的轮子,你会怎么做?你会让他重写。
对待 LLM 也要一样。
很多 Vibe Coding 的博主会教你:「ChatGPT,再努力一点!帮我修复它!」 Chris 认为,这种做法比垃圾还垃圾。
LLM 被设计出来的目标就是取悦你,你让它「修复」,它甚至会为了让测试通过而直接修改你的测试用例,或者开始一本正经地胡说八道。
不要浪费任何时间去修正它的错误。一旦发现代码不对劲,直接放弃。这说明这个问题对 Claude 来说太难了,现在轮到你亲自出马了。
假设一天下来,40 个任务里成功了 10 个,成功率只有 25%,是不是听起来很糟糕?
大错特错。因为这 10 个成功的 PR,是你几乎没有花费任何心力的情况下 白捡来的。它们的成本只是你每月订阅费里消耗的 token。在 VC 还在为 AI 公司烧钱的今天,这点成本几乎可以忽略不计。
成功率是 Sam Altman 需要操心的问题,而你,只需要关心成功的总数。
所以,忘掉成功率,你的目标应该是最大化 总成功数。
Vibe coding 的价值在于,你有一大堆问题需要解决,只要其中一部分被解决了就行,你并不在乎具体是哪一部分。
这也引出了 Vibe Coding 中最反直觉,也是最核心的一个原则。
大多数人的第一反应是把 LLM 用在自己不熟悉的项目上,想让它帮你快速上手。结果呢?你大部分时间都花在了理解和审查它生成的代码上,比自己从头写还要累。
正确的做法是:把 AI agent 应用于你最熟悉、贡献最多的代码库上。
不是让你用它来解决那些让你绞尽脑汁的难题,而是去处理那些被你搁置了 6 个月的 「小问题」:
git bisect 找到一周前出现在主分支上的 性能衰退 的具体原因。// TODO,因为这部分很简单但需要花 4 个小时做单调乏味的体力活。这些任务的共同点是:如果有人把写好的代码放到你面前,你只需要 5 分钟 就能判断出它是否正确。
这才是 AI agent 最完美的用武之地。
Vibe coding 无法帮你解决某个「特定」的难题,那些硬骨头还得你自己啃。它的价值在于自动化你工作中大量简单、重复的「勤杂工」事务。
Chris 用他自己的 AI Bot 账号 (ChrisRackauckas-claude) 提交的几个真实 PR 案例,展示了他 vibe 的实际成果:

大部分失败的 PR 最终都会变成这样:虽然没解决问题,但它帮助找到了问题。
重构类任务是 LLM 的一大强项。
总结一下,真实的编程工作里 80% 都是这类事情。把它扔给 LLM,成功了就笑纳,失败了就自己多花几分钟搞定,不亏。
Chris 最喜欢的一个 prompt 是:「浏览 XXXXXXX 仓库,找到最简单的 issue,然后创建一个 PR 解决它。」这种指令经常能带来惊喜。
Chris 的这篇文章在 Hacker News 上引发了热烈讨论,各路程序员纷纷下场,观点交锋异常激烈。
这是最普遍的争议。一位用户直言:
「对我这种真正热爱编程的人来说,vibe coding 听起来就像地狱。」
另一位用户则认为,这更适合那些本该去做中层管理的人,因为 Vibe Coding 的核心是清晰地描述需求和定义上下文,这对于享受抽象和逻辑之美的程序员来说是一种折磨。
然而,支持者们反驳道,这恰恰是解放程序员的方式。一位用户的回答一针见血:
「我选择技术栈和项目架构。我选择代码模式和组织结构。当 agent 搞不定难题时我亲自上阵。这哪里像中层管理了?这只是摆脱了工作中所有低智商的部分。」
还有用户用「离岸外包」团队来举例子:

这套工作流和管理离岸开发团队的经验差不多。「成功的关键在于精确、详细的需求规格,以及极其严格的代码审查和测试。」我们需要一个新词来描述这种专业的用法,以区别于业余爱好者的「Vibe 编程」。
Chris 本人也亲自下场回应,他承认自己也热爱编程,但随着职责的增长,他的工作从「创造」变成了无休止地处理 issue 和 PR,以及为团队成员「扫清障碍」。Vibe Coding 的目标正是让 LLM 去处理那些琐碎的杂事,让他能重新找回「创造」的黄金时间。
一些评论者对 Vibe Coding 对初级程序员的影响表示了深深的忧虑。
「我看到的最大风险是,初级程序员正在失去真正学习如何编程的机会……这会造成灾难性的『审查疲劳』,他们会倾向于说『嗯,看起来差不多就行了』。」
Chris 对此表示认同。他认为,没有经过大量实践,是无法培养出快速审查代码的能力的。如果新手一开始就依赖 LLM,他们可能永远也学不会这项关键技能。
这恰恰印证了他的核心论点:LLM 辅助编程,真正的使用者应该是那些已经具备了强大代码审查能力的专家。
但也有人持不同看法,认为这可能会催生出一种全新的开发者——他们可能不精通底层代码细节,但极其擅长架构设计和产品实现,就像「非常优秀的产品经理」。
许多程序员分享了他们在使用 LLM 时的挫败经历。有用户花了两周时间,试图让 LLM 自动清理一个简单的功能标志,结果 LLM 反复犯错,效率甚至不如他自己手动 3 分钟搞定。
这说明,LLM 并非万能。它的能力边界非常清晰,正如 Chris 所展示的,它擅长的是模式化的、有明确规则可循的任务,而不是需要深度理解上下文和业务逻辑的复杂操作。
一位拥有 25 年经验的嵌入式开发者则分享了他的工作流:vibe-planning 先于 vibe-coding。他会花大量时间与 LLM 深入探讨架构和所有实现细节,甚至让 LLM 扮演「反对者」来挑战每一步计划。当整个方案被打磨得无懈可击后,剩下的编码就成了纯粹的体力活,可以放心地交给 LLM 完成。
看到这里,相信你已经明白了 Chris 的核心思想。
Vibe Coding 并非一种让人不动脑子的「傻瓜式」编程。恰恰相反,它是一套对使用者要求极高的工作方法论。
它将一个独立的程序员,提升为管理着一支由数十个「实习生」组成的团队的 CTO。
要驾驭这样一支「团队」,你需要:
从这个角度看,Vibe Coding 不仅不是新手的玩具,反而是为资深开发者量身定做的效率放大器。它不能取代专家的思考,但可以把专家从大量重复、枯燥、低价值的劳动中解放出来,让他们能将 100% 的精力投入到真正困难和有趣的核心问题上。
或许,这才是 AI 时代,顶级程序员应该有的样子。
那么,你准备好迎接你的 AI 实习生团队了吗?