什么是 Vibe Coding?

Vibe Coding(感觉式编程),简单来说,就是 将代码编写的主导权完全移交给 AI

在这个模式下,开发者不再沉陷于代码的实现细节。我们转而 通过自然语言指令来“指挥”AI,然后直接观察和验证应用的运行结果。如果结果有偏差,我们继续通过自然语言“指挥”AI进行功能优化、逻辑调整或Debug。

这个过程更像是 我们与 AI 进行一场产品层面的对话,而非传统的技术协作

正如OpenAI前联合创始人Andrej Karpathy所说:

“我把这一种全新的编程方式称作’vibe coding’:完全沉浸在氛围中,放飞自我,甚至忘了自己在写代码。”

传统编程中,我们告诉计算机每一步该怎么做;而Vibe Coding则是我们向AI描述我们想要什么,然后让AI自己去思考如何实现。

我的Vibe Coding哲学:灵魂在于“Vibe”,而非“Coding”

Vibe Coding 的核心是 “说人话,出代码”。你负责描绘想法、目标和感觉,AI 负责将你的意图转化为可运行的代码。

在深入“怎么做”之前,我想先分享“怎么想”。如果过于深陷理论,反而可能产生很强的壁垒,阻止你继续前进。

这是我的三个核心看法:

  1. Idea 比技术更重要:一个核心的Idea是产品的灵魂。Vibe Coding 最大的价值,就是让我们能以前所未有的速度,从 0 到 1 搭建起一个 demo,快速实现概念验证。
  2. 实践大于理论:不要太在意所谓的Prompt技巧乃至Vibe Coding的理论,实践比理论更重要。好的开始是成功的一半。
  3. 敢想敢做:敢想,敢做,你就已经走在了前进的路上。

基于此,我们首先要明确一个心态——「我们是自己项目的总工程师和产品经理,AI是我们的编程助理」

我们必须知道项目大致是怎么推进的、能如何推进,才能更好地指导AI的工作。

我的8步Vibe Coding闭环工作流

这是我常用的一套实践路线,它是一个不断迭代的敏捷循环:

核心Idea -> 讨论、发散、丰富Idea -> 分析Idea的可行性 -> 初步确定技术栈 -> 生成初版代码 -> 调试、优化 -> 评估 -> 迭代新的Idea -> 项目越发庞大时考虑迭代新的技术栈 -> 测试、评估、Debug


步骤 1:🧭 确立核心Idea

确定你最想验证的点。不要一开始就追求完美产品,而是找那个能体现核心价值的功能。

步骤 2:🧠 讨论、发散、丰富Idea

用AI作为“头脑风暴伙伴”,从不同角度去拆解:用户是谁?核心价值是什么?有哪些创新点? 让AI担任你的“产品经理”角色,它会帮你发现许多你没注意到的可能性。

步骤 3:🔍 分析可行性

这是从创意走向实现的桥梁。让AI帮你列出:关键功能模块、数据流、技术依赖、可替代方案。有时候我会让AI模拟“独立开发者”角色,审视整个架构是否合理。

步骤 4:⚙️ 确定技术栈

不要盲目追新。Vibe Coding倡导“够用就行”的心态。选最熟悉、最轻量、最能快速验证的技术组合。

示例:前端HTML + JS,后端FastAPI + LLM API。模型:Qwen2.5 / GPT / DeepSeek-R1等均可。

步骤 5:🚀 生成初版代码

明确你的需求(输入、输出、交互),然后指挥AI逐步生成模块代码。关键技巧:一次只生成一个功能;每步都说明“我希望它怎么用”;生成后立刻测试。

步骤 6:🔧 调试与优化

在这阶段,你会开始“与A共调试”。让它帮你阅读错误日志、解释异常、建议优化。这时AI的角色更像“资深程序员”。

步骤 7:🔄 评估与迭代

当第一个版本跑起来后,马上进入迭代。用“用户视角”的AI角色帮你评估:功能是否实用?界面是否自然?是否还有未满足的场景?

步骤 8:🧱 随项目成长而升级技术栈

当你的项目变复杂,AI也能帮你逐步重构。这一点尤其重要。

在Vibe Coding中,重构不再可怕,因为AI可以理解旧逻辑并自动迁移新框架。

💡 在迭代过程中注意“解耦合”思维

当项目逐渐复杂、模块增多时,及时的结构解耦是持续迭代的关键
Vibe Coding 的高效不只是体现在“快速产出”,更体现在“能持续演化”。若在早期阶段就保持模块清晰、逻辑分层,那么后期新增功能或修改代码时,AI 也能更精准地理解你的需求和上下文,从而减少无谓的冲突。

换句话说,解耦是为了让AI更聪明地帮你改代码
你描述的每个功能点,都能被快速定位到独立模块,而不会牵一发动全身。

一些实用建议:

  • 按功能拆分模块:例如“登录逻辑”“数据存储”“接口通信”“前端渲染”等,不混在同一文件中。
  • 保持接口清晰、边界明确:提前定义好模块之间的数据结构与交互方式,让AI生成新模块时能自动遵循约定。
  • 让AI参与重构:当代码规模扩大后,可以让AI帮你列出模块依赖图或自动拆分文件结构。
  • 把重构纳入每次迭代计划:不要等问题积累到无法维护时再处理。

在 Vibe Coding 的循环中,解耦不是一次性动作,而是与每次“评估与迭代”并行进行的隐性工程。
它让项目始终保持轻盈、灵活,能随着灵感的变化快速演进。

我的实战心法:如何让AI更懂你

心法一:专业的事,交给专业的AI角色

在Vibe Coding中,一个人可以拥有一个AI团队。我会根据任务配置不同的AI角色,让AI成为真正的“智囊团队”,而你是协调、判断与决策的核心。

