返回博客
阅读约 1 分钟

什么是 vibe coding,以及如何有分寸地使用它

Vibe coding 让你用对话的方式做软件,但它同样需要清晰的边界、可执行的测试,以及对结果负责的人。

  • #Vibe Coding
  • #AI
  • #入门
一个人正与 AI 编程助手对话来构建应用
分享

简短回答

Vibe coding 是一种迭代式的软件构建方式:你用自然语言描述目标和改动,让 AI 提出代码。你负责界定每一个任务、验证行为、评估风险并决定哪些改动可以合入;工具加快的是执行速度,而不是替你承担产品责任。

能产出证据的 vibe coding 循环

速度来自反复跑一个小循环。每一轮以一次验证收尾,而不是以一眼看上去不错收尾。

  1. 想法

    先说清楚问题,以及需要解决它的人是谁。

  2. 范围

    选一个你能独立评审、不会混进多个约定的改动。

  3. 草稿

    让 AI 在明确的边界内提出一种实现方式。

  4. 验证

    跑一遍流程、评审改动,并把结论带进下一轮。

Vibe coding 指的是通过与人工智能(AI)对话来构建软件的方式。Andrej Karpathy 在 2025 年让这个说法流行起来,用它描述一种由模型主导的风格。在一个负责任的流程里,目标、边界和最终决定仍然掌握在人手里

我们会跟着一个具体案例走:一个线下工作坊的报名页面。第一版会要求姓名、邮箱和所选场次,拒绝无效数据并显示一条确认信息。每一节都会回到这同一个功能,用来把速度和随意区分开

Vibe coding 把意图变成一次次迭代

流程从用自然语言描述一个结果、并请工具给出代码开始。接着你观察已有的东西,指出一处改动,然后重复。价值不在于全盘接受每个回答,而在于缩短从一个决定到一次验证之间的时间

对于工作坊报名,「做一个活动平台」一次打开了太多战线。「加一个包含姓名、邮箱和场次的表单;校验字段并确认名额」才定义了第一次迭代。你的第一个好提示词展示了如何把这个范围变成可验证的指令。

从小任务开始是一条经验法则,而不是保证。有些改动需要先协调整场迁移,或者先复核一个共享约定,才能动手改代码。合适的粒度取决于风险,以及你能否验证结果。

想法需要一个人和一个问题

有用的想法会说明谁在行动、解决的是什么困难。 在我们的案例里,感兴趣的人想选一个场次,并知道报名是否登记成功。组织方则需要完整的数据,没有重复项,也没有无效地址。

在要求界面之前先写下这些背景。这样你就能避免做出一个只有装饰性、却没有确认、名额或错误提示的页面。你也可以推迟那些不属于第一条路径的功能,比如支付、候补名单或管理员入口。

核心问题不是哪种技术看起来更新。要定义的是:对使用产品的人来说,哪个行为必须改变。 AI 可以提出组件,但它并不天然知道这场工作坊的优先级。

小范围保护了下一个决定

范围规定了什么进来、什么留在外面。第一轮里包含字段、校验和确认;把支付、账号和与外部服务的同步留在外面。这条边界让一次改动可以在一个工作时段内评审完。

当两个任务不共享同一个约定时,可以把工作拆开。你可以在另一个人准备示例数据的同时打磨确认文案,但最好不要让两个智能体同时修改报名数据结构AI 智能体指南说明了如何应用最小权限和审批。

同时写下哪些文件或区域必须保持原样。 如果应用里已经有按钮、字段或样式规则,就要求复用它们。避免第二套实现,可以减少日后的不一致。

第一版草稿是评审材料

工具生成的是一个解决方案假设,而不是事实。 打开表单,完成一次报名,并阅读处理数据的那段代码。确认可见的提示与真实状态一致,并且不会在保存之前就出现。

尝试那些偏离顺利路径的输入。用一个没有 @ 的邮箱、把姓名留空、换一个场次、连续提交两次。如果表单接受了无效数据,就把动作、观察到的结果和期望的结果一起反馈回去。

把修复保持在同一个范围里。修校验的时候,不要顺手要一个动画或一个新面板。一次只改一个变量,才能看出是哪次改动解决了缺陷。

验证为每一轮收尾

