指南

Vibe Coding 是什么?用 AI 做出真正的 App

什么是 Vibe Coding(氛围编程),该用哪些 AI 编程工具,以及一套分步工作流:开发、测试、保障安全并上线真正的 App,再找到第一批用户。

一只手把纸做的按钮放到纸手机上,旁边是同一款 App 的铅笔草图

Vibe Coding(氛围编程)是一种开发软件的方式:用日常语言描述你想要什么,让 AI 工具写出大部分代码。你提出要一个带邮箱登录的注册页面,工具把它写出来,你运行结果,再用下一个请求来引导方向。你的时间花在 App 应该做什么上,而不是语法上。

它很适合原型、内部工具和小产品,能让独立开发者在几天内把一个想法变成上线的 App。但如果没人检查输出,它也会以可预见的方式出问题。本指南介绍各类工具、一套现实可行的工作流、质量与安全,以及如何获得第一批用户。

什么是 Vibe Coding?

这个说法由 AI 研究者 Andrej Karpathy 在 2025 年初提出。他描述了一种完全依赖 AI 的工作方式:不逐行阅读就接受它的修改,把报错信息直接贴回去,然后看看会发生什么。他认为这种方式适合周末随手做的一次性项目。这个说法迅速流行开来,如今泛指任何主要由自然语言提示驱动编码的工作流。

实际上,这是一个光谱:

  • 纯 Vibe Coding:你从不看代码。适合实验、演示,以及探索有哪些可能。
  • AI 辅助工程:你描述修改,AI 写代码,然后你像对待其他代码一样审查、测试并提交。只要涉及真实用户或真实数据,你就需要这种方式。

大多数真正把产品发布出去的开发者,最终都处在两者之间:AI 负责打字,但他们自己掌控结构、数据和安全决策。本指南默认采用这条中间路线。

Vibe Coding 工具:主要类别

Vibe Coding 工具大致分为两类。两类都变化很快,所以在做决定之前,请到各产品官网查看当前的功能和价格。

AI 代码编辑器与编程智能体

它们基于你本机或代码仓库里的真实代码库工作,所以你对代码拥有完全的控制权。

  • Cursor 是一款围绕 AI 打造的代码编辑器,提供聊天、行内编辑,以及能一次修改多个文件的智能体(agent)模式。
  • Claude Code 是 Anthropic 推出的编程智能体。它可以在终端和代码编辑器中工作,读取你的项目,运行命令和测试,并进行跨文件修改。
  • GitHub Copilot 最初是主流编辑器里的自动补全工具,如今已加入与 GitHub 深度整合的聊天和智能体功能。
  • Windsurf 是另一款 AI 优先的编辑器,其智能体能在整个项目中规划并应用修改。

如果你想拥有一个常规的代码库、使用任意框架,并在几个月里持续扩展项目,就选这一类。

AI 应用生成器

它们在浏览器中运行,从一句提示直接生成可用的 App,通常还包含托管服务。这是最快看到真实成果的方式。

  • Lovable 通过聊天构建全栈 Web 应用,并能连接常见的后端服务来处理数据和登录。
  • Bolt 在浏览器中生成并运行 Web 应用,无需安装任何东西就能编辑和预览。
  • Replit 是一个在线开发环境,内置 AI 智能体和部署功能。
  • v0 是 Vercel 推出的工具,专注于用现代前端框架生成界面和 Web 应用。

如果是做原型和简单工具,或者你从没搭建过开发环境,就选这一类。大多数生成器都可以导出代码或同步到 GitHub;尽早这样做,以免被平台锁定。

如何选择

一条常见的路径是:先在应用生成器里做原型,等想法得到验证后,再把代码迁移到代码仓库,改用编辑器或智能体继续开发。

如何用 Vibe Coding 开发 App:分步工作流

