—— 我的手搓记分小程序开发进化实录
一句话的灵感 → 结构化提示词 → 多 Agent 协作 → 可落地的产品
这不是魔法,这是新一代 AI 编程范式的觉醒。
🃏 阶段一:抽卡式 Prompt(“随便写点啥”)
一切始于一个深夜打麻将的朋友圈吐槽:
“每次打牌都要翻手机计算器,能不能有个小程序随手记分?”
我灵机一动,在 Cursor 里敲下第一句 Prompt:
“写个微信小程序,能记扑克或麻将分数。”
AI 秒回:一个 index.js + index.wxml,带三个 input 和一个加号按钮。
但——没有样式、没有数据持久化、不能多人、不能清零、不能回退……
代码能跑,但完全不能用。
💥 问题:Prompt 太模糊,AI 只能“猜需求”。
结果:返工比手写还累。这不是提效,是添乱。
🧩 阶段二:结构化 Prompt 工程(“我要的是这个!”)
我意识到:Vibe Coding 的核心不是“让 AI 写代码”,而是“教会 AI 理解你的世界”。
于是,我重写了 Prompt,加入角色、约束与上下文:
prompt
编辑
你是一个资深微信小程序前端工程师,使用原生小程序开发(不使用 uniapp/Vue/TS)。
项目名:手搓记分
需求:
- 支持创建多个玩家(最多8人),输入姓名
- 每轮可为每个玩家增减分数(支持负数)
- 自动累计总分,实时排序(高分在前)
- 支持“撤销上一步”操作
- 数据本地存储(wx.setStorageSync)
- 界面简洁清爽,使用 Tailwind-like 原生样式(rpx 布局)
- 文件结构:pages/index/{js,json,wxml,wxss}, app.{js,json}
输出:完整的四个文件代码,可直接复制运行
这一次,AI 生成了接近可用的代码:
- 玩家列表 ✅
- 分数增减 ✅
- 本地存储 ✅
- 但“撤销”逻辑有 bug,排序不稳定
✅ 进步:结构化 Prompt 让 AI 理解了“边界”和“期望”。
⚠️ 局限:仍需人工调试、补漏、优化体验。
🤖 阶段三:Spec-Driven Development(SDD) + 多 Agent 协作(“让 AI 团队替我干活”)
真正的转折点,是我学会了 “先写 Spec,再写代码” 。
我不再直接要代码,而是先召唤 虚拟产品经理:
Prompt 给 Gemini / Claude:
“你是一位大师级微信小程序产品经理。请为‘手搓记分’小程序撰写一份完整的产品需求文档(PRD),用于后续 AI 编程实现。要求:
- 使用原生小程序(非 uniapp/vue/ts)
- 包含功能清单、数据模型、交互流程、UI 描述
- 输出为 Markdown 格式”
Gemini 返回了一份 专业级 PRD(节选):
markdown
编辑
# 手搓记分 - 产品需求文档
## 核心场景
- 麻将/扑克局中,快速记录每位玩家每轮得分
- 支持中途加入玩家、修改名字
- 一键清空本局,保留历史记录(可选)
## 功能清单
1. 【首页】玩家管理区
- + 添加玩家(弹出输入框)
- 点击玩家名可编辑
- 长按玩家可删除
2. 【记分区】
- 每位玩家一行:[姓名] [当前分] [+][-] 按钮
- 底部:[撤销] [清空本局] [导出记录]
3. 【数据模型】
- players: [{ id, name, total }]
- history: [ { action: 'add', playerId, delta, timestamp } ]
4. 【交互规则】
- 每次点击 +/- 触发:更新 total + push to history
- 撤销:pop history 并 revert total
接着,我用这份 PRD 作为 新 Prompt 的上下文,交给 虚拟前端工程师:
“你是一名精通原生微信小程序的前端开发。请根据以下 PRD 实现代码……”
结果?一次生成,几乎无需修改。
- 撤销功能正确 ✅
- 排序稳定 ✅
- 本地存储健壮 ✅
- 界面清爽 ✅
🚀 这就是 Spec-Driven Vibe Coding:
Spec 是合同,AI 是履约者。
🔑 为什么 SDD 是 Vibe Coding 的终极形态?
表格
| 传统 Coding | Vibe Coding (阶段一) | Vibe Coding (SDD 阶段) |
|---|---|---|
| 需求靠口头 | Prompt 靠运气 | Spec 是唯一真相 |
| 返工频繁 | 调试成本高 | 一次生成即接近上线 |
| 个人能力依赖 | AI 能力依赖 | 流程+规范+AI 协同 |
SDD 的本质,是把“模糊的人类想法”转化为“机器可执行的契约”。
而 AI,只是那个高效、不知疲倦的执行者。
🌱 我的收获:Vibe Coding 不是取代程序员,而是升级“编程接口”
从前,我们和计算机对话用 语法(Syntax)。
现在,我们和 AI 团队对话用 规范(Specification)。
未来的程序员 = 产品思维 × 规范设计 × AI 协调力
我的“手搓记分”小程序,从一句随意的吐槽,到可交付的产品,只用了 2 小时——
不是因为我变强了,而是因为我学会了“如何正确地指挥 AI 团队”。
📌 最后建议:如何开启你的 SDD Vibe Coding?
- 永远先写 Spec:哪怕只有 5 行 Markdown;
- 用角色分工:产品经理 → 设计师 → 前端 → 测试;
- 坚持原生约束:明确技术栈(如“原生小程序”);
- 把 Prompt 当文档写:清晰、结构化、无歧义。
记住:AI 不怕复杂,只怕模糊。
你给它一份合同,它还你一个产品。
手搓记分,不止记分——
它是我迈向 AI 协同开发新时代的第一张“记分牌”。