这篇文章是 Vibe Coding 系列的第六篇。前面几篇讲了概念、路线、工具、流程和上下文,这篇把它们放进三个真实场景:课程项目、个人工具和科研复现。
系列导航
- Vibe Coding 系列导读:给计算机学生的 AI 协作开发路线
- Vibe Coding 学习路线:计算机学生如何从 0 到 1 上手 AI 辅助开发
- Cursor、Codex、Claude Code 怎么选:AI 编程工具链入门
- 从 Prompt 到可提交代码:Vibe Coding 的工程闭环
- 上下文工程:AGENTS.md、项目规则和可复用 Skills
- 实战篇:实战篇:用 Vibe Coding 做课程项目、个人工具和科研复现
实战一:麻将计分小程序
我之前写过一篇《麻将计分小程序》,这个项目很适合作为 Vibe Coding 练习案例。它不需要复杂后端,也不需要一开始处理所有麻将规则,但它有真实使用场景:创建牌局、添加玩家、记录每一局分数、自动汇总、查看历史和最终结算。
这个项目的第一版目标可以这样写:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
做一个微信小程序,用于线下麻将局计分。
第一版功能:
1. 创建牌局;
2. 添加 4 名玩家;
3. 记录每局每个玩家的分数变化;
4. 自动汇总当前总分;
5. 查看历史记录;
6. 本地保存数据,关闭后再打开不丢失。
非目标:
1. 不做用户登录;
2. 不做云同步;
3. 不内置复杂番型;
4. 不处理支付结算。
有了这个说明,就可以进入工程闭环。
探索阶段可以让 AI 读项目结构:
1
2
3
4
5
6
请先阅读这个小程序项目,不要修改文件。
请说明:
1. 页面目录在哪里;
2. 计分逻辑在哪里;
3. 本地存储在哪里;
4. 如果要新增“编辑历史记录”功能,可能涉及哪些文件。
计划阶段让 AI 拆任务:
1
2
3
4
5
6
请为“编辑历史记录”设计最小实现方案。
要求:
1. 保持总分由历史记录重新计算;
2. 不引入后端;
3. 不修改无关页面;
4. 给出手动验证步骤。
这个案例里最重要的工程判断是:总分最好由每一局记录汇总得出,而不是只维护一个会被不断手动加减的数字。这样以后支持撤销、编辑、删除历史记录时,系统还能保持一致。
验收标准可以写得很具体:
- 新增一局后,总分正确变化;
- 编辑一局后,总分重新计算;
- 删除一局后,总分不残留旧值;
- 关闭再打开后,历史和总分保持一致;
- 输入分数总和不为 0 时给出提示。
这比“页面能用”可靠得多。
实战二:课程项目管理系统
很多大学课程项目会要求做一个管理系统,比如图书管理、实验预约、课程签到、社团活动报名。它们看起来老套,但非常适合练 Vibe Coding,因为功能边界清楚,前后端都能涉及。
假设要做“实验预约系统”,可以先写 SPEC:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 项目目标
帮助学生预约实验室时间,教师可以查看预约记录。
# 用户角色
- 学生:查看可预约时间,提交预约,取消自己的预约。
- 教师:查看所有预约,审核或拒绝预约。
# 第一版功能
1. 学生登录可以先用模拟账号;
2. 查看实验室时间段;
3. 提交预约;
4. 教师查看预约列表;
5. 教师审核预约。
# 非目标
1. 不接学校统一认证;
2. 不做短信和邮件通知;
3. 不做复杂权限后台;
4. 不做支付或设备管理。
然后让 AI 拆出数据模型:
1
2
3
4
5
6
请根据 SPEC 设计第一版数据模型。
要求:
1. 只设计最小需要的表;
2. 给出每张表的字段和含义;
3. 标出哪些字段需要索引;
4. 不要生成代码,先讨论设计。
在课程项目中,AI 经常会过度设计。它可能给你加 RBAC、消息队列、审计日志、微服务、复杂缓存。你需要不断提醒第一版目标:能演示、能跑通、能解释、能维护。
实现时可以按这个顺序:
- 后端数据模型和接口;
- 学生预约页面;
- 教师审核页面;
- 表单校验和错误提示;
- 测试数据和演示脚本;
- README 和答辩说明。
每一步都要有验收方式。比如学生预约页面不是“写完页面”就结束,而是要验证:没有选择时间不能提交,重复预约有提示,提交成功后列表刷新,取消后状态更新。
实战三:个人工具 MVP
个人工具适合练产品感。比如记账、阅读记录、健身打卡、学习计时、文件整理、博客管理。这类项目的重点不是技术多复杂,而是能否解决一个真实、具体、经常出现的问题。
以“博客发布检查工具”为例。需求可以是:
1
2
3
4
5
6
7
8
9
做一个命令行工具,用于检查 Jekyll 博客文章。
功能:
1. 检查 frontmatter 是否包含 title、date、tags;
2. 检查文章内是否有未完成标记;
3. 检查系列文章导航是否包含 6 篇链接;
4. 输出检查结果和失败原因。
第一版只检查 _posts 目录下的 Markdown 文件。
这个项目适合让 AI 做脚本,但你要提供真实样例。最好给它一篇正常文章和一篇错误文章,让它写测试。这样就不会只生成“看起来合理”的字符串处理逻辑。
个人工具的验收标准要贴近使用:
- 能在真实项目目录运行;
- 错误信息能让人知道怎么改;
- 不会修改文章内容;
- 检查失败时退出码非 0;
- README 写清楚安装和运行命令。
这类小工具做完以后,很适合继续让 AI 帮你重构、补测试、发布到 npm 或 pip。它比凭空做 demo 更能训练真实工程能力。
实战四:科研代码复现
科研复现是 Vibe Coding 的高价值场景之一。很多论文仓库的问题不是模型思想难,而是环境、路径、数据格式、依赖版本、训练命令和日志整理很麻烦。AI 可以显著降低这些工程成本。
但科研复现必须有边界。AI 可以帮你跑通工程,不应该替你判断学术结论。
一个稳妥流程:
1
2
3
4
5
6
7
1. 让 AI 阅读 README、requirements 和目录结构;
2. 让 AI 找出训练入口、配置文件和数据集格式;
3. 按 README 跑通原始 demo;
4. 记录环境、命令、日志和报错;
5. 只改一个变量或一个模块;
6. 整理实验结果;
7. 自己判断结果是否支持结论。
给 AI 的 Prompt 可以这样写:
1
2
3
4
5
6
7
请阅读这个论文复现仓库,不要修改文件。
请说明:
1. 项目入口脚本是什么;
2. 配置文件在哪里;
3. 数据集应该是什么目录结构;
4. README 中的最小运行命令是什么;
5. 你建议我先跑哪个 baseline。
跑出报错后,不要只发一句“报错了”。要复制完整命令、完整错误、当前系统、Python 版本、依赖版本和你已经尝试过的步骤。AI 处理工程问题的能力,很大程度取决于你提供的事实是否完整。
实验记录可以放在 experiments.md:
1
2
3
4
5
6
7
8
9
10
11
## exp-001 baseline
- date: 2026-05-26
- command: python train.py --config configs/base.yaml
- dataset: MVTec bottle
- result: image_auc=0.982
- note: 按原始配置运行,未改代码
## exp-002 learning rate
- change: lr 1e-3 -> 5e-4
- result: image_auc=0.979
- note: 指标略降,需要重复实验
这样 AI 可以帮你整理,但结论仍然由你负责。
实战中的 Prompt 模板
下面是几个可以反复使用的模板。
需求澄清:
1
2
3
4
我想做一个 [项目名称]。
目标用户是 [用户],核心问题是 [问题]。
请帮我把它整理成第一版 SPEC,包括目标、核心功能、非目标和验收标准。
不要扩展复杂功能,优先保证第一版可完成。
项目探索:
1
2
请阅读当前项目,不要修改文件。
请说明技术栈、目录结构、启动方式、测试方式,以及和 [功能] 相关的文件。
任务拆分:
1
2
3
请为 [功能] 制定实现计划。
要求按小步拆分,每一步说明涉及文件、预期结果和验证方式。
先不要写代码。
实现限制:
1
2
3
请只实现计划中的第 [n] 步。
限制:不改无关文件,不新增依赖,不做顺手重构。
修改后说明改了哪些文件,并给出验证步骤。
代码审查:
1
2
3
请审查当前改动。
重点看需求符合度、无关改动、边界情况、测试缺口和安全风险。
请按严重程度列出问题。
实战中最该避免的事
第一,不要把“完整项目”当成一个 Prompt。完整项目应该拆成 SPEC、计划、任务、验证和提交。
第二,不要在没有 Git 的目录里大胆试错。AI 写代码越快,越需要版本控制。
第三,不要让 AI 同时改太多层。前端、后端、数据库、部署一起改,出了问题很难定位。
第四,不要把演示成功当成验收完成。演示路径通常只覆盖最顺利的一条路,边界情况更容易出问题。
第五,不要把科研判断交给 AI。工程整理可以交给 AI,学术结论必须自己负责。
本篇 Checklist
- 我的项目是否有清楚的第一版目标和非目标?
- 我是否把完整项目拆成可验证的小任务?
- 我是否为每一步写了验收标准?
- 我是否用 Git 保存稳定节点?
- 我是否记录了实验命令、参数和结果?
- 我是否保留了对业务逻辑和科研结论的最终判断?
参考资料
- 麻将计分小程序
- tukuaiai/vibe-coding-cn
- Vibe Coding AI 工作流指南 2026
- Vibe Coding Best Practices - roadmap.sh
- Claude Code: Best practices for agentic coding
修改记录
- 新增 Vibe Coding 实战篇文章。