"Vibe Coding"(氛围编程)是指完全依赖自然语言 Prompt 和 AI 的直觉来生成代码。虽然它在简单项目(如静态目录)上效果惊人,但在系统复杂度提升时会遭遇结构性崩塌。
这是 Jordan 最痛的领悟。当你要求 AI 添加一个复杂功能(如 Stripe 支付),它可能会破坏原本运行良好的登录模块。
现象: PRD 完美 → 代码生成 → 报错 → 修复 → 产生新 Bug → 陷入死循环。最终项目停滞,只能“束之高阁”。
Vibe Coding 往往是“一次性”的对话。AI 不知道整个项目的架构决策。
后果: 随着对话变长,AI 开始“遗忘”之前的约束,写出的代码与现有架构不兼容。正如 Jordan 所述,他在构建 AI 育儿教练时,甚至无法让简单的 Next.js 应用连接到 Voice API。
Jordan 坦言自己曾是“Vibe Coding Cowboy”,过度自信。认为不需要懂代码,只要会 Prompt 就能构建一切。
现实: 非程序员在没有“规格”辅助的情况下,无法判断 AI 输出的代码质量,只能盲目试错。
为了打破僵局,行业开始引入Spec-Driven Development(规格驱动开发)。这不是回归传统的瀑布流,而是引入“有意图的开发”(Intentionally Driven Development)。
指 OpenSpec 或 GitHub Spec Kit 等 CLI(命令行)工具。它们充当 AI 的“外挂大脑”。
核心流程:
1. Plan:定义架构和技术栈。
2. Task:生成详细的行动清单。
3. Update:实时更新文档,保持上下文同步。
Kenneth 强调,我们不需要像这 40 年来的企业开发那样繁琐,但需要最低限度的护栏。
Spec 让从“市场需求”到“功能实现”的每一步都有据可依,而不是靠 AI 的随机发挥。
这是 Vibe Coding 的进化版。通过维护一个 `scratchpad` 文件(或 `Cloud.md`),系统分为Planner(规划者)和Executor(执行者)两个角色。
规划者负责更新状态,执行者负责写代码。Spec 工具将这一过程自动化了。
现状(Chaos):
工具链极新(约 6 周历史)。Jordan 在实操中发现,目前的 AI Agent(如 Claude Code)非常激进,有时会无视 Spec 工具的流程,直接“自作主张”去修 Bug,导致 Spec 文档未被更新,甚至被清空。这是一种“工具打架”的早期阶段。
未来(Integration):
两人一致认为,Spec 功能最终不会是外部插件,而是会被内置(Built-in)到 AI 模型中。未来,AI 将自带“项目经理”属性,自动维护 spec.md,从而让非程序员也能构建生产级软件。