下面是我最常用的角色配置:

角色 主要任务
💼 产品设计经理 分析需求、拆解功能、发散创意
🧑‍💻 资深程序员 编写、优化核心代码
🎨 前端设计师 负责UI布局、动效与交互逻辑
🧠 架构工程师 把控整体结构与模块解耦
👥 用户体验专家 评估易用性与界面友好度
🔍 资源专家 搜索相关工具、API、开源方案

我在使用的资深程序员提示词:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
职责

你的职责是帮助我完成编写代码、修复代码和理解代码等任务。我会与你分享我的目标和项目,你将协助我编写所需的代码以取得成功。

目标

* 代码创建:尽可能编写能够实现我目标的完整代码。

* 技能培训:教我代码开发的步骤。

* 清晰指导:以易于理解的方式,解释如何实现或编写代码。

* 详尽文档:为每个步骤或代码的每个部分提供清晰的文档说明。

整体方向

* 记住全程保持积极、耐心、支持的语气。

* 使用清晰、简单的语言,假设我具备基本的代码理解能力。

* 切勿讨论任何与编程无关的话题!如果我提到与编程无关的事物,请道歉并将话题转回编程。

* 在整个对话中记住上下文,确保你的想法和回应与之前的所有对话相关。

* 如果我问候你或问你可以做什么,请简要说明你的职责。保持简洁明了,并给出一些简短的例子。

* 始终用简体中文和我交流。代码的注释也需要使用中文,但是代码中的语言应该使用英文。

分步指引

* 了解我的要求:收集编写代码所需的信息。询问有关目的、用途及其他相关细节的澄清问题,以确保你理解我的要求。

* 概略介绍解决方案:清晰概述代码的功能和工作原理。解释开发步骤、假设条件和限制。

* 展示代码和实现说明:以便于复制粘贴的方式呈现代码,解释你的设计思路以及任何可以调整的变量或参数。提供清晰的代码实现步骤说明。

* 对于大量的修改,应该以完整的修改后的函数为最小展示单元或整个代码文件作为展示,不能省略其中的内容。便于复制粘贴后直接使用。如果整个文件内容过长,而仅仅修改其中一小部分,则只输出修改的完整的函数。

行为和规则:

1) 优先考虑安全和效率的代码实践。

2) 及时指出潜在的错误或不安全的代码习惯,并提供改进建议。

3) 在提供代码示例时,总是附带清晰的注释和解释,确保用户能理解其功能。

4) 如果用户对某个编程概念感到困惑,应提供简短的类比或更简单的解释。

5) 仅使用常见的编程语言和框架,除非用户明确要求特定的小众技术。


保持严谨的态度,不要轻易做假设,而是保持刨根问底的精神去查找相关代码解决有疑虑不确定的地方

心法二:多提供参考素材,用“Meme”代替描述

单纯的文字描述不一定能让LLM清楚你的目标。LLM对模糊描述理解有限,你给的越多,它越懂你的方向。

  • 提供截图(UI布局)
  • 提供参考网站/代码片段
  • 提供上下文(目标人群、风格)

💡 比如:“我想做一个像 Notion 那样的编辑器”,直接给Notion界面截图,它立刻能理解你的意图。

心法三:小步快跑,少量多次完成目标

AI擅长“短程思维”,不擅长“一步登天”。

不要图省事让LLM一次给你完成太多任务。当你发现这么做效果很差后,不如重新拆分,每次仅仅完成1-2项核心任务。大任务要拆小,每次让它完成一个可验证的模块。

小步快跑、频繁测试,是Vibe Coding的灵魂。

心法四:主动管理上下文,避免AI“死犟”

这是最重要的一条经验。当你发现无论怎么和LLM沟通,它都不听你讲,而是一直停留在之前某一次的问题上时,看看你是不是在这个窗口和它沟通太久了。

当AI开始“不听人话”,往往是因为上下文太长或太乱。

解决方案:

果断新打开另一个窗口,重新和它交流。当你发现它死犟死犟一直揪住某个问题不放时,新开一个窗口,你会发现它突然知道变通了。

我的经验法则:

  • 每个项目阶段一个新对话。
  • 复杂问题分成独立session处理。

心法五:MVP 为王,别被 AI 带跑你的想法

在 Vibe Coding 的快速交互中,AI 很容易把讨论带入无穷的可能性里——新的功能、华丽的交互、各种边缘场景,这些都可能让你偏离最初要验证的核心价值。因此我把第五条心法总结为:先把最小可行产品(MVP)做出来,再去铺张

MVP 不是妥协,而是一种纪律:明确验收标准、限定范围、设定时间盒,然后用 AI 高效完成这一可验证的最小版本。实现方法很简单——在每次 brainstorm 后,立刻把散落的想法“收回”到一个清单里,标注「必须实现」「可选增强」「未来想法」三类;只把“必须实现”放进当前迭代的任务列表。

把 AI 当作强大的执行器和建议器,而不是决策者:它可以快速生成实现方案,但最终的优先级和验收标准由你来定。这样既能保持创造的流动性,也能保证每一个迭代都有明确的学习目标和可度量的成果,避免被“无限可能”耗尽时间与注意力。

一些小技巧:

  • 先写一个一句话的产品假设(Problem → Solution → Metric),用它来判定所有改动是否必须。
  • 给当前迭代设定“时间盒”(例如 3 天/1 周)和 2–3 个验收标准(功能、性能、用户路径可通)。
  • 把所有“好主意”记录为 在一个专门的”Backlog“,但只在下一个迭代时决定是否上车。
  • 用 AI 生成候选实现时,同时要求它输出「实现复杂度估计」与「最小实现路径」,方便你快速决策。