前言:从麻将记账开始的AI编程实践
过年打麻将不带现金,这个简单的需求背后,隐藏着现代AI编程的完整演进路径。我通过一个“麻将记账小程序”的开发过程,亲历了从随意Prompt到规范驱动开发(SDD)的完整进化,这个过程不仅是技术实践,更是对AI编程方法论的一次深度探索。
三个阶段:AI编程的认知跃迁
第一阶段:随机Prompt的“抽卡式”编程
最初的尝试往往是这样的:
“帮我写一个微信小程序,可以记录麻将输赢”
问题立即暴露:
- AI理解不准确,我们表达不专业
- 生成代码质量不稳定,基本不可用
- 需要反复调整Prompt,效率极低
这就像在抽卡——你永远不知道下一张会是什么,大部分时候都是“谢谢参与”。
第二阶段:结构化Prompt的“可控式”编程
我们开始学会给AI“设框架”:
# 角色设定
你是一个微信小程序高级开发工程师
# 项目结构
- pages/
- components/
- utils/
# 代码规范
- ES6+语法
- 原子化CSS
- 组件化开发
# 需求详情
开发一个麻将记账小程序,功能包括:
1. 玩家管理(4人)
2. 每局输赢记录
3. 实时统计总分
4. 结算功能
# 输出格式
按微信小程序标准项目结构输出代码
进步与局限:
- ✅ 可控性显著提升
- ✅ 代码质量有所保证
- ❌ 仍需大量人工测试和调整
- ❌ 功能完整性难以保障
这个阶段我们已经从“抽卡玩家”变成了“策略玩家”,但离专业选手还有距离。
第三阶段:SDD——规范驱动开发
这是真正的范式转变。我们不再直接写代码,而是先构建完整的产品规范。
SDD实战:多Agent协同的工业级流程
Step 1:虚拟产品经理——生成产品需求文档
Prompt:你是一个大师级微信小程序产品经理,帮我把“麻将记账小程序”的想法变成专业的需求文档。
请按以下结构输出:
1. 项目概述
2. 用户角色分析
3. 功能需求清单
4. 非功能需求
5. 交互流程
6. 数据模型设计
AI生成的PRD会包含:
- 详细的用户场景分析
- 完整的功能流程图
- 清晰的数据结构设计
- 具体的交互细节
Step 2:虚拟设计师——生成UI设计规范
基于PRD,让AI生成:
- 页面布局设计
- 色彩规范
- 组件库定义
- 交互状态说明
Step 3:虚拟开发团队——生成完整代码
将前两步的产出作为输入:
基于以下产品需求文档和设计规范,生成微信小程序完整代码:
【附上完整的PRD】
【附上完整的设计规范】
要求:
1. 严格按照微信小程序开发规范
2. 实现所有功能点
3. 确保代码可维护性
4. 添加必要的注释
Step 4:虚拟测试工程师——生成测试用例
最后,让AI基于代码和需求生成测试用例,确保功能完整性。
为什么SDD是AI编程的未来?
优势对比
| 维度 | 随机Prompt | 结构化Prompt | SDD |
|---|---|---|---|
| 可控性 | 极低 | 中等 | 极高 |
| 代码质量 | 不可用 | 需调整 | 生产级 |
| 开发效率 | 极低 | 一般 | 高效 |
| 可维护性 | 无 | 较差 | 优秀 |
| 团队协作 | 不可行 | 困难 | 顺畅 |
SDD的核心价值
-
需求澄清在前,代码生成在后
- 避免“边做边改”的混乱
- 确保AI和开发者对需求理解一致
-
文档即代码,规范即生产力
- PRD成为“唯一真相源”
- 所有Agent基于同一份规范工作
-
模块化协作,质量可控
- 每个Agent专注特定领域
- 质量检查点前移,问题早期发现
-
可复用的方法论
- 一套SDD流程适用于多个项目
- 积累的规范文档可以复用
实践建议:如何开始你的SDD之旅
工具栈推荐
- AI模型:Claude 3/ GPT-4 / DeepSeek
- 编程工具:Cursor / Windsurf / Codeium
- 文档工具:Notion / Obsidian(用于管理PRD)
- 设计协作:Figma(设计稿) + MCP工具(设计稿转代码)
起步模板
# [项目名] SDD规范文档
## 1. 产品需求
### 1.1 核心价值主张
[用一句话说明产品价值]
### 1.2 用户场景
- 场景1:[具体场景描述]
- 场景2:[具体场景描述]
### 1.3 功能清单
- [ ] 功能1:描述 + 验收标准
- [ ] 功能2:描述 + 验收标准
## 2. 设计规范
### 2.1 设计系统
- 色彩方案
- 字体规范
- 间距系统
### 2.2 页面清单
- 页面1:功能 + 交互说明
- 页面2:功能 + 交互说明
## 3. 技术规范
### 3.1 架构设计
[简要说明技术选型和架构]
### 3.2 数据模型
[描述核心数据结构和关系]
未来展望:AI编程的下一站
当前我们还在“人类指挥多Agent”的阶段,未来会向自治Agent团队演进:
- 自迭代系统:Agent能基于运行反馈自动优化代码
- 跨领域协作:设计Agent能理解技术约束,开发Agent能考虑用户体验
- 实时协同:多个Agent在统一环境中实时协作开发
- 业务理解:AI能深度理解业务逻辑,提出优化建议
结语:从“写代码”到“设计系统”
AI编程的本质变化,是开发者角色的根本转变。我们不再是与编译器对话的程序员,而是与智能团队协作的系统架构师。
SDD不是放弃对代码的控制,而是通过更高维度的规范设计,获得更精准、更高效的控制能力。就像导演不需要亲自表演每个角色,但通过剧本和分镜,能精确控制整部电影的走向。
麻将记账小程序只是一个开始。当你能用SDD流畅地开发一个完整应用时,你拥有的不仅是技术能力,更是面向未来的AI时代产品构建思维。
作者思考:在这个AI重构一切的时代,最宝贵的不是知道如何写Prompt,而是懂得如何设计让AI发挥最大价值的系统和流程。SDD就是我们这个时代的“软件工程方法论”,它让AI编程从“手工作坊”走向“工业化生产”。
注:本文所有观点基于实际项目实践,文中的“麻将记账小程序”已开源,欢迎交流探讨。