yugasun
Published on

Vibe Coding 深度解析:AI 编程的范式转移、控制权重构与工程现实

Authors
  • avatar
    Name
    Yuga Sun
    Twitter

Vibe Coding 文章题图

为什么现在必须重新谈 Vibe Coding?

过去一年,Vibe Coding 从一句带着实验意味的说法,迅速演变成工程团队内部的高频词。它最初描述的是一种几乎不碰代码的开发体验:你把目标用自然语言说出来,模型持续生成实现,你主要负责观察结果、补充反馈、修正方向。这个说法之所以会爆红,不是因为它定义严谨,而是因为它准确命中了很多开发者第一次使用 coding agent 时的真实心理落点:

代码开始像一种可被“调度”的材料,而不再只是必须逐行亲手完成的劳动。

但到了 2026 年,这个词的含义已经明显扩张。它不再只指周末原型或玩具项目里的“先跑起来再说”,而是越来越多地被拿来讨论生产系统、团队流程、代码审查负担与工程责任。也就是说,Vibe Coding 已经不只是一个体验标签,而是一个组织问题:当 AI 能够大规模接管中间实现步骤时,团队到底把哪些判断权交出去了,又把哪些后果留给了自己?

这也是我想回答的核心问题:Vibe Coding 到底改写了软件工程的哪一层,为什么它一边带来巨大的生成红利,一边又放大验证成本、理解成本与责任风险?

它真正改写的,不是写代码,而是控制面

Vibe Coding 控制面变化

先给出本文的判断:Vibe Coding 的本质不是“AI 会不会写代码”,而是“人类把多少控制权从实现层转移到了意图层,并把多少验证压力留在了自己身上”。

在传统开发里,需求、设计、实现、验证、上线大致还在同一条责任链上。你决定怎么拆模块,你亲手实现关键逻辑,你知道哪些边界条件最脆弱,所以系统出问题时,你虽然不一定立刻修好,但通常知道该先查哪里。这个链条的核心不是效率,而是理解和责任始终绑定。

而在 Vibe Coding 语境下,AI 开始承担越来越多中间执行步骤。你描述目标、给约束、看 diff、跑结果,它负责铺实现路径。于是软件工程里最关键的变化不是“写代码更快”,而是人类从“直接实现者”变成了“目标定义者、结果验收者和最终责任人”。代码的作者身份变得模糊,但责任不会跟着模糊。

Vibe Coding 改变研发流程

这张图里最值得盯住的不是中间的 agent,而是被单独拉出来的验证层。因为在 AI 编程时代,最稀缺的资源不再只是“把东西做出来”,而是“定义清楚约束、验证输出是否满足约束,并承担上线后的真实后果”。生成会越来越便宜,但验证与责任不会自动变便宜。真正会越来越贵的,恰恰是人类的判断力、审查精力和对系统的解释能力。

这个词到底在指什么?真正的分水岭不是 AI,而是控制权交到了哪一层

Karpathy 最初对 Vibe Coding 的描述,之所以具有传播力,是因为它准确说中了一个新体验:开发者可以暂时“忘记代码本身”,主要通过语言和反馈来驱动实现。这和早期 Copilot 式补全有根本区别。Copilot 时代,AI 更像一个顺手的自动补全器,你仍然主导结构、亲手实现关键部分;Vibe Coding 时代,AI 更像一个持续工作的执行体,人类在很多时候只给目标和修正,不再逐层落实现细节。

问题在于,行业对这个词的使用已经发生语义漂移。CodeRabbit 对术语演化的梳理很有代表性:这个词已经从描述“周末原型的放手式写法”,逐渐变成描述“任何高强度、提示词驱动的 AI 编程实践”,尤其是当这些实践开始进入生产系统之后,它越来越带有质量、审查与事故层面的含义。也就是说,争论 Vibe Coding 时,很多人其实并不在讨论同一件事。

更有用的方式不是问“你有没有用 AI 编程”,而是问:你到底把哪一段控制权交出去了? 这也是区分补全式、辅助式、代理式和近似全托管式工作的关键。

