—— 从 Vibe-coding 到 Spec-coding 的实操指南 + 博客 v0.2 演化

系列导读:这是《用一份 .md,把想法变成产品》系列的第 3 篇。在上一篇中,我们建立了三份核心文档并实现了博客 v0.1。这一篇,我们将学习如何让 AI 真正理解并执行文档,将博客演化到 v0.2。
开篇:卡比的新挑战
v0.1 上线了,卡比很满意。一个简洁的 Landing Page,加载速度快,设计优雅,所有验收标准都达标。
但很快,卡比遇到了新问题:"一个博客没有文章,总感觉少了点什么。"
于是,卡比决定在 v0.2 中添加核心功能:Markdown 文章渲染。
卡比打开电脑,准备开始新一轮开发。但这次,它没有直接让 AI 生成代码,而是先问自己三个问题:
-
我真的想清楚要做什么了吗?(需求是否明确?)
-
文档需要更新哪些部分?(intent/spec/plan 分别要改什么?)
-
如何让 AI 精确理解我的意图?(怎么写 Prompt?)
这就是文档驱动开发和 Vibe-coding 的核心区别:不是想到什么就让 AI 做什么,而是先思考、先规划、再执行。
今天,我们将跟随卡比,学习如何让 AI 成为可靠的文档执行者。
一、AI 协作的核心原则

在开始实际操作之前,我们需要理解 AI 协作的本质。
原则 1:AI 是字面主义者,要说"人话的机器话"
AI 不会读心术。
当你说"帮我添加文章功能",AI 会有一百种理解方式:
-
理解 A:添加一个静态的文章列表页
-
理解 B:从数据库读取文章
-
理解 C:集成 WordPress API
-
理解 D:实现富文本编辑器
为什么会这样? 因为 AI 只能基于你提供的信息进行推理,它无法知道你脑海中的具体画面。
解决方法:用 AI 能理解的"机器话",但以人类自然的方式表达。
错误示例:"帮我加个文章功能"
正确示例:
"基于以下需求,为博客添加 Markdown 文章渲染功能:
需求背景
-
文章存储在本地目录
-
每篇文章是一个 .md 文件
-
文章包含标题、日期、作者等元信息
技术约束
-
使用 Next.js(一个网站开发框架)
-
使用相应工具读取和解析文章
期望输出
-
文章读取工具函数
-
文章详情页
-
一个示例文章文件"
关键差异:后者提供了明确的上下文、约束条件和期望结果。