AI 协同开发最佳实践:从“随机修补”到“精准架构”
  AI

AI 协同开发最佳实践:从“随机修补”到“精准架构”

 次点击
16 分钟阅读

核心思想:将 AI 从“代码生成器”升级为“架构执行者”。通过强制分离思考(Thinking)与编码(Coding),实现高质量、可维护的 AI 辅助开发。


痛点分析:为什么直接让 AI 写代码总是翻车?

很多开发者使用 AI 的习惯是线性的:
输入 Prompt -> 生成代码 -> 运行报错 -> 把错误丢给 AI -> 修修补补 -> 代码成了一团乱麻

这种模式在处理 Demo 级项目时很爽,但在面对企业级复杂业务时极易崩溃:

  • 上下文丢失:AI 忘记了 10 分钟前的需求。

  • 幻觉严重:引用了不存在的 API 或错误的依赖版本。

  • 逻辑正确但架构错误:代码跑通了,但破坏了原有的设计模式(比如在纯函数里写了副作用)。

核心原则:批准计划前,禁止写一行代码

我的最佳实践是将开发流程严格拆分为三个阶段:深度调研 -> 书面规划 -> 机械执行

第一阶段:深度调研 (Deep Research)

目标:让 AI 建立对项目的“空间感知”,防止盲人摸象。

在动手前,不要急着给需求,先让 AI “读透”相关代码。(推荐使用 Google Gemini Deep Research

  • 操作要点:要求 AI 遍历相关目录,理解架构、依赖和特定实现细节。

  • 关键指令示例

    “请深入阅读 src/services/auth 文件夹,透彻理解其工作原理、异常处理机制及所有特殊逻辑。请忽略测试文件。完成后,在 docs/research.md 中编写一份详细的研究报告,指出我如果修改登录逻辑可能会破坏哪些现有功能。”

  • 产出物:一份 research.md,确认 AI 真的懂了。

第二阶段:书面规划与批注循环 (The Annotation Cycle)

目标:把 AI 当成“主理建筑师”,而你是“总工”。这是最关键的一步。

  1. 生成计划:要求 AI 将实现思路写进 plan.md

    • 必须包含:涉及的文件列表、核心代码片段(伪代码)、潜在风险、回滚方案。

  2. 人工批注 (The Human Touch)

    • 不要在聊天框里跟 AI 吵架。

    • 直接在 IDE 里打开 plan.md,像做 Code Review 一样在文档里写注释:

      • “❌ 这里不要引入新库,复用 utils/date.ts。”

      • “⚠️ 注意,用户 ID 可能是字符串也可能是数字,这里要兼容。”

      • “🎨 参考 UserList 组件的样式,保持 UI 一致。”

  3. 反馈迭代:告诉 AI:“我更新了 plan.md,请阅读并修正计划,先不要写代码”。

  4. 任务清单化:在计划定稿后,要求 AI 在文末生成一个 极细颗粒度 的 Checkbox 任务清单。

第三阶段:机械执行 (Automated Implementation)

目标:将编码变成“填空题”,降低 AI 的自由发挥空间。

一旦 plan.md 锁死,编码阶段应该是枯燥且标准的。

  • 标准执行指令

    “现在开始全面执行计划。严格按照 plan.md 的步骤进行。

    1. 每完成一个 Task,请主动更新 plan.md 中的复选框状态。

    2. 保持严格的 TypeScript 类型定义,禁止使用 any

    3. 每修改一个文件,立即运行 npm run typecheck 确保无类型错误。

    4. 如果遇到不在计划内的意外情况,立即停止并询问我,不要擅自做决定。”

  • 你的角色:从“架构师”转变为“监工”。你只需要在它跑偏时给一句简短的修正(例如:“样式再宽 2px”)。


进阶技巧:如何更好地驾驭 AI?

1. 上下文管理 (Context Management)

不要一股脑把整个项目丢给 AI。

  • 减法艺术:在 .cursorrules.windsurfrules 中配置忽略文件(如 package-lock.json, dist/, node_modules/)。

  • 按需投喂:只把当前任务相关的 3-5 个核心文件加入上下文。

2. 验证驱动 (Verification Driven)

在 Plan 阶段,要求 AI 包含“验证步骤”。

  • “在实现功能后,请编写一个单元测试 tests/auth.test.ts 来验证登录失败的场景。”

  • “请提供一个 cURL 命令,让我可以手动测试这个 API。”

3. 留痕 (Documentation)

这一套流程下来,你的 research.mdplan.md 本身就是极佳的项目文档。

  • 建议:将这些文档归档到 docs/archived/,作为后续维护的重要参考。


总结:慢即是快

这套流程看起来比“直接生成代码”要繁琐,多了写文档的时间。
但在实际开发中,它能帮你省下 80% 的 Debug 和重构时间

  • 减少幻觉:因为有 Research 阶段。

  • 减少返工:因为有 Plan 阶段的 Code Review。

  • 可维护性:代码是按照你批准的架构写的,而不是 AI 随机生成的。

下次开发 Feature 时,试着先创建一个 plan.md,你会发现掌控感完全不同。

春节期间,我用这套流程 一周 上线 ThinkTank;有想法就先把 MVP 跑通,别等完美。

© 本文著作权归作者所有,未经许可不得转载使用。