模式人类主要职责AI 主要职责控制面特征主要风险
补全式设计、实现、Review局部补全、语法和样板代码人类仍控制实现路径局部错误被忽略
辅助式设计、拆任务、验收生成模块、测试、文档人类控制结构,AI 提高吞吐理解深度下降
代理式给目标、给约束、看结果多步修改、运行命令、迭代修复中间执行链路部分黑盒化验证成本迅速上升
全托管式高层业务判断从需求推进到部署人类只保留结果责任事故发生时缺乏系统解释能力

真正的分水岭不是有没有用模型,而是你是否还保有对实现路径的充分解释能力。只要团队已经习惯让 agent 一次改十几个文件、自己跑测试、自己修错、自己决定抽象层次,然后人类只在末尾看一眼“似乎能跑”,那它事实上就不再是传统意义上的“辅助开发”,而是在向代理式开发滑动。很多团队的问题,不是没有意识到这一点,而是直到线上出现偏航,才发现自己其实早就把关键控制面交出去了。

为什么它会突然流行?因为“可用阈值”被跨过去了

Vibe Coding 的爆发,并不是一句口号带来的文化现象,而是三种条件叠加的结果。

第一,模型能力跨过了大众感知中的“可用阈值”。Stanford AI Index 2026 的 Technical Performance 章节给出了一个很关键的背景:前沿模型在多个评测上以极快速度逼近甚至打穿既有 benchmark;而在 OSWorld 这类真实计算机任务基准上,agent 准确率从大约 12% 升到了 66.3%,距离人类仅剩约 6 个百分点。对开发者来说,这种提升的意义不是抽象的“更聪明”,而是“多数时候它真的能产出一版像样的起点”。一旦起点可用,人就会自然把第一反应从“自己先写”切换成“先让 AI 写一版”。

第二,工具不再只是生成文本,而是进入了生产链路。Claude Code 官方概览给出的定义已经很直接:它是一个会读代码库、编辑文件、运行命令,并能与开发工具集成的 agentic coding tool。这个变化很关键,因为当工具从“对话生成器”升级成“可操作仓库的执行体”,开发者交出去的就不只是文案式草稿工作,而是包含实现、改动和验证在内的一整段工作单元。

第三,反馈回路足够强,足以改变习惯。Vibe Coding 最诱人的地方不是它在理论上多先进,而是它在体验上太顺手了。一个想法在几小时内变成可交互 demo,这种“意图几乎直接转化为软件”的感觉,会极大地改变人的工作偏好。很多工作流之所以迅速普及,并不是因为边界想清楚了,而是因为使用体验已经先一步占领了习惯。

所以 Vibe Coding 的流行,不是因为行业已经达成了工程共识,而是因为体验优势先压倒了工程谨慎。这也解释了为什么今天关于它的讨论会同时出现兴奋、焦虑、上瘾和反思。

生成成本为什么持续下降,验证成本为什么反而开始吞掉红利?

Vibe Coding 控制面变化

如果只把 Vibe Coding 理解成“写代码更快”,那就会错过这件事最关键的经济学变化。AI 确实让生成成本大幅下降了。过去需要半天甚至一天的样板实现、接口粘合、脚手架搭建,现在常常能在几十分钟内完成。这个红利是真实存在的,而且对个人开发者、小团队和原型验证尤其显著。

但工程上真正贵的,从来不是把 happy path 拼出来,而是证明它在复杂条件下不会出问题。AI 改变的是生成速度,不是系统可信度的证明难度。你让模型给 SaaS 系统加 Stripe 支付,它可以很快补出前端页面、后端 webhook、数据库迁移,甚至还能顺手写几条测试;但真正危险的问题往往出现在之后:重试是否幂等,支付失败后权限回收是否一致,日志是否泄露敏感字段,异常路径是否可观测,人工兜底流程是否存在。

也就是说,AI 把“做出来”的成本打下来了,却没有同步把“证明没问题”的成本打下来。很多团队感受到的真实张力,正来自这里:需求推进更快了,但 Review、测试、事故排查和架构解释的压力并没有变小,反而随着 AI 输出规模增大而同步上涨。CodeRabbit 对这个词语义漂移的分析里,有一句很值得记住的判断:问题已经不再是 creation problem,而是 confidence problem。这句话非常准确。今天最累的往往不是最会写提示词的人,而是那些必须替大量 AI 输出兜底、解释和签字的高级工程师。

