什么是 Vibe Coding?从零开始学习 AI 辅助编程

Trae

Vibe Coding:代码消失,直觉驱动的软件开发新浪潮?

生成式 人工智能 的指数级增长正不断重塑各个行业,软件开发领域也不例外。大约在 2025 年初,一股源自美国硅谷的新思潮开始引起关注:开发者似乎可以借助 AI 工具,在几乎不直接编写代码的情况下构建产品。这种依赖直觉、跳脱传统编码苦役的开发方式,被赋予了一个颇具时代感的名字—— Vibe Coding .

简单来说, Vibe Coding 代表了一种新颖的软件开发哲学。开发者主要通过自然语言向 AI 描述需求,由 AI 负责生成和修改代码。其核心理念在于顺应开发过程中的“感觉”(Vibes),全面拥抱 AI 的能力,甚至在某种程度上“忘记”代码本身的存在。这种方法论挑战了科技行业长期以来的一个基本假设:开发软件必须依赖具备高超编码技能的工程师。

 

概念的提出者:Andrej Karpathy 的观察

推动 Vibe Coding 概念进入公众视野的关键人物是 Andrej Karpathy 。这位年约 38 岁的 AI 领域知名专家,不仅是 OpenAI 的联合创始人,也曾在 特斯拉 领导 AI 和自动驾驶视觉团队。目前,作为 Eureka Labs 的创始人,他同时致力于通过 YouTube 等平台进行 AI 知识的普及。

Karpathy 观察到了一种新的编程状态:开发者不再纠结于代码的语法细节,而是直接根据应用程序的视觉呈现或功能反馈,用自然语言指示 AI 进行修改。例如,开发者可能会说:“把侧边栏的内边距减少一半”,而无需手动查找和修改 CSS 文件。遇到错误信息时,也常常只需将其复制粘贴给 AI ,问题便能得到解决。

正如 Karpathy 本人所述:“这并非传统意义上的编码——我只是观察、指示、运行和复制粘贴,而且大部分时候它是有效的。” 这种方式将软件开发的重心,从对语法的精通和手动编码,转向了更高层次的设计构思和需求表达。

他甚至提出了一个引人深思的观点:“英语,正成为最热门的新编程语言。” (The hottest new programming language is English.)

 

Vibe Coding 与 LLM Coding 的界限

需要明确的是, Vibe Coding 目前并非一个严格定义的学术术语,更多是科技圈用来讨论 AI 辅助软件开发方法论时的一个流行词汇。知名程序员 Simon Willison 指出,人们容易将 Vibe Coding 与利用大型语言模型(LLM)进行编码(即 LLM Coding)混淆。尽管两者都利用 AI 辅助开发,但它们在理念和实践上存在本质区别:

  1. 核心理念差异: Vibe Coding 强调的是“顺应感觉”和“忘记代码”,开发者更专注于创意实现和整体架构,对底层技术细节的关注度降低。 LLM Coding 则仍然将代码置于核心,开发者通常需要具备一定的编程知识来理解和指导 AI 生成的内容。
  2. 开发者角色定位:在 Vibe Coding 模式下,开发者更像是 AI 的指挥官或合作者,主要通过自然语言传达意图。而在 LLM Coding 中,开发者仍然深度参与代码的审查、修改和调试过程,扮演着更主动的技术把关角色。
  3. 与代码的互动方式: Vibe Coding 鼓励开发者信任并直接采纳 AI 的建议,有时甚至跳过对 AI 生成代码变更(diffs)的详细审查,选择“全盘接受”。 Simon Willison 对此有形象描述:“如果 LLM 编写了你所有的代码,但你审查、测试并理解了所有这些代码,那不叫 Vibe Coding ——你只是在使用 LLM 作为打字助手。”
  4. 技术门槛要求: Vibe Coding 显著降低了软件开发的入门门槛,理论上让非专业程序员也能参与到产品创建过程中。 LLM Coding 虽然也简化了编程,但使用者如果具备一定的编程基础,无疑能更有效地利用这类工具。
  5. 主要工具侧重: Vibe Coding 常与一些专门设计的、高度集成化的 AI 开发环境或工具相关联,例如 Curseur AI 的 Composer 功能、 AnthropicClaude 系列模型(如原文提及的 Claude 3.7 Sonnet)以及 Superwhisper 等语音输入工具。 LLM Coding 则更多地利用像 GitHub Copilot 、 Code Llama 、 StarCoder 这样的代码补全和生成工具。

 

Vibe Coding 的常用工具箱

根据剑桥大学出版社产品负责人 Niall McNulty 和 Roblox 产品主管 Peter Yang 等业内人士的观察,想要尝试 Vibe Coding 的开发者可以关注以下工具:

