氛围编码:它是什么,如何运作,以及它的局限性

最后更新: 12 11月的2025
  • Vibe 编码将写作工作委托给 LLM,而将人的工作重点放在意图、修改和质量上。
  • 将其“纯粹”用于原型制作,并以负责任的方式进行生产和规模化。
  • 优势:速度快、易于访问;风险:技术债务、安全性、失控。

利用人工智能进行Vibe编码和代码生成

Vibe 编码已成为一种全新的软件开发方式,并已进入科技领域:用文字描述需求,然后让 AI 助手编写代码将其变为现实。这种方式快速高效,如果运用得当,可以大幅缩短从创意到实际应用之间的差距。

这一概念于2025年初由Andrej Karpathy率先提出,旨在带来范式转变:我们从逐行编写代码转变为以明确的目标指导人工智能工作,并验证和改进结果。对一些人来说,这是“无需编程的编程”;对另一些人来说,这是对传统专业实践的有力补充。

Vibe Coding 到底是什么?

简而言之,这是一种工作流程,其中大型语言模型 (LLM) 根据自然语言指令生成代码。您只需表达您的需求,系统即可构建函数、组件或服务。重点不再是语法,而是表达技术和业务意图。

其核心理念是“最流行的编程语言是英语”(或者任何你用来交流的语言)。这一前提由 Karpathy 多年前推广开来,如今已发展成为一种实践:人类引导,人工智能将意图转化为实际执行。在某些情况下,你甚至可以通过语音与助手对话,“边做边看,边纠正”。

然而,关键的区别在于:在最极端的情况下,用户可能会在完全不理解代码的情况下就接受它们。这才是问题的关键所在,也是许多专家建议采取更负责任的做法的原因。

在实践中,氛围编码体现在从轻量级原型到小型个人产品(即所谓的“单人软件”)的方方面面,其目标是以最小的摩擦解决特定需求。这种领域非常适合全速进行实验。

从口号到实践:起源与意义

“氛围编码”一词在2025年初进入公众视野。卡帕西将其描述为一种对话式流程,在这个流程中,你只需“观察、说话、执行和复制/粘贴”,而人工智能则负责编写大部分代码。这种通俗的描述恰如其分地概括了这种转变:角色正在从操作转向协调。

Karpathy本人也承认其局限性:有些bug用户不容易发现,需要反复尝试才能找到解决方案。他的结论很明确:这款软件“相当有趣”,适合周末的临时项目,那种速度比完美更重要的项目。

科技媒体迅速报道了此事,商业媒体也将其称为硅谷的流行语。与此同时,技术界内部也有声音指出,如果想要超越原型阶段,就必须谨慎行事,并进行人工审核。

两种练习方式:“纯粹式”与“负责任的辅助式”

我们可以区分两种互补的方法。一方面是“纯粹”的直觉式编码:它依赖人工智能来保证准确性,并以全速推进,几乎“忘记了代码的存在”。这适用于头脑风暴、测试概念以及淘汰“一次性项目”,因为在这些情况下,重要的是尽快验证想法。

  JetBrains IDE 是什么,为什么它是程序员的标杆?

在另一个极端是负责任的AI辅助开发。在这种模式下,AI扮演“结对程序员”的角色,负责撰写草稿、提出替代方案并自动化重复性任务,而人类团队则负责审阅、测试、理解并最终确定最终版本。这种模式适用于专业环境。

区别非常显著。正如研究员西蒙·威利森所指出的,如果人工智能编写了每一行代码,而你负责审阅、测试和理解全文,那么你并非在“激发代码潜能”,而是在将人工智能用作技术写作助手。改变的是工具,而不是责任。

两种方法各有优势。关键在于根据具体情况选择合适的方法:对于创建原型来说,简便方法可行;而对于关键系统,则需要控制、可追溯性和质量规则。

足以吸引任何人的优势

它最大的吸引力在于其易用性。突然之间,即使是经验不足的人也能将想法付诸实践,推出原型,并检验其方向是否正确。这种民主化可以为更多内部创新和更自主的多学科团队铺平道路。