从这个角度看,Vibe Coding 并没有消灭工程成本,它只是把成本从“实现阶段”重新分配到了“验证阶段”和“责任阶段”。如果团队只吃到前半段红利,却没有重建后半段护栏,那么省下来的开发时间,通常会在未来以返工、线上事故或系统不可维护的形式被连本带利要回去。

Addy Osmani 反复强调的 AI-Assisted Engineering,到底想守住什么?

我认同 Addy Osmani 这一年里持续强调的一个区分:Vibe Coding 不等于 AI-Assisted Engineering。 这不是词语洁癖,而是在区分“AI 参与工程”与“工程判断是否仍被保留”。

在 Addy 对 2026 年 LLM coding workflow 的总结里,最值得注意的不是他用了哪些工具,而是他始终把工程纪律放在前面:先写 spec,再写 plan,再拆小步任务;给模型足够的上下文和规则;要求测试、审查、自动化检查进入闭环;坚持人类必须 review 和理解最终要 merge 的代码。这套方法看起来不炫,但它真正守住的是一件比“写得快”更重要的事:人类不能把系统判断权一起外包出去。

Vibe Coding vs AI-Assisted Engineering

把这个差异压缩成一张表,会更清楚:

维度Vibe CodingAI-Assisted Engineering
起点先给意图,边做边修先写 spec 和 plan,再执行
任务粒度容易一次做很大块强调小步迭代和可回滚
对模型的定位主执行体,偏黑盒高产助手,受流程约束
对验证的态度经常后置明确前置并嵌入闭环
人类角色看结果、修方向定义边界、审核质量、承担责任

这里真正重要的不是某个具体工具,而是工作流哲学。好的 AI 编程不是少思考,而是把思考前置,把验证显式化,把责任重新钉回到人类身上。Vibe Coding 最容易制造的错觉是:“既然实现很便宜,那就先做出来再说。” 但复杂系统并不会因为实现更便宜,就自动变得更容易理解、更容易维护。你前面省掉的结构化思考,最后往往会在调试、返工和事故复盘里补回来。

长期最危险的,不是 bug,而是团队慢慢失去系统解释能力

关于 Vibe Coding 的风险,很多讨论停留在“AI 会写错代码”。这当然是真的,但它还不是最深层的问题。更危险的是,团队会逐渐失去系统解释能力。

所谓系统解释能力,不只是读懂单个函数,而是能回答一组更关键的问题:为什么模块这样分层,为什么这个边界在这里,为什么一个服务失败会牵动另一个服务,下个月需求变化时第一刀应该切在哪里。它本质上是一种组织级工程认知,而不是单个文件的阅读能力。

当团队越来越习惯“有需求就让 AI 改,改完能跑就 merge,出问题再继续问 AI”,短期内未必立刻崩坏,因为 AI 的确能继续帮你把很多局部问题补起来。但长期看,系统增长速度会开始超过团队对系统的理解速度。功能还在增加,组织却越来越难解释它为什么现在长成这样。到那时,架构演进就会开始像考古,而不是设计。

这也是为什么我认为 Vibe Coding 改写的核心不是实现,而是责任结构。现实中常见的链条已经变成:需求是你提的,架构方向是 AI 推出来的,代码是 AI 改的,测试是 AI 写的,问题是线上用户报的,最后需要承担结果的人还是你。执行权可以外包,责任权并不会跟着外包。这种“理解感下降但责任感不下降”的错位,正是很多团队焦虑的根源,也是很多组织开始重新强调 spec、review、observability 和回滚纪律的真正原因。

哪些项目适合高强度使用,哪些项目必须收紧?

Vibe Coding 项目适用性

把 Vibe Coding 讲成原罪并不准确。很多场景里,它确实非常有效。真正重要的问题不是“能不能用”,而是“在什么类型的系统里可以用到什么强度”。

我更倾向于用两个尺度来判断:系统寿命责任密度。系统寿命问的是,这个东西是用来活三天还是活三年;责任密度问的是,一旦出错,会不会伤到钱、客户、数据、合规或品牌。寿命越长、责任密度越高,团队越不能把结构理解和验证责任交给即兴生成。

项目类型推荐方式原因
个人 demo / 黑客松高强度 Vibe Coding目标是验证想法,不是长期维护
MVP 验证代理式,但必须有护栏可以换速度,但要保留回滚与监控
企业内部工具辅助式为主维护责任真实存在,后续成本不可忽视
核心业务系统低 Vibe,高规范事故代价高,解释能力必须保留
金融 / 安全 / 医疗相关严格受限使用合规和验证成本远高于生成收益