这套工作流以一个小型 Web 应用为例,但同样的步骤也适用于移动应用和脚本。

  1. 写一页简要说明。它为谁而做、解决什么问题、唯一的核心操作是什么,以及哪些内容明确不在第一版范围内。把它放在一个文件里,让工具在每次会话开始时都能读取。
  2. 选择一套无聊但流行的技术栈。AI 工具往往能为广泛使用的框架和数据库写出更好的代码,因为这些技术的示例要多得多。
  3. 在做第一个功能之前就设置好版本控制。创建一个 Git 仓库,提交空项目,之后每完成一次可用的修改就再提交一次。这就是你的撤销按钮。
  4. 先做出一个薄薄的纵向切片。在添加任何其他东西之前,让核心操作端到端跑通,从界面到数据库再返回。这个阶段丑一点没关系。
  5. 用小而具体的提示词工作。“给每个条目加一个删除按钮,点击时要求确认”胜过“改进条目列表”。每个提示只做一处修改,能让 diff 易于阅读,也能一眼看出是哪处修改弄坏了东西。
  6. 每次修改后都运行 App。亲自把核心流程点一遍。出问题时,把确切的报错、你做了什么以及你期望的结果告诉 AI。
  7. 为核心逻辑添加测试。让 AI 为绝不能出错的部分编写测试,比如定价、权限和数据修改,并在每次提交前运行。
  8. 难的部分交给成熟的服务。身份验证、支付、邮件和文件存储都是已经解决的问题。选用知名的服务商。
  9. 尽早部署。在头几天就把 App 放到线上,哪怕只有你自己在用。App 还小的时候,部署问题更容易解决。
  10. 维护一个简短的笔记文件。记录决策、约定和已知问题。很多智能体会自动读取这类文件,从而让新的会话保持一致。

AI 写代码时,如何保证质量

速度是容易的部分。下面这些习惯,才是区分演示品和值得信赖的产品的关键。

版本控制与小步提交

每个可用的状态都附上清晰的说明提交一次。当 AI 走错路时,回滚,而不是让它去修补自己的修补。

审查每一个 diff

提交之前,先看看改了什么。你不需要看懂每一行,但应该留意:一个小请求是否改动了十个文件、删掉了一项检查、把真实数据换成了示例数据,或者加了一个你没要求的依赖包。如果一个 diff 大到无法审查,说明提示词太大了。

用测试兜底

AI 的修改常常修好了一处,却悄悄弄坏另一处。在关键路径上写几个自动化测试,就能立刻发现这种问题。要警惕那些只是确认代码“做着它现在在做的事”的测试。

不能跳过的安全基础

Vibe Coding 做出的 App,大多数安全问题都来自几个反复出现的错误。OWASP Top Ten 是不错的通用参考,以下是必须做到的几点:

  • 密钥:API 密钥和数据库凭据应放在服务器上的环境变量里,绝不能出现在前端代码或代码仓库中。把你的环境变量文件加入 .gitignore。如果某个密钥曾经进入过提交记录或公开页面,立即吊销并生成新的密钥。
  • 身份验证与授权:使用经过验证的登录服务。然后在服务器上、对每一个请求检查:已登录的用户是否有权读取或修改这条具体记录。在界面上隐藏一个按钮并不是保护。
  • 数据库访问规则:如果你的前端直接与托管数据库通信,要开启并测试它的访问规则,比如行级安全(row-level security),防止一个用户读取另一个用户的数据。
  • 输入校验:在服务器上校验每一个输入的类型、长度、格式和允许的取值。使用参数化查询或 ORM,并在页面上显示用户内容之前进行转义。
  • 依赖:检查 AI 添加的每个包是否真实存在、有人维护且拼写正确。AI 工具有时会推荐根本不存在的包,而攻击者可以抢注这些名字。
  • 滥用限制:给登录、注册以及任何发送邮件或调用付费 API 的接口加上频率限制,防止一个脚本就把你的账单刷爆。

让 AI 针对某个具体领域做一次安全审查,再亲自核实它的发现,也会很有帮助。

Vibe Coding 的常见翻车模式

提前了解这些,能为你省下好几天。

  • 修复死循环:AI 修好一个 bug,却弄坏了另一处;为了修那一处,又把第一处弄坏了。停下来,回滚到上一个正常的提交,换一种方式描述问题,或者让它在动手修改之前先解释原因。
  • 上下文漂移:在长会话中,AI 会忘记之前的决定。为新任务开启新的会话,并让工具参考你的笔记。
  • 臆造的 API:代码调用了你所用的库版本中并不存在的函数。把官方文档的相关页面粘贴到对话里。
  • 悄悄造假:为了让报错消失,AI 可能会硬编码示例数据、跳过某项检查,或者捕获异常后直接忽略。审查 diff 能发现这些问题。
  • 巨型文件:所有东西都堆进一个文件,谁都无法安全地修改它,包括 AI。趁 App 还小,把它拆分成更小的模块。
  • 范围蔓延:加功能太容易了,以至于第一版永远做不完。简要说明里的“不做清单”就是用来阻止这种情况的。
  • 出了问题却看不懂:如果 App 在生产环境中出错,而你读不懂代码,你就会束手无策。让 AI 用通俗的语言解释架构,并把解释保存在笔记里。

