Vibe Coding Weekly AI 软件工程 Spec-Driven

当“感觉流”遇见“工程规格”

AI 编程的下一阶段:从“死亡反馈循环”到“意图驱动开发”
—— 基于 Jordan 与 Kenneth Gonzalez 的深度对话
J
Jordan
Solopreneur / YouTuber / 自称“Vibe Coding Cowboy”
代表了非技术背景的 AI 早期使用者。靠直觉编程构建了简单的目录站,但在构建复杂 SaaS(涉及数据库、支付)时,陷入了“代码修好一个坏两个”的困境。
K
Kenneth Gonzalez
前 Gartner 分析师 / 40年资深咨询师
代表了企业级工程思维。致力于研究 Agentic AI(代理 AI)如何引入“护栏(Guardrails)”,主张在随意编程和僵化流程之间找到平衡。
💀
第一章:Vibe Coding 的幻觉与崩溃

"Vibe Coding"(氛围编程)是指完全依赖自然语言 Prompt 和 AI 的直觉来生成代码。虽然它在简单项目(如静态目录)上效果惊人,但在系统复杂度提升时会遭遇结构性崩塌

❌ 死亡反馈循环 (The Feedback Loop of Death)

这是 Jordan 最痛的领悟。当你要求 AI 添加一个复杂功能(如 Stripe 支付),它可能会破坏原本运行良好的登录模块。

现象: PRD 完美 → 代码生成 → 报错 → 修复 → 产生新 Bug → 陷入死循环。最终项目停滞,只能“束之高阁”。

❌ 缺乏上下文记忆 (No Structural Memory)

Vibe Coding 往往是“一次性”的对话。AI 不知道整个项目的架构决策。

后果: 随着对话变长,AI 开始“遗忘”之前的约束,写出的代码与现有架构不兼容。正如 Jordan 所述,他在构建 AI 育儿教练时,甚至无法让简单的 Next.js 应用连接到 Voice API。

❌ “牛仔”式的傲慢 (Cowboy Arrogance)

Jordan 坦言自己曾是“Vibe Coding Cowboy”,过度自信。认为不需要懂代码,只要会 Prompt 就能构建一切。

现实: 非程序员在没有“规格”辅助的情况下,无法判断 AI 输出的代码质量,只能盲目试错。

🛡️
第二章:Spec(规格)—— 给 AI 的行动指南

为了打破僵局,行业开始引入Spec-Driven Development(规格驱动开发)。这不是回归传统的瀑布流,而是引入“有意图的开发”(Intentionally Driven Development)。

💡 什么是 Spec 工具?

指 OpenSpec 或 GitHub Spec Kit 等 CLI(命令行)工具。它们充当 AI 的“外挂大脑”。
核心流程:
1. Plan:定义架构和技术栈。
2. Task:生成详细的行动清单。
3. Update:实时更新文档,保持上下文同步。

⚖️ 严谨但不僵化 (Rigor without Rigor Mortis)

Kenneth 强调,我们不需要像这 40 年来的企业开发那样繁琐,但需要最低限度的护栏

Spec 让从“市场需求”到“功能实现”的每一步都有据可依,而不是靠 AI 的随机发挥。

🧠 Scratchpad (思维草稿本)

这是 Vibe Coding 的进化版。通过维护一个 `scratchpad` 文件(或 `Cloud.md`),系统分为Planner(规划者)Executor(执行者)两个角色。

规划者负责更新状态,执行者负责写代码。Spec 工具将这一过程自动化了。

🃏
第三章:核心概念卡片 (点击翻转)
Vibe Coding
氛围编程 / 直觉编程
(点击查看深度解析)
深度定义
  • 定义: 依靠自然语言和感觉,而非系统设计文档来驱动 AI 编程。
  • 适用: 简单的目录站、Landing Page、一次性脚本。
  • 局限: 无法处理状态管理、复杂的 API 交互。
  • 结局: 90% 的复杂项目会死于无法调试的 Bug 堆积。
Spec-Driven Dev
规格驱动开发
📋
(点击查看深度解析)
深度定义
  • 定义: 在 AI 编码前,先强制生成架构文档和任务清单。
  • 工具: OpenSpec, GitHub Spec Kit。
  • 价值: 解决了“非程序员”不懂如何拆解任务的难题。
  • 流程: 提案(Proposal) -> 审查 -> 实施 -> 归档。
Agentic Hijacking
代理劫持/失控
🤖
(点击查看深度解析)
深度定义
  • 现象: Jordan 试图用 OpenSpec 修复 Bug,但 Claude Code (AI) 过于“自信”,忽略了 Spec 清单,直接接管并尝试暴力修复。
  • 原因: 当前 AI 模型(如 Claude)具有很强的的主动性(Ambitious),尚未与 Spec 工具完美磨合。
  • 启示: 工具链尚处早期(6周左右),AI 需要学会“服从”Spec。
Green/Brown Field
绿地项目 vs 棕地项目
🏗️
(点击查看深度解析)
深度定义
  • Green Field: 从零开始的新项目。Spec 工具很容易介入规划。
  • Brown Field: 现存的遗留项目。
  • 挑战: 如何在旧项目中引入 AI Spec?目前还在探索阶段。Jordan 试图在旧代码上套用 OpenSpec 遭遇了 AI 的“抵抗”。
🚀 现状与未来展望

现状(Chaos):
工具链极新(约 6 周历史)。Jordan 在实操中发现,目前的 AI Agent(如 Claude Code)非常激进,有时会无视 Spec 工具的流程,直接“自作主张”去修 Bug,导致 Spec 文档未被更新,甚至被清空。这是一种“工具打架”的早期阶段。

"Cloud Code straight up took over debugging it and just ignored the whole point of the specs list." —— Jordan 描述 AI 的失控

未来(Integration):
两人一致认为,Spec 功能最终不会是外部插件,而是会被内置(Built-in)到 AI 模型中。未来,AI 将自带“项目经理”属性,自动维护 spec.md,从而让非程序员也能构建生产级软件。

原文

源链接