第二个优势在于时间。如果大部分样板代码由人工智能编写,就能缩短开发周期,尤其是在探索阶段。即使之后需要返工或重构,这种捷径也能加速学习和验证过程。

它还能激发创造力。无需担心语法、API 或 jQuery 等库,就能大大减少测试方法、比较方案以及在数小时内构建功能草图的阻力。这无疑对 MVP(最小可行产品)的开发大有裨益。

即使你决定“真正”编写代码,你仍然可以使用人工智能来生成框架框架、在不同框架之间迁移代码、创建测试或编写文档。如果运用得当,它将成为开发生命周期中跨职能的加速器。

您应该注意的局限性和风险

最大的软肋在于生成代码的质量和安全性。如果没有人工审查和适当的测试,很容易引入不易察觉的错误、不稳定的依赖关系或有问题的做法。许多业内人士建议在将人工智能输出部署到生产环境之前,对其进行系统性的审核。

另一个风险是“黑箱”。如果你接受了自己不理解的代码,调试和维护将会非常困难。当系统规模扩大且出现故障时,你会感觉像是在“黑暗中调试”。这种理解上的缺失最终会导致技术债务和未来的成本。

此外,技能退化也是一个问题。过度依赖提示而不编写或阅读实际代码,会随着时间的推移降低你的分析能力。其结果是,团队虽然初期速度更快,但在面对复杂问题时,自主性和准确性都会下降。

您还必须考虑治理和合规性。基于模型做出决策时,您需要建立机制来确保结果符合内部和监管标准。如果没有标准和版本控制,可追溯性就会减弱,审计也会变得更加复杂。

最后,人工智能并非总能知道问题所在。它提出的补丁可能只是缓解症状,而非根源,从而延长一个虚假漏洞的持续时间。因此,专业的做法是引导人工智能、进行严格的测试,并做出明智的决策。

如今让 Vibe Coding 更轻松的工具

尽管“智能编程”这个概念出现时间不长,但其生态系统已经提供了多种实践方案,从智能编辑器到完整的平台,不一而足。它们都秉持着一个共同的理念:缩短你的想法与实际运行代码之间的距离。

  Perplexity Assistant 作为默认助手,彻底改变了 Android

复制

Replit 支持基于云的开发,内置 AI 功能,可自动补全、解释代码,并根据描述生成完整的代码块。它非常适合快速原型设计和协作,强调迭代开发,设置简便,即可立即获得结果。

光标

Cursor 专注于提供极简体验,其人工智能与代码仓库环境紧密结合。建议、重构和完整的文件生成功能在一个优先考虑提示、代码和预览之间流畅性的环境中并存。

克劳德

克劳德擅长进行长时间的对话,能够保持语境和风格,这对于解释设计、审查功能或提出迁移方案都很有帮助。他的优势在于与用户一起探讨变更和替代方案,而不是简单地编写孤立的代码。

GPT-4 应用于代码

ChatGPT(GPT-4)可按需生成函数、测试、文档和脚本。它灵活易用,技术人员和业务人员均可使用,前提是必须有清晰的验证和结果控制流程。

Google Firebase Studio

为了加快交付速度,一些提案致力于以最小的摩擦部署组件和后端。其目标是通过集成工具和清晰的提示,简化应用程序和服务的创建流程。

案例、观点以及围绕它的辩论

记者凯文·罗斯尝试开发一些小型人工智能应用程序来解决个人问题,他称之为“单人软件”。其中一个有趣的例子是,他开发了一个可以分析冰箱里的食物并推荐午餐的工具。这说明:这种方法允许非程序员开发出有用的工具,但结果可能存在局限性,而且容易出错。

Simon Willison 一针见血地指出:如果你理解、测试并验证了代码,那么你就不是在进行“纯粹”的凭感觉编程;你是在利用人工智能作为副驾驶。这种区别对于区分玩乐式原型设计和负责任且可维护的开发至关重要。

在商业领域,《商业内幕》将“人工智能”一词视为硅谷的新热词,而像 Y Combinator 这样的加速器也指出,在其 2025 年冬季孵化的初创公司中,约有四分之一的代码库主要由人工智能生成。这标志着工作流程正在发生真正的转变。

