1.Vibe Coding是一种新的编程范式,强调完全投入到“氛围”中,拥抱技术的指数级发展,并忘记代码的存在。
2.由于大型语言模型能力的飞速提升,开发者可以不再专注于代码本身,而是关注想要实现的功能和效果。
3.然而,Vibe Coding也面临着一系列挑战和局限性,如代码质量和可维护性问题、安全性问题等。
4.未来软件开发可能转向“结果导向”模式,开发者指定期望结果,软件自动调整以实现这些目标。
5.另一方面,Vibe Coding可能减少对开源库的需求,因为更多的代码将由AI从头生成以供个人使用。
以上内容由腾讯混元大模型生成,仅供参考
最近这段时间,Vibe Coding 这个词毫无疑问成为了硅谷最为火热的概念。这个最初由 OpenAI 联合创始人、前特斯拉 AI 负责人 Andrej Karpathy 于今年 2 月初在社交平台上提出的概念,短短一个多月内就席卷了开发者社区。
最近,Karpathy 又在社交媒体上分享了他的最新成果:“我刚刚用‘氛围编程’的方式完成了一整个 iOS 应用,用的是 Swift 编程语言。尽管我之前从未用过 Swift,但不到一小时,这个应用就已经在我的实体手机上运行了。整个过程出奇地简单,我完全是被 AI 一步步引导完成的。”
图丨相关推文(来源:X)
Karpathy 甚至不需要查阅任何 Swift 文档,只是打开了 ChatGPT 的对话窗口,跟随它的指示进行操作。他开发的是一个卡路里跟踪器,根据基础代谢率计算消耗的卡路里,并通过动画环显示与脂肪燃烧的关系。短短几天内,他通过多次与 AI 对话,不断优化应用功能,添加了数据持久化存储和用户操作日志等功能,就成功开发出了这款已经相当实用的程序。
什么是“氛围编程”?
那么,到底什么是“氛围编程”?简单来说,它的核心理念是“完全投入到‘氛围’中,拥抱技术的指数级发展,并忘记代码的存在”。随着大型语言模型能力的飞速提升,开发者可以不再专注于代码本身,而是关注想要实现的功能和效果。
图丨 Andrej Karpathy 关于“氛围编程”的定义(来源:X)
传统编程要求开发者掌握语法规则、函数库和底层架构,通过手动编写代码构建软件。编程的本质是与计算机对话,而这种对话必须遵循严格的语法和结构。任何微小的错误——哪怕是一个分号或括号的缺失——都可能导致程序崩溃。而“氛围编程”打破了这一框架。
独立软件开发者和 AI 研究员 Simon Willison 对“氛围编程”定义为“在不审查 AI 编写的代码的情况下构建软件”。这与所有形式的 AI 辅助编程不同。
如果 AI 写了代码,而你随后审查、测试并确保理解它的工作原理,那就算不上是“氛围编程”,而只是传统的软件开发过程。
在“氛围编程”过程中,如果出现错误,你只需将错误信息反馈给 AI,接受 AI 提出的更改,然后继续。Karpathy 形象地描述道:“这不是真正的编码——我只是看东西,说东西,运行东西,复制粘贴东西,大多数情况下它都能工作。”
但要注意的是,虽然“氛围编程”降低了编程门槛,但它并非对所有人都同样有效。有经验的开发者认为,你至少需要对代码的功能有一个高层次的理解,纯粹的新手可能会在遇到复杂问题时束手无策。“氛围编程”代表了一种编程范式的转变,它无关于掌控、精确,而让你更投入于编程流程之中。
如何“氛围编程”
那么,实际中的“氛围编程”是怎样的过程呢?
以 Karpathy 的 iOS 应用开发为例,他的工作流程相当简单:明确需求,寻求 AI 帮助,跟随 AI 提供的设置和代码实现功能,然后不断迭代改进。
当遇到计时器不自动更新的问题时,他把问题反馈给 AI,AI 通过添加一个触发视图刷新的状态变量解决了问题。整个过程中,他只需描述想要的功能,AI 就能生成相应的 Swift 代码,无需他理解具体的编程细节。
图丨 Karpathy 的开发过程中的几次提示(来源:X)
AI 编程软件 Replit 的 CEO Amjad Masad 甚至表示,其 75% 的用户从不编写一行代码,他们通过简单的提示就能开始构建应用程序。一些创业者已经在产品开发中积极采用这种方法,比如 Menlo Park Lab 的创始人 Misbah Syed 就在他的产品 Brainy Docs(一种将 PDF 转换为带幻灯片的解释视频的工具)中应用了这种方式,他称“只要你有了一个想法,那么,你离成品就只有几个提示词的距离。”
一些开发者甚至更进一步,配合语音转文本应用,只用口头描述想要的功能,就能让 AI 直接生成相应代码。对于一些复杂应用,这种方式也同样适用,例如一位开发者就通过数千次提示创建了一个复杂的飞行模拟游戏。
图丨由 NicolasZu 创建的一个“氛围编程”飞行模拟器(来源:NicolasZu)
从这些实例中,我们可以总结出“氛围编程”的几个关键步骤:
首先,明确项目目标和需求。即使在“氛围编程”中,你也需要知道你想要构建什么,尽管细节可以在过程中逐步明确。
其次,选择合适的 AI 工具。目前市场上有多种选择,包括 Cursor Composer、GitHub Copilot、Replit Agent 等。不同的工具有不同的特点和优势。
然后,通过自然语言描述你想要实现的功能。与传统编程不同,你不需要知道如何用代码实现这些功能,只需清晰地表达你的意图。
接着,运行 AI 生成的代码。虽然“氛围编程”强调“忘记代码的存在”,但在实践中,至少也需要基本了解不同的代码究竟在做什么,尤其是在调试阶段。
最后,通过反馈循环不断迭代。当遇到问题时,将错误信息提供给 AI,让 AI 提出解决方案,然后测试和改进。
不过要注意的是,虽然真正的“氛围编程”是指完全依赖 AI 而不审查其生成的代码。但在实践中,许多人采用的是一种混合方法,以便确保代码的准确性。
“氛围编程”将如何改变软件开发行业
这种新的编程范式的崛起,也正逐渐改变软件开发行业,从创业公司的运作方式到开发团队的结构,其影响力都在逐渐显现。
这场变革最直接的影响是在创业领域。Y Combinator 的 CEO Garry Tan 观察到一个非常惊人的现象:不到 10 人的小团队能够创造出年收入百万甚至千万美元的业务,这在风投历史上从未发生过。大语言模型的编码能力让开发速度提升了一个数量级,Tan 表示:“当开发者熟练使用这些工具时,他们一天内就能完成 10 到 100 个工程师的工作量。”
图丨 Garry Tan(来源:Wikipedia)
这种效率提升正在深刻改变软件经济学。过去,某些领域因市场规模太小而不值得投入大量开发资源。现在,这些细分市场可以由小团队服务,并创造可观收入。更重要的是,“氛围编程”为那些无法进入大型科技公司的开发者提供了另一条路径——创建自己的产品和公司。
与此同时,“氛围编程”正在推动编程民主化,让更多人能够参与软件开发。传统上,编程被视为需要专业培训和丰富经验的技能。随着 AI 工具的进步,即使没有编程背景的人也能创建功能性应用。这种民主化趋势可能会带来软件创新的新浪潮,因为更多人能将想法转化为实际产品。
Tan 特别强调了这一点,他认为“氛围编程”为那些难以进入日益紧缩就业市场的人提供了机会。“也许是那个无法在大厂找到工作的工程师,实际上可以建立一个独立业务,每年盈利千万甚至上亿。”
这种民主化进程也在改变软件的风格和设计。随着非专业人士涌入开发领域,我们可能会看到全新的界面和交互模式出现,就像短视频平台彻底改变了视频创作一样。软件界面可能突破传统元素的限制,形成全新的交互语言。
从组织层面看,传统开发团队的结构也在悄然变化。以往,软件公司中工程师、设计师和产品经理的比例大约是 5:1:1。随着 AI 承担更多编码工作,这一比例可能会发生显著变化。而这将带来两种可能性,一方面,公司可能减少工程师比例,将资源投向产品战略和用户体验;另一方面,随着构建成本降低,公司可能反而招募更多工程师,以加速创新和探索更广阔的产品可能性。
更进一步地,“氛围编程”正在重新定义软件开发的价值链。如果代码本身变得容易获取,那么软件的价值将越来越依赖于创造力、用户体验和分销能力。未来的竞争瓶颈可能在于:一是保持领先于他人的持续创造力;二是分销和网络效应,即第一个达到规模的产品将胜出,而不仅仅是第一个推出的产品。
“氛围编程”无法解决所有问题
凡事都有利就有弊,“氛围编程”也是如此。虽然它目前隐隐有给软件开发带来革命的潜力,但它也同样面临着一系列挑战和局限性,而这些局限,将决定其在未来软件开发中的地位。
首当其冲的,就是代码质量和可维护性问题。就目前而言,将“氛围编程”直接应用于生产环境显然存在风险。软件工程的核心工作不只是创造新功能,还包括维护和演进现有系统,这需要对代码有深入理解。如果开发者一直跳过理解代码的步骤,直接采纳 AI 的解决方案,时间久了,其中难以理解的部分就好越来越多,最终导致代码库变得难以维护。
在 Reddit 上,这个问题就引出了“氛围调试”(Vibe Debugging)这一半开玩笑的概念:“20 分钟创建 2 万行代码,2 年时间来调试”。虽带有调侃性质,但确实点出了核心问题:当代码超出开发者理解范围时,调试几乎成为不可能的任务。没有形成关于数据流动和转换的心智模型,一旦出现问题,开发者往往难以定位根源。
图丨相关贴文(来源:Reddit)
AI 工程师 Nitin Rai 就强调:“依赖 AI 输出,我们不形成关于数据如何流动、如何转换以及何时何地出现问题的心智模型。等问题出现时,往往为时已晚。”这种缺乏对代码内部工作原理的理解可能导致在出现问题时无法有效解决,因为开发者无法确定问题根源。
此外,安全性也是另一个绕不开的问题。当开发者不完全理解他们部署的代码时,就可能会在无意中引入安全漏洞。因此,就目前而言,“氛围编程”还是更适合低风险的个人项目和概念验证等工作。
不过,虽然存在这些挑战,“氛围编程”仍然代表了软件开发的一个可能的未来方向。a16z 的普通合伙人 Andrew Chen 就预测,随着 AI 编程的发展,“氛围编程”可能会从当前的命令行界面阶段发展到更视觉化的“氛围设计”阶段。人们在图形界面中思考会比在命令行中思考更自然。到那时,你只需向 AI 展示你想要的设计效果,其他一切都会自动完成。
同时,“氛围编程”也可能减少对开源库的需求,因为更多的代码将由 AI 从头生成以供个人使用。代码将更像是一种可消耗的商品,减少重用,而是根据需要即时生成。这种趋势可能会改变软件开发的经济学和生态系统。
最终,软件开发范式也将发生根本转变。以往,我们先编写代码,然后测试其功能。未来,开发可能转向“结果导向”模式——开发者指定期望结果,软件自动调整以实现这些目标。例如,如果开发者指定注册流程应简单,那么在发现用户遇到困难后,软件能自动调整流程,删减步骤或添加解释。当前我们处于产品经理指定需求、工程师编码实现的模式中。未来可能变成产品经理只需指定目标,软件会自动调整以达成这些目标。
而这种变化也将反映在软件开发的社会结构上。Chen 预测,未来的大部分代码将由“时间丰富”的人编写。目前,这种端倪似乎已经显露:YC 的一则“Vibe Coder”招聘信息显示,这个年薪高达 80-120K 美元的工作,每日工作时间长达 12-15 小时。
图丨相关招聘信息(来源:Y Combinator)
因此,未来大部分代码或许将由时间更充裕的孩子/学生而非软件工程师编写。软件也可能更多受到年轻人文化的影响,带来更多创新和多样性。
总而言之,“氛围编程”正在重新定义谁能创造软件、如何创造软件,以及软件能够解决什么问题。编程的未来不再只关乎代码,而是关乎创意、表达和解决问题的能力。未来,技术专家与普通创造者之间的界限将日益模糊,而这也为我们开启了一个充满可能性的新世界。无论是拥抱这一变革还是保持谨慎,有一点是确定的:“氛围编程”已经到来,而且它正在改变游戏规则。
参考资料:
1.https://arstechnica.com/ai/2025/03/is-vibe-coding-with-ai-gnarly-or-reckless-maybe-some-of-both/
2.https://x.com/karpathy/status/1886192184808149383
3.https://andrewchen.substack.com/p/predictionsthoughts-on-vibe-coding
4.https://www.businessinsider.com/vibe-coding-startups-impact-leaner-garry-tan-y-combinator-2025-3?international=true&r=US&IR=T
5.https://medium.com/@passive.income.journey.web/what-is-vibe-coding-a-new-concept-i-learnt-today-16e95d17155e
运营/排版:何晨龙