自动化测试覆盖可重复的规则,而浏览器确认的是整体体验。对于这场工作坊,一个测试可以检查没填邮箱时会显示错误;真实流程还要确认焦点、文案,以及在 390 像素宽度下的表现。这两层回答的是不同的问题。

当流程调用外部服务时,检查控制台和网络请求。如果请求失败或写入了重复记录,一条可见的确认信息并不够。 记录你验证过什么、哪些留到了后面,这样下一次迭代就不会建立在猜测之上。

如果证据成立,就合入改动并选择下一个任务。如果失败,就带着新信息回到范围或草稿。循环因验收标准而结束,而不是因为疲劳,也不是因为模型语气笃定。

责任包含数据与权限

表单会处理姓名和邮箱,因此你需要明确的用途、保留策略和受限的访问权限。不要把真实数据粘进提示词,也不要把凭据当作上下文。 用虚构示例工作,并把密钥配置在生成内容之外。

AI 同样不应该在没有明确授权的情况下发布内容、发送邮件或修改权限。外部动作会影响其他人,而且更难撤销。在部署和任何对外沟通之前,保留一次人工审批。

在医疗、支付或法律判断这类领域,仅靠肉眼评审是不够的。要加上领域专家、安全测试和该领域自身的控制措施。Vibe coding 改变的是创建方式,而不是所需的责任等级。

最常见的失败都有可见信号

第一种失败是在核心还没验证之前就扩大产品。如果报名仍会写入重复记录,加上用户档案只会让缺陷状态成倍增加。先修好已经存在的约定。

第二种失败是在没弄懂的情况下接受依赖或架构。请它解释这次改动、评估维护成本,并运行项目自己的命令。只能在智能体会话里跑通的方案,还不算完成。

也可能出现看似合理、但测试很薄弱的代码。读一读每个测试到底断言了什么,并故意构造一个本该失败的用例。只有当测试验证的是约定好的行为时,绿色的测试套件才算证据。

扩大之前先检查这一轮迭代

在案例的每一轮结束时使用下面这些勾选项。在能为每一条给出理由之前,不要开始下一个任务。

  • 这次迭代解决了工作坊报名中的一个具体需求。
  • 范围排除了支付、账号和未获授权的改动。
  • 有效状态、空状态和错误状态都测过了。
  • 流程在键盘操作和窄屏下都能走通。
  • 使用的数据是虚构的,权限是最小的。
  • 发布前有人评审并授权了这个结果。

Vibe coding 是一种迭代纪律,而不是跳过控制环节的捷径。 如果你带着证据反复走完想法、范围、草稿和验证,每一轮都会为下一个决定留下更清楚的基础。

小测验

检查你的下一次迭代

选出那个让工作保持有界且可验证的决定。

1 / 3

表单看起来已经不错了。负责任的下一步是什么?
显示答案
  1. 1. 表单看起来已经不错了。负责任的下一步是什么?

    正确答案: 测试有效提交、错误状态、键盘操作和移动端显示。

    外观不能证明行为;先测流程和它的各种状态,再扩大范围。

  2. 2. 第一次迭代适合放进什么任务?

    正确答案: 完成一个工作坊的报名功能,并带上校验。

    一个有界的功能,能让你在不混合多个约定的前提下检查输入、错误和结果。

  3. 3. 谁来决定结果是否可以发布?

    正确答案: 评审并发布的人或团队。

    责任属于接受改动、掌握数据并授权发布的人。

来源

  1. 最早提出 vibe coding 这一说法的帖子Andrej Karpathy 于 X · 访问于 2026-07-15
  2. Prompt engineeringOpenAI · 访问于 2026-07-15
  3. Prompt design strategiesGoogle AI for Developers · 访问于 2026-07-15

常见问题

不会写代码可以做 vibe coding 吗?

可以在不熟悉语法的情况下起步,但你需要学会描述状态、读懂报错并验证结果。产品风险越高,越需要专业的技术评审。

开始需要什么工具?

任何能提出并修改代码的工具都可以用来练习。根据你的环境、权限和预算来选,并从一个你能完整验证的任务开始。

vibe coding 能用于真实产品吗?

如果团队补上测试、评审、安全、可观测性和维护,它可以成为真实产品的一部分。生成出来的原型不会因为看起来完整就等于可上线。

如果 AI 引入了缺陷,谁来负责?

接受并发布这次改动的人或团队。借助 AI 写代码并不免除检查数据、权限、无障碍和行为的义务。