编者按:vibe coding不是编程的终点,而是Context Engineering驱动的协作智能的起点。那些能够最早理解并应用这种整合视角的人,将在下一轮技术变革中获得决定性优势。
自今年2月AI研究大牛Andrej Karpathy发了那条只有185个字的推文后,整个编程界都掀起了大地震。在这条推文中,"vibe coding"首次出现在了大众视野:"总是'全部接受Accept All',不再阅读差异,遇到错误信息就直接复制粘贴,通常就能修复"。这种看似"随意"的编程描述,立即引起了学术界的关注,剑桥大学和微软研究院的研究者敏锐地意识到这可能代表着编程范式的重大转变,决定对这一现象进行深入的学术研究。https://arxiv.org/pdf/2506.23253
两位研究者的人工分析杰作
剑桥大学和微软研究院的两名研究者,用完全人工肉眼分析了YouTube和Twitch上35小时的真实vibe coding视频,在这个AI泛滥的时代,这种纯人工的学术坚持堪称珍贵。他们发现,这压根不是程序员变懒了,而是编程范式的根本性转变:这种转变背后体现的是"物质脱离"(material disengagement)理论,程序员不再直接操作代码这个"物质基础",而是通过AI中介来编排代码生产。这种转变可能预示着整个知识工作领域的变化趋势,就像从手工作坊到工业化生产的转变。但与完全的自动化不同,vibe coding仍需要人类的战略思维和质量把控。
九个分析维度:解构vibe coding的秘密
视频样本说明:研究者最终选择了5个高质量视频进行深度分析,按平台和时间顺序编号:YT15、YT18、YT21、YT22(Y--Tube视频)和TW1(Twitch视频)。这些编号将在后续分析中反复出现,代表不同的vibe coding实践案例。
完整分析框架:9个维度×20个子类别的系统性解构
研究者构建了一个精密的分析框架,将vibe coding现象分解为9个顶级维度和20个详细子类别。这个框架为理解这一新兴编程范式提供了系统性的分析工具。
Vibe Coding分析框架 - 涵盖从目标设定到表演影响的完整研究维度
第一维度:目标设定的双重视角
应用类型的多样性光谱
研究者深入分析了vibe coding的应用范围,发现了从简单到复杂的完整光谱:
简单级别:YT15中的动画图表项目,用于解释编程代理工作流程
中等复杂度:TW1开发游戏网站的会员专属功能
高复杂度:YT21的代码库聊天应用(集成GitHub仓库、用户认证、持久化会话)和YT22的国际学生求职辅助平台(简历定制、支付处理、文件上传)
这个发现很重要,因为它证明vibe coding不只是做玩具项目的工具。
成功预期的现实主义转向
更有趣的发现是程序员对成功的预期态度呈现出明显的分化模式:
YT15:开始期望完全成功 最后调整为接受"80%的效果"
TW1:直接预期完全成功,把vibe coding当作添加网站功能的实用工具
YT21:表现出强烈的完全成功预期,计划将应用产品化
YT22:采用了MVP思维,明确不追求"生产就绪"的完美状态
这种80-90%满意度的普遍现象,其实反映了用户对AI能力边界的逐渐认知。
第二维度:意图的动态塑造过程
初始意图的预规划特征
研究者发现,大多数创作者在开始vibe coding之前已经有了相当清晰的目标框架:
YT15:提前构想了图表结构和组件
YT21:预先分解了复杂目标为可管理步骤
YT22:甚至预先确定了技术栈、认证方法和商业化策略
这打破了"AI驱动的完全即兴创作"的刻板印象,说明预先规划在vibe coding中依然重要。
意图精化中的"上下文动量"现象
这里出现了论文最重要的概念之一"上下文动量"。研究者观察到,AI的早期解释和输出会产生路径依赖效应,深刻影响项目后续发展。
典型案例:YT18项目中的日期选择器
用户初始需求:日期范围功能
AI的理解:单日期选择
用户反应:接受了这个"误解"
后续影响:所有功能都围绕单日期逻辑展开
持续效应:即使用户后来明确要求日期范围,AI仍受之前实现影响
这种现象既可能是限制,也可能带来意外的创新灵感,就像YT15中的动画功能就是基于现有代码结构的临时想法。
第三维度:工作流程的系统性解构
标准化的八步迭代循环
研究者通过对比所有视频,总结出了vibe coding的标准工作流程:
制定目标:设定目标或子目标
提示生成:提示模型生成代码
代码审查:审查生成的代码
决策判断:接受或拒绝更改
实际测试:在应用中测试更改
问题识别:识别错误或改进领域
策略调整:精化提示或转向手动调试
循环迭代:重复直到子目标满足
这个循环的关键特征是"迭代目标满足",每次循环都在逐步逼近最终目标,而不是一次性完成。
以AI-IDE为核心的工具生态系统
研究者详细分析了vibe coding的技术基础设施,发现了一个复杂的工具生态:
核心平台:Cursor作为主平台,支持o3-mini和Claude 3.5 Sonnet等模型切换
输入增强:语音转录工具将口语转化为文本提示
实时反馈:浏览器用于实时预览和测试
调试支持:开发者工具(检查器、控制台、网络标签)用于错误诊断
环境监控:终端监控服务器进程
辅助工具:Excalidraw这样的规划工具和Code Guide这样的元级工具
这个生态系统的复杂性说明,成功的vibe coding需要的不只是一个AI模型,而是完整的工具支持体系。
第四维度:提示策略的四个子维度
会话设置的系统性准备
研究者发现,有经验的用户会进行大量的预备工作:
TW1:使用GitHub上的.cursorrules模板并个性化定制
YT21:基于AI集成能力选择IDE,预选Claude 3.5 Sonnet模型
YT22:使用Code Guide预处理需求,生成项目计划和文档来减少AI幻觉
这些准备工作体现了"磨刀不误砍柴工"的智慧,也说明高质量的vibe coding需要相当的前期投入。
明确提示策略的技术组合
具体的提示技术非常丰富,主要包括:
上下文管理:开启新composer窗口创建清洁环境
具体引用:按名称指代函数、变量、API
结构化指令:使用编号列表明确期望和约束
示例提供:粘贴期望的JSON响应格式
前向引用:引用模型之前的输出进行纠正
文档集成:提供官方文档URL并指示"使用文档"
这些技术的组合使用体现了提示工程已经发展为一门相当成熟的技艺。
提示粒度的光谱式控制
研究者观察到提示粒度从极简到极详的完整光谱:
高级指令:"创建对话API"
详细技术规范:"不要使用对角线,箭头应指向框的中间"
混合目标提示:同时包含多个不相关需求
YT21的开发者明确表达了自适应策略:"我从询问愚蠢问题开始,如果AI困惑了,我会提供更多细节"。这种灵活的粒度控制可能是区分新手和专家的重要指标。
多模态输入的现实状况
尽管Karpathy强调语音输入,实际观察显示文本仍是主导模式:
YT15:虽然使用语音转录,但仍频繁切换到文本输入
YT21和YT22:几乎完全依赖文本提示
代码复用策略:主要通过文本实现,复制错误信息、函数体、预期输出格式作为上下文
这个发现说明理想的vibe coding和现实的vibe coding之间还存在差距。
第五维度:调试策略的混合特征
传统调试技能的持续重要性
研究者发现,调试是最能体现专业知识价值的环节。程序员依然大量使用传统技术:
视觉检查:YT15通过视觉检查识别图表差异
开发者工具:YT21和YT22深度使用浏览器开发者工具分析错误、检查网络调用、监控终端输出
假设验证:所有用户都会形成调试假设并进行验证
这些传统技能在AI时代不但没有过时,反而变得更加关键,因为它们是判断AI输出质量的基础。
AI辅助调试的新模式
同时,AI也在调试中发挥独特作用:
直接修复:将错误信息复制粘贴给AI并要求修复
语言诊断:通过自然语言描述问题症状引导AI诊断
绕过复杂流程:使用AI绕过复杂的手动调试过程
但关键是,这种AI辅助建立在程序员准确识别和描述问题的基础上,AI更像是一个执行修复方案的工具,而不是诊断问题的专家。
代码阅读的"印象式扫描"
研究者观察到代码阅读方式的根本性变化:从逐行仔细审查转向快速的"印象式扫描"。
关键扫描要素:
视觉差异标记:绿色新增、红色删除
关键指标检查:正确的API调用、标识符使用
整体结构评估:特别是HTML/React组件的架构
直觉判断:通过"一瞥"判断代码是否"看起来对"
这种能力需要深厚的专业知识支撑,因为只有专家才能通过快速扫描判断代码质量。
第六维度:挑战识别与应对策略
超越代码错误的深层挑战
研究者识别出几类独特挑战,这些挑战的复杂性远超传统编程:
表达困难:视觉和抽象概念的语言表达困难(YT15描述箭头位置的挫折)
能力边界不清:不知道特定模型能否完成特定任务
AI行为失控:AI幻觉和指令遵循失败(生成不存在的属性、忽略系统指令)
工具限制:不知道如何回退Cursor中的更改
元认知负担:何时依赖AI vs手动干预的决策复杂性
这些挑战需要全新的技能组合来应对。
创新性应对策略的涌现
应对策略同样富有创新性,体现了社区的快速学习能力:
迭代提示精化:从模糊到详细逐步改进
系统指令调整:强调可接受行为模式的高阶调整
战略性模型切换:基于感知强项在不同AI间选择
社交化提示:用情感诉求"说服"AI("兄弟,你这样会失去光环的")
这些策略的出现说明vibe coding社区正在快速积累和分享最佳实践。
第七维度:专业知识的三重部署
专业知识使用的时机分析
研究者发现专业知识在vibe coding全程都在发挥作用,但方式发生了变化:
初期阶段:工具和模型选择
生成阶段:代码生成阶段的快速评估和错误检测
诊断阶段:问题诊断阶段的跨文件引用和外部文档对照
控制阶段:质量控制阶段的功能对齐判断
这种"全程参与但角色转换"的模式,要求程序员具备比传统编程更强的综合判断能力。
三维技能矩阵的出现
vibe coding需要的专业知识呈现立体的三维结构:
维度一:传统编程知识
代码质量评估
可维护性判断
故障定位能力
调试技能
维度二:AI专业知识
模型理解和选择
提示工程实践
上下文窗口概念
AI能力边界认知
维度三:产品管理能力
目标形成和分解
功能需求转化
用户需求理解
MVP思维模式
这种多维技能要求可能重塑编程教育和人才培养模式。
手动工作切换的战略决策
研究者分析了程序员选择手动工作的具体情境:
效率考量:提示开销超过直接编辑时
精化需求:AI"接近"目标后需要手动调整
调试需要:错误出现时的即时转换
个体偏好:YT15避免手动调试 vs YT21频繁手动干预
这些切换点的识别,可能是衡量vibe coding熟练程度的重要指标。
第八维度:信任的动态建立机制
分粒度信任的精细化特征
研究者观察到信任的复杂性远超简单的"信任"或"不信任":
任务差异化信任:对不同任务类型的信任程度不同
动态期望调整:基于历史表现动态调整期望
控制感维持:通过持续审查而非盲目接受来维持控制感
YT21开发者的表述很典型:"我喜欢审查更改,因为这有助于我保持一定程度的控制",这体现了一种成熟的信任态度。
信任发展的典型模式
典型的信任发展轨迹呈现清晰的阶段性特征:
标准轨迹:初始谨慎接受 成功经验强化 信任水平提升 意外失败 重新校准
实际案例:YT15中AI成功生成复杂动画时的惊喜反应("如果真的工作会很疯狂"),以及成功后的信任强化("哇,这正是我要求的"),展示了这种动态过程。
这种基于经验的信任建立比理论上的信任度量更可靠。
第九维度:定义演化与表演影响
vibe coding定义的社区协商
研究者发现,vibe coding的定义正在通过实践进行社区协商,呈现多元化特征:
TW1视角:"让AI承担重活"
YT21视角:"只是与应用聊天,说做这个做那个"
艺术化比喻:"像Bob Ross绘画一样自由"
YT22平衡观:"不深入代码,拥抱AI"但又强调"不盲目跟随"
这种定义的多样性和演化性,体现了新兴实践的特征,意义在使用中建构。
流媒体表Y对实践的塑造影响(Y=演)
研究者敏锐地观察到表Y因素对vibe coding实践的双重影响:
表Y化倾向:
能力展示夸张化:频繁的"哇"、"不可思议"反应
叙事流畅性妥协:YT21为保持视频节奏选择"直接尝试"而不测试API
里程碑人为设置:YT22明确为视频长度考虑设置停止点
真实性保持:
展示真实的调试和手动干预过程
保持问题解决的完整性
这种表Y与实践的互动关系,可能正在塑造vibe coding文化的发展方向。
看完这以上9个维度的分析,您可能会发现vibe coding实际上就是Context Engineering在编程领域的自然涌现实践,这不仅仅是巧合,而是AI协作模式演化的必然结果。如果说vibe coding揭示了"AI协作编程是什么",那么Context Engineering就提供了"如何系统性地设计和优化这种协作"的完整方法论。您可以看下昨天这篇《第一性原理的Context Engineering工具、指南》
理论突破:物质脱离与格式塔认知
vibe的格式塔心理学解释:整体大于部分之和
格式塔心理学诞生于20世纪初的德国,又称为完形心理学,核心观点是"整体大于部分之和",人类认知倾向于将零散信息组织成有意义的整体模式。就像您看到下方配图的三个点,大脑会自动把它们"看成"一个三角形,而不是三个独立的点。
这种"整体优先"的认知机制在日常生活中无处不在:我们一眼就能识别朋友的脸,却很难描述具体哪个五官特征让我们认出了他。研究者巧妙地用这个理论解释了"vibe"的本质,程序员通过整体感知来理解AI生成的代码,而不是逐行分析。这种"vibe check"依赖于专业知识形成的心理模式,能够快速判断代码的整体质量和正确性:好的vibe意味着代码符合程序员的心理预期,就像看到熟悉的代码结构会产生"这感觉对"的直觉;坏的vibe则像看到不协调的画面,立即触发"有什么地方不对劲"的警觉,提示需要进一步检查或修正。
战略洞见:AI时代的编程教育和人才培养
重新定义编程能力
对于正在开发AI产品的您来说,这项研究的最大价值在于重新定义了编程能力。传统的"能写多少行代码"已经不是核心指标,而应该关注"能否有效指导AI完成复杂任务"。这要求工程师具备更强的系统思维、质量判断和人机协作能力。
工具设计的新方向
研究显示,成功的vibe coding需要完整的工具生态系统支持。如果您在开发编程辅助工具,应该考虑提供上下文管理、多模态输入、差异可视化、错误信息智能处理等功能。特别是要设计"productive resistance",适度的阻力和反馈,帮助用户保持对AI输出的批判性思维。
社会接受度的挑战
研究者还发现了AI使用的"社会评价困境",使用AI工具可能面临"偷懒"、"缺乏技能"的负面判断。由于视频是在公开平台直播,开发者在编程的同时也在进行“表Y” 。他们会有意地展示自己的专业技能(如快速发现AI的错误并修正),以反击“使用AI是偷懒或没技术”的社会偏见,从而将“熟练使用AI编程”塑造为一种高级技能 。
写在最后:变革中的冷静思考
这项研究的价值不只是揭示了一种新的编程方式,更重要的是提供了观察AI如何改变知识工作的窗口。作为AI产品开发者,您需要认识到:技术进步不是简单的替代关系,而是人机协作模式的不断演化。真正成功的AI产品,应该能够放大人类的专业能力,而不是完全取代人类判断。vibe coding告诉我们,即使在看似"AI主导"的工作流程中,人类的专业知识、创造性思维和质量把控依然不可或缺。我的ima知识库“AI修猫Prompt-上下文工程”我会分享在群里,欢迎你来一起交流!