从能用的 App 到第一批用户

一个能在你笔记本上运行的 App 还不算上线。下面这些步骤能让它真正交到用户手里。

  1. 部署到真实域名上,启用 HTTPS,配上清晰的页面标题,以及一句说明这个 App 做什么、为谁而做的话。
  2. 添加反馈渠道,比如一个邮箱地址或一个简单的表单,再加上基础的错误日志,这样你能在用户放弃之前得知崩溃。
  3. 衡量一件真正重要的事,比如有多少人完成了核心操作。
  4. 告诉有这个问题的人。在用户本来就常待的社区里分享你的 App,并遵守每个社区的规则。说明你做了什么、为什么做,请大家给出真实的反馈,而不是点赞。
  5. 把它放到开发者和好奇访客会浏览的地方。目录站和发布网站能给完成的项目一个永久的家,让人们日后仍能找到。以 One Dollar Planet 为例,在 3D 星球上为你的项目放一个点只需 1 美元,并永久保留;带 Logo、目录收录和独立页面的方案则是 10 美元。你可以添加你的项目,并在项目目录里看看其他开发者做了什么。
  6. 一个一个地和第一批用户交谈。在早期,几次对话教给你的东西比任何仪表盘都多。
  7. 继续小步迭代。同一套 Vibe Coding 工作流现在开始服务你的用户:小提示词、审查过的 diff、测试,然后部署。

在开发过程中分享进展和经验,也能让人们在发布日之前就有理由关注你。想了解更多关于发布小项目的内容,请浏览我们的博客。

要点总结

  • Vibe Coding 就是描述你想要什么,让 AI 来写代码。只要涉及真实用户,就要配合审查和测试。
  • 需要长期拥有的代码,用 AI 编辑器和智能体;快速原型,用应用生成器。
  • 经常提交,保持提示词精简,审查每一个 diff。
  • 密钥只放在服务器上,每个请求都检查权限,校验所有输入。
  • 当 AI 开始兜圈子时,回滚,而不是在修补上叠加修补。
  • 能用的 App 仍然需要发布:一个真实的域名、一个反馈渠道,以及有这个问题的人。

常见问题

用简单的话说,什么是 Vibe Coding?

Vibe Coding 就是用日常语言告诉 AI 工具你想要什么,以此来制作软件,而不是自己写代码。AI 生成代码,你来运行,再用更多指令引导下一步。它最适合快速做原型和小型 App。

不会写代码,能用 Vibe Coding 开发 App 吗?

能。即使没有编程经验,你也可以做出能用的原型,尤其是借助基于浏览器的应用生成器。但要发布一个需要处理真实用户和数据的产品,你需要掌握基础:App 的结构是怎样的、如何阅读 diff,以及如何保护好密钥和权限。AI 可以边做边教你这些。

最好的 Vibe Coding 工具有哪些?

这取决于目标。Lovable、Bolt、Replit 和 v0 等应用生成器,是做出可运行原型的最快路径。Cursor、Claude Code、GitHub Copilot 和 Windsurf 等编辑器和智能体,更适合拥有自己代码库的长期项目。

Vibe Coding 做出来的软件可以放心上生产环境吗?

可以,前提是你把 AI 的输出当成一位新同事写的代码:发布之前审查、测试,并检查安全问题。最常见的问题是 API 密钥泄露、缺少服务端权限检查,以及未经校验的输入。没人审查或测试过的代码,不应该处理别人的数据或钱。

用 Vibe Coding 开发一个 App 需要多长时间?

一个简单的原型可能一个下午就够了,而一个扎实的第一版通常需要几天到几周,取决于范围和经验。大部分时间花在测试、边界情况和部署上,而不是初稿。把范围收紧,是你能掌控的最大因素。

把你的项目放在世界转动的地方。

地图上的一个点,$1 起,放下即刻上线。标志、目录位置和像这样的页面,$19。