AI Coding 最佳实践(一):三层文档驱动开发
为什么需要文档驱动?
当你让 AI 帮你写代码时,是否遇到过这些问题:
- AI 理解错了你的意图,写出来的代码方向跑偏
- 需求不断变化,AI 每次都要重新理解上下文
- 功能越做越多,最后变成一个庞然大物
- 技术选型混乱,AI 随意选择方案
核心问题在于:AI 没有足够的上下文来理解你的项目全貌。
三层文档框架
我在实践中总结出一套三层文档框架,能有效解决上述问题:
┌─────────────────────────────────┐
│ Intent 意图层 │
│ Why & For Whom 为什么做 │
└─────────────────────────────────┘
↓
┌─────────────────────────────────┐
│ Spec 规范层 │
│ What 做什么功能 │
└─────────────────────────────────┘
↓
┌─────────────────────────────────┐
│ Plan 方案层 │
│ How 怎么实现 │
└─────────────────────────────────┘
各层职责
| 文档 | 回答问题 | 核心内容 |
|---|---|---|
| Intent | Why & For Whom | 项目动机、目标用户、验收标准 |
| Spec | What | 功能列表、用户旅程、验收标准 |
| Plan | How | 技术栈、架构设计、开发计划 |
这套方法的优势
1. 边界清晰,避免范围蔓延
通过「明确不做什么」,让 AI 知道边界在哪里。
2. 上下文持久化
文档是持久化的上下文,无论何时开始新对话,AI 都能快速理解项目全貌。
3. 分层决策,职责分离
- Intent 由产品/业务决定
- Spec 由产品/设计决定
- Plan 由技术决定
4. 渐进式细化
从抽象到具体,避免一开始就陷入技术细节。
实践案例
这个博客本身就是用这套方法构建的。我用三个文档指导 Claude 完成了整个项目:
- 从零搭建 Astro 博客框架
- 实现分类、标签、RSS 等功能
- 完成响应式设计和暗黑模式
整个过程高效顺畅,AI 始终在正确的方向上工作。
系列导航
本系列将详细介绍每一层文档的写法:
- 本文:三层文档驱动开发概述
- Intent 意图层:如何明确项目目标
- Spec 规范层:如何定义功能边界
- Plan 方案层:如何制定技术方案
下一篇,我们将深入探讨 Intent 意图层的写法。