这个框架的价值,在于它把争论从意识形态拉回到工程决策。对短命、低责任项目,你完全可以激进地利用 AI 的速度红利;但对长寿命、高责任系统,成熟团队会更像是在做“受控的 agentic engineering”,而不是“彻底交给 vibes”。

更成熟的姿势,不是把 AI 当隐形 CTO,而是把它当高产但需要约束的执行体

如果一定要给今天的 coding agent 找一个组织角色,我更愿意把它看作一个极其高产、知识面很广、不会累,但经常自信犯错的执行体,而不是一个可以交出最终判断权的隐形 CTO。

这个比喻的价值在于,它能自然导出正确的分工。你应该尽量把低责任、高重复、易验证的工作交给它,比如脚手架、重复性重构、文档草稿、测试样板、规则清晰的机械改造。因为这些任务最适合让 AI 去换吞吐,它能明显降低人类的机械劳动密度。

但凡是高责任、难验证、会影响长期结构的问题,比如架构边界、安全约束、数据模型演化、事故根因判断、关键链路抽象设计,人类团队就必须握住所有权。因为这些问题真正难的地方,并不在于“有没有一个答案”,而在于“这个答案是否值得承担长期后果”。AI 很擅长给出一个看起来像答案的东西,但它并不会替你承担后果。

一个能吃到红利、又不把团队带沟里的实践框架

如果要把上面的判断压缩成一组可执行原则,我会给团队这六条。它们并不花哨,但几乎每一条都直接对冲了 Vibe Coding 的真实风险。

1. 先写 spec,再让 AI 生成

不要从“帮我把这个做了”开始。至少先写清目标、约束、不能破坏的边界和验收标准。spec 不需要冗长,但必须足够明确,让人和模型处理的是同一个问题。

2. 任务必须切小,改动必须可回滚

不要让 AI 一次改几十个文件再统一 review。小步生成、小步验证、小步提交,本质上是在给验证成本做上限控制。

3. AI 交付必须绑定测试与运行反馈

没有测试、没有最小运行验证的 AI 改动,不应算完成。AI 很擅长在已有护栏内迭代,但没有护栏时,它也很擅长自信地产生“已经完成”的错觉。

4. 高责任系统必须先补 observability

日志、metrics、trace、feature flag、回滚机制,在 AI 时代比“代码是不是优雅”更重要。你面对的是更高频率的变更,不是更少的变更。

5. 架构所有权必须明确归人类

模块如何拆、边界如何定、哪些抽象需要长期稳定,这些不能完全交给模型即兴发挥。架构不是一次输出,而是一套要持续演进的约束系统。

6. Review 不能只看能不能跑,还要看能不能解释

成熟团队的 review 问题不该只停留在“有没有 bug”,还应追问:为什么这层放在这里?如果下个月要改,第一刀切哪里?当前最脆弱的点是什么?如果负责人答不上来,说明系统理解已经落后于系统增长了。

这些原则看起来保守,实际上是在为更高强度的 AI 协作创造前提。没有这些护栏,团队得到的通常不是“更快的工程”,而是“更快地产生未来必须偿还的问题”。

结论

Vibe Coding 最吸引人的地方,是它让软件第一次如此接近“用自然语言直接制造”。但软件工程最残酷的事实并没有变:能跑不等于可靠,生成不等于理解,上线不等于可维护,快不等于对。

所以我对 Vibe Coding 的综合判断是:它不是一场“AI 取代程序员”的简单叙事,而是一场“控制面上移、验证压力上升、责任重新集中到人类”的工程再分工。 成熟团队不会拒绝它,也不会神化它。他们会在该快的地方极致快,在该慢的地方坚持慢,在适合外包给 AI 的地方大胆外包,在必须由人类承担后果的地方牢牢握住判断权。

如果说过去写代码的门槛是“会不会实现”,那么未来更高的门槛会越来越像这样:当 AI 已经能大量生成实现时,你是否仍然比它更懂系统、边界、验证和后果。 未来最稀缺的工程师,不会只是写得快的人,而是能在生成极便宜的时代,仍然对系统说清楚 why、where 和 what breaks 的人。这才是 Vibe Coding 时代真正的专业主义。

参考资料