第 12 章:大型项目中的 Vibe Coding
🪢
🎯 本章目标:
许多人认为 AI 只能写玩具代码。本章将打破这一偏见,教你如何在拥有成百上千个文件的巨型单体应用 (Monorepo) 中,像外科医生一样精准地使用 AI。
12.1 项目上下文管理 (Context Management)
在小项目中,你可以把所有文件都丢给 AI (@Codebase)。但在大型项目中,这样做会导致:
Token 爆炸:超过上下文窗口上限,AI 开始"遗忘"。
噪音干扰:不相关的文件会让 AI 混淆变量名及业务逻辑。
速度变慢:处理海量无效信息浪费时间。
策略:精准投喂 (Surgical Context)
不要把整个仓库给它,只给**"案发现场"**。
1.1
使用 @Files 而非 @Codebase
在 Cursor 中,手动选择相关的 3-5 个文件。
"我在修改 PaymentController。我只把 PaymentService.ts, PaymentType.ts 和 User.ts 加到上下文中。"
1.2
创建 .cursorrules (项目级 Prompt)
在项目根目录创建一个 .cursorrules 文件,把项目的全局公约写进去。AI 会在每次对话时自动读取它(且不占太多 Token)。
.cursorrules 示例:
代码块
Markdown
- 所有的 API 请求必须使用 `src/utils/request.ts` 封装的 axios 实例。
- 组件库强制使用 `@/components/ui` (shadcn/ui)。
- 禁止硬编码颜色,必须使用 tailwind 变量 (e.g. `bg-primary`)。
#### 3. 减法艺术:.cursorignore
和 `.gitignore` 类似,你可以创建一个 `.cursorignore` 文件,告诉 Cursor **绝对不要看**哪些文件。
**建议忽略**:
- `package-lock.json` / `yarn.lock` (太长,浪费 Token)
- `dist/` / `.next/` (构建产物,无意义)
- `public/../assets/` (二进制资源)
- `*.csv` / `*.json` (如果数据量巨大的话)
#### 4. 索引保鲜 (Resync Index)
代码变动频繁时,Cursor 的索引可能会滞后。如果你发现 AI 找不到刚才写的文件,去 Settings 里手动点一下 **"Resync Index"**。
---
## 12.2 代码库导航与理解
接手一个没写过的旧项目(Legacy Code),AI 是最好的导游。
### 1. 询问架构
(Cursor 会直接渲染这个图表,让你一目了然。) 忘了某个功能在哪?不要用 Ctrl+F 搜字符串,用 Cursor 的 Cmd+L 问业务。
"在这个项目中,用户修改密码的逻辑是在哪里处理的?" (AI 会根据语义找到 ProfileController 或 AuthService,即使你根本没提到这些文件名。)
12.3 与团队协作的最佳实践
当你的团队里既有 Vibe Coder,也有传统开发者时,如何从容协作?
保持 Commit 干净
AI 修改代码时,经常会顺手改一下格式(比如加个空格、换行)。这在 Diff 中会造成大量噪音。
•
规则:要求 AI "只修改逻辑,不要调整无关的格式"。或者在提交前运行 Prettier/ESLint 统一格式。
生成 Pull Request 描述
写 PR 描述很枯燥?
Prompt: "我刚刚修改了 feature/login 分支。请对比 main 分支,为我生成一份详细的 PR 描述,包含:
•
变更摘要
3. 代码风格一致性
为了不让同事不仅看出代码是 AI 写的,还要觉得写得比他还好。
•
技巧:使用 Few-Shot Prompting(见第 4 章),把团队里最资深大佬的代码作为 Sample 喂给 AI,让它模仿那个风格。
12.4 文档与注释规范
在大型项目中,文档是救命稻草。
1. 自动维护 README
每当一个大模块更新,让 AI 同步更新 README。
"我刚刚重构了 Authentication 模块。请更新 docs/auth.md,反映最新的 token 刷新机制。"
2. 补充 JSDoc / DocString
对于公共的 Utils 函数,强制要求 AI 补全注释。
"请扫描 src/utils 文件夹,找出所有没有 JSDoc 的导出函数,并为它们添加标准的注释。"
📝 本章小结
在大型项目中,Vibe Coding 从"通过对话写代码"进化为**"通过对话管理代码"**。
掌握了这些,你就不再是只能写写 Demo 的初学者,而是能驾驭企业级应用的 Vibe Architect。