1. Cursor AI

Cursor 是一款以 AI 为核心驱动力的代码编辑器,旨在提升开发效率。其关键特性包括:

  • Composer 工具:该功能旨在自动化大部分编码过程,用户通过自然语言描述所需功能即可。
  • 多模型支持:集成了包括 OpenAI 的 GPT 系列、 Anthropic 的 Claude 3.5 Sonnet (或原文提及的 3.7 版本)以及 DeepSeek 等多种先进 AI 模型。
  • 代码生成与优化:AI 能根据自然语言提示生成代码片段乃至完整功能,并辅助进行错误修复和代码优化。
  • 实时错误检测:编辑器能即时提示代码中的语法错误或潜在逻辑问题。

2. Claude 3.7 Sonnet

由 Anthropic 公司开发的 Claude 3.7 Sonnet (基于原文信息,代表 Claude 系列的先进模型)是一款功能强大的大型语言模型,其特性使其非常契合 Vibe Coding 的理念:

  • Artifact 工具:允许用户在聊天界面之外,生成并迭代如代码块、网站预览、交互式组件等多种形式的内容。
  • 多语言编程能力:能够生成包括 Python 、 JavaScript 在内的多种主流编程语言的代码。
  • 使用模式:提供有限额度的免费版本,完整功能需订阅 Claude Pro 服务。

3. Super Whisper

Super Chuchotement 是一款针对编码场景优化的语音转文本引擎,它为 Vibe Coding 增添了更自然的人机交互方式——通过语音指令进行开发:

  • 编辑器集成:可与 Cursor 、 Cline peut-être Windsurf 等多种编辑器配合使用。
  • 效率提升:考虑到人类语速通常比打字速度快 3-5 倍(约 150+ WPM vs 40-80 WPM),理论上能加速开发流程。
  • 人机工程学:减少对键盘的依赖,可能有助于缓解长时间编码带来的身体疲劳,提供更符合直觉的交互体验。

 

实践 Vibe Coding:当语音遇上 AI 编辑器

Vibe Coding 所追求的“顺应感觉”,在某种程度上意味着摆脱物理输入的束缚。通过语音进行编码,正是这种理念的一种体现。将 Super Whisper 与 Cursor AI 结合使用,便能搭建这样一个语音驱动的开发环境。

步骤1:安装工具

首先,需要下载并安装 Cursor AI 。随后,访问 Super Whisper 官方网站安装 Superwhisper 应用,该应用支持 macOS 和 Windows 平台。

步骤2:配置 Superwhisper 的编码模式

打开 Superwhisper 应用后,进行如下设置:

  1. 进入设置菜单。
  2. 找到“模式” (Modes) 选项,点击“创建模式” (Create Mode)。

    什么是 Vibe Coding?从零开始学习 AI 辅助编程

  3. 选择“自定义” (Custom) 来创建新模式。
  4. 为新模式命名,例如“Python 编码”,然后在“在...应用程序运行时激活” (Activate when using) 选项中选择 Cursor ,将此模式与 Cursor AI 关联起来。同时,可以根据需要调整语音识别模型和目标语言(例如中文)。

    什么是 Vibe Coding?从零开始学习 AI 辅助编程

完成上述配置后,用户可以通过指定的快捷键(例如在 macOS 上默认为 Option + 空格键)唤醒 Superwhisper ,并选择刚刚创建的“Python 编码”模式。这样,当 Cursor AI 处于活动状态时,就可以通过语音输入指令或代码了。

什么是 Vibe Coding?从零开始学习 AI 辅助编程

需要注意,如果系统中安装了其他可能与语音输入冲突的应用(如 ChatGPT 的桌面应用),可能需要暂时禁用它们,以确保 Superwhisper 能顺利接管语音输入并与 Cursor 联动。

 

Vibe Coding 入门:零基础开发者的探索路径

即使没有传统编程背景, Vibe Coding 的理念也为参与软件创建提供了可能。以下是一个大致的入门流程:

第一步:选择并设置工具

  1. 安装 AI 编辑器:下载并安装 Cursor AI 或其他支持 Vibe Coding 理念的工具。访问其官网完成下载和安装过程。
  2. S'inscrire et se connecter:创建账户并登录,通常会提供一段免费试用期。
  3. 个性化配置:根据引导完成基本设置。
  4. 选择 AI 模型:根据项目需求和个人偏好选择后台驱动的 AI 模型。例如,某些用户反馈 Claude 系列模型在代码生成方面表现突出。

    什么是 Vibe Coding?从零开始学习 AI 辅助编程

  5. 启用实验性功能:可以考虑开启如“自动运行模式” (Auto Run) 等实验性功能,以获得更流畅的 Vibe Coding 体验。

    什么是 Vibe Coding?从零开始学习 AI 辅助编程

