太实用了!这9条高效使用 AI 开发中大型项目的建议

2025年4月29日

作者:IndividualizedBeing

开发一个中大型项目,比如基于 Next.js、FastAPI、Supabase、共享类型包、自动化脚本、外部 API、Docker 和 BullMQ 的技术栈,需要清晰的规划和高效的工作流。

Cursor 作为 AI 辅助工具,能极大提升开发效率,但它不是“自动写代码”的魔法棒。要发挥它的潜力,你得把它当作编程搭档,重新定义开发方式。

以下是实用的建议,助你在几周内推出 MVP。

1. 了解你的 AI 搭档

把 Cursor 看作一位新队友。它能快速写出结构化代码、处理复杂逻辑、修复错误,但也有局限,比如面对杂乱代码库会“抓瞎”。高效协作的关键是摸清它的能耐和短板:

  • 能耐:生成类型安全的函数,搞定数据库查询、API 调用和错误处理,瞬间修复格式问题,复用代码模式。
  • 短板:没法自动理清复杂架构,依赖精准的提示才能发挥最佳效果。

建议:多试试 Cursor,测试它在生成 API 端点、数据库迁移等场景的表现,观察代码质量,调整你的提示方式。

2. 打造整洁的代码库

一个井然有序的代码库是 Cursor 高效工作的前提。代码得遵循最佳实践,比如职责单一、命名清晰、文档完善。即便 Cursor 有强大的上下文窗口,乱糟糟的代码也会让它“晕头转向”。

具体做法:

  • 定好编码规范:为项目设定清晰的模式。比如,后端资源通常包括:

    • 路由端点:API 入口。
    • 资源服务:协调逻辑,不直接碰数据。
    • 资源操作:处理 API 和数据交互。
    • 共享类型:保证类型一致。

    把这些规范记在 rules/backend-patterns.md 文件里,让 Cursor 生成代码时参考。

  • 自动化文档:维护 supabase-structure.md 文件,用脚本同步数据库 schema 变更,确保文档跟代码一致。

  • 动态调整规范:项目初期的规则可能会随需求变化而更新。用 Cursor 的 /Generate Cursor Rules 功能,定期优化规范。

提示:你是项目的总设计师,Cursor 只帮你实现。让代码库直观、结构清晰,每段代码都有明确归属。

3. 步步为营的规划

高效用 Cursor,规划是核心——不只是列功能和任务,而是为每个功能设计详细的工作流。规划得回答:

  • 需要哪些类型?
  • 要写哪些方法?
  • 涉及哪些数据库变更?
  • 代码放哪些文件?

协作规划:

  • 跟 Cursor 一起梳理:编码前,和 Cursor 讨论需求,列出实现步骤,生成 feature-plan.md 文件,方便后续参考。
  • 别急着写代码:确保计划清晰一致再动手。直接让 Cursor 写代码,可能会反复改。

示例: 为“用户认证”功能做计划:

  1. 定义类型:UserAuthResponse
  2. 写服务:AuthService 处理登录/注册逻辑。
  3. 建端点:/api/auth/login/api/auth/register
  4. 更新数据库:建 users 表。
  5. 文件结构:routes/auth.tsservices/auth.tstypes/auth.ts

4. 用示例引导开发

Cursor 特别擅长认准模式、照着干。给它清晰的示例,它就能高效生成一致的代码。

做法:

  • 参考已有代码:提示时指定模板,比如:“按后端规范为资源 X 建端点,照资源 Y 的做法。”
  • 保持模式统一:确保代码库里相似功能用同样模式(比如所有端点的错误处理一致),让 Cursor 轻松复用。

提示:示例越清晰,Cursor 干活越利索。把代码库整理得像一本“模板书”,它就能照着“抄”出好代码。

5. 灵活控制任务大小

项目越复杂,提示的粒度越得从“粗”到“细”。早期可以让 Cursor 搞定整个功能模块,后期得聚焦具体函数或类。

怎么调:

  • 初期:提示可以“大手笔”,比如“为资源 X 实现 CRUD 端点,包含服务和类型”。
  • 后期:得具体,比如“在 AuthService 里加个 resetPassword 函数,处理邮箱验证和密码更新”。
  • 动态平衡:根据项目阶段和代码熟悉度,灵活选任务大小。太笼统可能出偏差,太碎又费效率。

提示:把 Cursor 当“光标”,你来决定它一次写多少、写哪儿。

6. 沟通要精准

跟 Cursor 协作就像跟人搭档,提示越清楚,结果越靠谱。优化沟通的招数:

  • 交代背景:讲清功能目标、文件路径、依赖的类型或服务。
  • 反复调整:代码不理想?看看是提示不清还是缺上下文,改后再试。
  • 用好文档:引用 rules/docs/ 里的规范,让 Cursor 按标准干活。

示例提示: 差:“写个登录端点。” 好:“在 routes/auth.ts 里加 /api/auth/login 端点,照 rules/backend-patterns.md 的规范,参考 routes/user.ts,用 AuthService 处理逻辑,返回 AuthResponse 类型。”

7. 不断学习和适应

Cursor 不是“开箱即用”的神器,你得慢慢跟它磨合:

  • 定期总结:每搞定一个功能,复盘 Cursor 的表现,记下哪些提示好使,哪些得改。
  • 提升自己:学着拆任务、设计架构,这些能力能让 Cursor 更给力。
  • 换个思维:AI 辅助开发跟传统编码不一样,别老想着“自己写一切”,多专注规划和协作。

8. 实用资源

  • 官方文档:查 Cursor 最新功能,比如多文件编辑或规则生成。
  • 社区分享:逛逛 X 或 GitHub 上的 Cursor 使用经验,学学别人的提示词和模式。
  • 项目模板:用 create-t3-app 这种成熟模板,快速搭出规范代码库。
  • 自动化工具:结合 Husky(Git 钩子)、Prettier(格式化)和脚本,省去手动维护。

9. 躲开常见坑

  • 坑 1:代码库乱七八糟
    解法:先整理代码,按单一职责分清文件功能。
  • 坑 2:提示稀里糊涂
    解法:给详细背景,引示例,讲清目标。
  • 坑 3:太依赖 AI
    解法:自己审代码,确保逻辑对、设计靠谱。
  • 坑 4:不爱规划
    解法:每个功能都做详细计划,跟 Cursor 一起完善。

结尾

别想着 Cursor 能“自动搞定一切”,那是白日梦。它是个超强的工具,但得你换个工作方式。想高效,靠的是清晰的架构、细致的规划和跟 AI 的默契配合。做好这些,你的开发效率能飞起来,过程也更有趣。

祝你和 Cursor 的协作开发之旅顺风顺水!