Course Map
练习进度 0/55
💡 Stage 0: 觉醒 (5)
Vibe Coding 是什么从 Coder 到 Commander — 你的角色变了Vibe Coding vs Spec Coding — 两种范式,两种活法Vibe Coding 工具全景图 — 选对工具少走弯路你的第一个 Vibe 项目 — 从需求到指令🧘 Stage 1: 心法 (9)
MVP 思维 — 别做完美产品,做能用的产品需求拆解 — 从模糊想法到 AI 能执行的任务PRD 驱动开发 — 写清楚再动手代码 Prompt 五要素 — 让 AI 写出能用的代码Prompt 迭代与追问 — 第一次一定不够好Vibe Coding 思维模型用 Cowork 找设计参考 + 生成 design.mdStudio用 AI 生图给 PPT 配图 — 同一套风格,不再东拼西凑StudioAI 生图 + 数据图表给 PDF 配图Studio🛠️ Stage 2: 工具精通 (12)
Cursor 入门 — Vibe Coding 的代名词Cursor 进阶 — 多文件编辑和 Agent 模式Claude Code 入门 — 终端里的 AI 程序员MCP 入门 — 让 AI 连接整个世界Claude Code Skills 和 Agent Teams — AI 能力复用Browser 工具 — 零安装的 AI 编程体验GitHub Copilot 和 Windsurf — IDE 选择题工具选型实战 — 没有绝对的最好,只有最适合用 Cowork 给你的科普 PPT 批量生成配图Studio用 ElevenLabs 给科普 PPT 配中英双语旁白Studio一稿多发实战 — 把 PPT 内容改成 3 个平台版本Studio用 Suno 生成 60s 科普视频 BGMStudio🏗️ Stage 3: Context Engineering (9)
Context Engineering 入门 — 让 AI 不再"失忆"CLAUDE.md 设计实战 — 让 AI 秒懂你的项目Cursor Project Rules 设计实战项目结构与 AI — 让你的项目 AI 友好Token 经济学 — 省钱和效率的平衡文档驱动开发 — AI 时代的新范式让 AI 把一段乱文本变成 JSON 表格Studio用 Claude 设计每天运行的 JSON 提取任务StudioObsidian + AI 第二大脑:设计一套可审核的笔记整理流程Studio🚀 Stage 4: 全栈实战 (13)
环境搭建 — 让 AI 帮你配环境AI 前端开发 — 从截图到 React 代码AI 后端开发 — 从 API 设计到实现数据库设计与 AI — Schema 到迁移安全与认证 — AI 生成的代码怎么不掉坑调试 AI 代码 — 读错误日志和修复 BugGit 工作流 — AI 怎么写 Commit 和 PR部署到上线 — AI 加速从开发到生产Code Review 和质量保证 — AI 写的代码咋审测试 TDD — 先写测试再让 AI 实现用 AI 写一个最小 Admin CMS(产品增删改查)Studio给 Landing Page 加联系表单 + 数据收集Studio用 Cowork 搭一个每日金融新闻聚合 AgentStudio Learning Guide
我让 AI 帮我设计了一个电商数据库,上线后差点没改死我
去年做一个小电商项目,我偷了个懒——直接跟 Claude 说"帮我设计一个电商数据库的 Schema"。Claude 很快给了我一份设计:users、products、orders、order_items,看起来挺标准的。
我当时觉得"挺好的嘛,省了我一个小时",没怎么仔细看就开始写业务逻辑了。
两周后上线,问题来了:
- 商品价格没有历史记录——products 表里只有一个 price 字段。我改了商品价格之后,之前的订单显示的也变成了新价格。因为 order_items 里只存了一个 productId,没有快照当时的价格。
- 没有考虑软删除——用户删了账号,关联的订单数据也被级联删除了。客服说"这个用户的退款记录找不到了"。
- 地址没有独立成表——用户地址直接放在 orders 里,用户改了地址后,旧订单的地址也变了。

数据库设计需要"业务直觉"
数据库设计跟写 CRUD 代码不一样。写代码错了可以改,Schema 设计错了改起来就要命了——因为数据已经存进去了。
AI 不擅长数据库设计的原因在于,好的设计需要预判未来:
- 价格会变吗?→ 需要在订单里冗余一份当时的价格
- 数据会被删吗?→ 需要软删除(deletedAt)而不是真删
- 一个用户有多个地址吗?→ 地址应该独立成表
- 以后会需要按什么维度统计?→ 需要冗余一些用于查询的字段
- 数据量会有多大?→ 大表需要考虑索引和分区
所以正确的协作方式是:你做设计决策,AI 做技术实现。
怎么把业务需求"翻译"成 AI 能理解的设计指令
直接说"帮我设计一个电商数据库"太模糊了。你需要做的是把业务需求结构化:
❌ 模糊的需求:
"我要做一个电商网站,帮我设计数据库"
✅ 结构化的需求:
"帮我设计数据库 Schema,业务场景如下:
1. 用户系统
- 用户可以注册/登录(邮箱 + 密码)
- 一个用户可以有多个收货地址
- 用户有角色:普通用户 / 管理员
2. 商品系统
- 商品有分类(一个商品只属于一个分类)
- 商品有 SKU(规格),比如同一件衣服有不同颜色和尺码
- 每个 SKU 有独立的价格和库存
3. 订单系统
- 用户下单时,需要快照当时的商品信息和价格(防止后续改价影响历史订单)
- 订单有状态流转:待支付 → 已支付 → 已发货 → 已完成 / 已取消
- 支持退款(部分退款或全额退款)
4. 通用要求
- 所有表都要有 createdAt、updatedAt
- 不要真删数据,用 deletedAt 软删除
- 金额字段用整数(分),不要用浮点数
- 所有外键关联要明确 onDelete 行为"
看到区别了吗?后者把每个业务场景的关键决策都列出来了——一对多还是多对多、要不要快照、怎么处理删除、金额的精度。AI 拿到这个需求,设计出来的 Schema 就会靠谱得多。
AI 设计 Schema 的常见问题
就算你的需求写得很清楚,AI 生成的 Schema 仍然需要人工审查。这些是我遇到过的高频问题:
| 问题 | 症状 | 怎么查 |
|---|---|---|
| 缺少索引 | 查询慢,尤其是列表页 | 检查经常用于 WHERE 和 ORDER BY 的字段有没有加索引 |
| 外键没设 onDelete | 删主表数据时子表数据悬空 | 检查每个外键的 onDelete 行为 |
| 枚举值不完整 | 状态流转逻辑跑不通 | 对照业务流程检查 enum 值 |
| 字段类型不合适 | 数据精度丢失或存储浪费 | 金额用 Int(分)不用 Float,ID 用 UUID 还是自增看场景 |
| 缺少唯一约束 | 出现重复数据 | 邮箱、手机号这类字段需要 unique 约束 |
Vibe Workspace
Live build context
让 AI 设计数据库,你敢吗?
理解 AI 在数据库设计中的角色——它是很好的执行者,但不是好的决策者
自动保存在此设备
理解为什么数据库设计需要人来做决策,AI 来做实现掌握用业务需求描述引导 AI 设计合理的 Schema学会审查 AI 生成的数据库 Schema 的关键检查点