还有一些轶事也说明了这种紧张关系:一位助理被要求编写完整的解决方案时,拒绝“做程序员的工作”。抛开这个玩笑不谈,它概括了这种困境:工程师的价值不在于敲代码,而在于思考、决策以及对结果负责。

对业务、营销和混合团队的影响

对于市场营销或产品经理而言,Vibe 编码提供了一种捷径,让他们无需完全依赖 IT 部门,即可将假设转化为可运行的演示。这加快了概念验证测试的速度,并允许以更低的初始成本探索更多想法。

无障碍设计并不意味着放弃工程技术,而是意味着协作。非技术人员可以负责自动化流程、仪表盘或内部工具的开发,而专家团队则负责制定标准、审查代码并确保质量。

这样就形成了一种健康的角色分工:业务部门定义需求并验证价值,人工智能生成草稿,技术团队则将其转化为强大、安全且易于维护的软件。这是最佳的折衷方案。

如何在不失控的情况下使用人工智能的最佳实践

营造高效的编码氛围需要遵循简单而坚定的规则。许多组织已经开始将这些建议制度化,以在不增加技术债务或承担风险的前提下提高速度。其目标是在保证结果的前提下保持生产力。

  • 在请求代码之前,请明确定义意图:目标、约束、示例和验收标准。
  • 使用隔离环境和特定分支来存放 AI 生成的内容,并强制执行拉取请求和人工审核。
  • 实现测试(单元测试、集成测试和安全测试)自动化,并要求任何更改都必须通过整个测试套件。
  • 增加可观测性:日志、指标和跟踪信息,使您能够了解行为并快速诊断问题。
  • 记录架构决策和依赖关系;可追溯性是审计和监管合规的关键。
  • 将“纯编码风格”保留给原型和内部测试;在生产环境中,优先采用负责任的辅助方法。
  Replit AI 是什么?云编程人工智能完全指南

为了提升技能,建议您加强编程、测试、安全和架构方面的基础知识。人工智能可以放大您已有的知识:如果您的基础扎实,您将更加高效。投资于结构化的学习和实际操作仍然至关重要。

如果人工智能已经能够进行编程,你还需要懂得如何编程吗?

简而言之:是的,而且可能比以往任何时候都更加重要。人工智能可以编写代码,但它并不理解业务背景、非功能性需求,也不了解性能、成本和可维护性之间的权衡。而这正是人类判断发挥作用并避免意外情况的地方。

如今,优秀的开发者能够通过精准的提示引导人工智能,选择合适的技术和架构(例如Python ),验证安全性和质量,并规划系统演进。这不再仅仅是“编写代码”,而是要运用技术专长和责任心来管理一系列智能工具。

事实上,多个真实案例表明,协作模式(人+人工智能)在中期内比盲目授权能取得更好的结果。它不仅速度更快,而且在控制力、理解力和适应能力方面也更胜一筹。

那么,相关机构和专业培训方面呢?

许多公司更倾向于依靠专家团队,这些团队融合了数字战略、市场营销和人工智能辅助开发,将创意转化为产品。这种支持能够加快项目进度并降低风险,因为其中应用了指标、标准和质量保证流程。

与此同时,从模式和架构到测试和安全等基础培训,使用户能够在不损失专业知识的情况下充分利用代码助手。参考课程通过实际操作和导师指导,帮助用户将人工智能转化为助力而非拐杖。

通过这种方式,人工智能不会取代专业人士,而是倍增他们的服务范围。有效的协作才能使组织在更短的时间内构建可靠且具有竞争力的解决方案。

氛围编码背后的理念非常强大:着眼大局,快速构建,而无需纠结于语法细节。如果我们了解它的局限性,实施严格的人工审查,并遵循明确的标准使用 Replit、Cursor、Claude 或 GPT-4 等工具,就能兼顾两者的优势:既能快速构建原型,又能确保生产部署的规范性。开发的未来并非放弃编程,而是引导人工智能有目的地创建功能完善、易于维护且安全的软件。

Github 是什么
相关文章:
GitHub 是什么以及它如何运作