第二步:创建项目

  1. 打开 Cursor AI ,通过菜单创建新的文件或文件夹,设立项目工作区。
  2. 明确想要创建的应用类型,例如一个简单的网页、一个小游戏、或者一个 Chrome 浏览器扩展程序。

第三步:与 AI 沟通需求

  1. 激活 AI 交互界面(在 Cursor 中通常使用快捷键 Command + K 或类似快捷键)。
  2. 使用自然语言(可以通过键盘输入,或结合 Superwhisper 等工具进行语音输入)清晰地描述想要实现的功能。例如:
    • “创建一个简单的 HTML 页面,包含一个显示当前时间的区域和一个刷新按钮。”
    • “生成一个 Chrome 扩展程序的基本结构,功能是为当前浏览的网页生成二维码。”
  3. 可以尝试运用“规格说明、规则设定、监督指导”的框架与 AI 沟通:
    • 规格说明:明确目标,如“创建一个登录按钮,点击后能获取用户输入的邮箱地址”。
    • 规则设定:设定约束条件,如“使用 Python 语言,代码风格保持简洁”。
    • 监督指导:在 AI 生成过程中,持续提供反馈和方向调整,确保结果符合预期。

第四步:生成、运行与测试

  1. AI 会根据指令生成代码,并直接显示在编辑器中。
  2. 利用编辑器提供的功能运行代码,观察实际效果(例如, Cursor AI 通常会提供运行网页或脚本的便捷按钮)。
  3. 如果程序运行出错,可以直接将错误信息复制粘贴给 AI ,通常无需额外解释,AI 会尝试分析并提供解决方案。

    什么是 Vibe Coding?从零开始学习 AI 辅助编程

第五步:迭代与改进

  1. 根据测试结果,继续用自然语言向 AI 提出修改或完善需求。
    • 例如:“将页面背景色改为浅蓝色。”
    • 或:“增加一个输入框,允许用户设定提醒事项的时间。”
  2. AI 会根据新的指令更新代码。
  3. 重复这个“沟通-生成-测试-反馈”的循环,直至应用功能达到满意状态。

第六步:部署与使用

  1. 可以向 AI 询问如何保存、打包或部署当前开发的应用。
  2. 根据 AI 提供的步骤指引,完成应用的发布流程。
  3. 如有需要,还可以让 AI 解释说明如何使用最终完成的应用。

 

Vibe Coding 的潜力与挑战

Vibe Coding 描绘了一幅诱人的未来图景:开发软件变得像对话一样自然,创意能够更快地转化为实际产品,技术门槛大大降低。这种模式对于快速原型设计、非核心功能开发、或者赋能非技术背景人员实现简单应用,无疑具有巨大的潜力。它可能加速创新周期,让更多人参与到创造过程中来。

然而,这种看似轻松的开发方式也伴随着显而易见的挑战和潜在风险。

  • 代码质量与可维护性:完全依赖 AI 生成的代码,其质量、效率和可维护性可能参差不齐。缺乏开发者深入审查和理解的代码库,长期来看可能成为难以管理的“技术债务”。
  • 调试的复杂性:当出现深层次或非显而易见的 Bug 时,习惯了 Vibe Coding 模式的开发者可能会发现自己缺乏必要的底层知识和调试技能来定位和解决问题。调试过程可能变成与 AI 的反复“拉锯”,效率低下。
  • 开发者技能的演变:过度依赖 Vibe Coding 可能导致开发者对基础编程原理、算法和系统设计的理解变得肤浅。虽然“忘记代码”是其理念之一,但这是否会削弱工程师的核心竞争力,是一个值得探讨的问题。
  • 过度依赖与锁定风险:高度依赖特定的 AI 工具或平台进行开发,可能带来供应商锁定的风险。同时,对 AI 能力的过度信任也可能导致开发者忽视潜在的安全漏洞或逻辑缺陷。
  • 教育与文化冲击: Vibe Coding 的兴起,也对传统的计算机科学教育和软件工程文化提出了挑战。如何培养既能有效利用 AI,又具备扎实基础知识的新一代开发者,将是一个重要议题。

Vibe Coding 作为一种新兴的软件开发趋势,其未来发展充满了不确定性。它不太可能完全取代传统的编码实践,但很可能作为一种强大的辅助手段,改变开发者与代码互动的方式,并对软件开发的生态产生深远影响。未来,软件工程师的角色或许将更加侧重于需求分析、系统设计、AI 指挥与协同,以及对 AI 生成结果的批判性评估。

© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

aucun
Pas de commentaires...