AI 协作开发工程化实践:从"能用"到"可控"

AI 协作开发工程化实践:从"能用"到"可控"

- [一、为什么需要这套方法论](#一为什么需要这套方法论)

37分钟阅读

AI 协作开发工程化实践:从"能用"到"可控"

一套经过实战验证的方法论,解决 AI 辅助编码中「产出不一致、规范被跳过、质量不可控」三大痛点。

📅 2026-03-13 | 基于 Growth Agent Manage 项目实践总结


目录


一、为什么需要这套方法论

1.1 AI 编码的三大痛点

在用 AI 辅助开发的过程中,我们反复遇到以下问题:

痛点表现根因
产出不一致同一个项目中,AI 生成的代码风格忽左忽右——这次用 c.JSON,下次用 util.Success;这次 receiver 叫 a,下次叫 apiAI 没有持久记忆,每次对话从零开始;缺少强制约束,全靠 AI "自觉"
规范被跳过明明写了 Rule 文件告诉 AI "必须这样做",但 AI 依然我行我素——尤其是任务"看起来简单"的时候"声明式规范"对 AI 没有真正的约束力;AI 有"简单任务例外"的内在倾向
质量不可控AI 生成的代码"看起来完美",但事务没回滚、级联没清理、硬编码到处飞——Review 时才发现一堆坑AI 没有业务上下文,倾向于生成"能跑"而非"正确"的代码

1.2 一个真实案例:Rule 逃逸

在我们的项目中,Rule 文件第 9 行白纸黑字写着:

AI 必须严格遵守本文件中所有标注「强制」的规则,不得以任何理由跳过。

整个文件标注了「强制」的地方有 7 处(架构约束、索引维护、质量自检、场景识别、禁止猜测、先查索引、读 Prompt 模板)。

然后我让 AI 做了一件"极其简单"的事——加一个 ping/pong 测试接口

结果:7 条强制规则全部被跳过。

强制规则应该做的AI 实际做的
统一响应用 util.Successutil.Success(c, gin.H{...})直接用了 c.JSON(200, gin.H{...})
新增 API 后更新索引更新 .ai/index.md没更新
代码生成后质量自检输出自检清单直接说"完成了"
主动读取参考文件先读同类实现只看了 router.go
任务完成三步曲更新索引+自检+提醒 commit一步没做

AI 自己的反思分析

根本原因:我把这个任务判断为"太简单,不需要走流程"

内部决策链:
  用户需求 → "就加一行路由" → 太简单了 → 直接干 → 完事

三个深层问题:
1. "简单任务例外"心态 — AI 内心有个未明说的规则:"改动量小 = 可以跳过流程"
2. 就近模仿 > 规范查阅 — 看到旁边 /health 用了 c.JSON 就直接照抄,没去查规范
3. 规范加载了但没执行 — 加载 ≠ 遵循,就像"知道有编码规范"但写代码时凭手感

这暴露了一个根本问题:Rule 的存在不能自动保证 Rule 被执行。


二、核心理念:AI 时代的软件工程公式

AI 时代的软件工程 = 传统工程实践
                   + AI 可读的规范体系
                   + AI 行为的一致性保障
                   + AI 产出的质量管控

传统软件工程关注的是人的行为一致性(代码规范、Code Review、CI/CD)。AI 时代,我们需要额外关注AI 的行为一致性——让 AI 每次产出的代码像是"同一个有经验的开发者"写的。

核心原则

原则说明对应维度
规范先行先定规矩再写代码,不靠口头约定维度 1
代码给 AI 读注释写给 AI 而非人,结构化、可解析维度 2
Rule 保一致通过 Rule 文件约束 AI 行为,确保风格统一维度 3
索引自维护保持项目地图实时可用,AI 能快速定位维度 4
可追溯性AI 参与了什么、为什么这样做,都有记录维度 5
精准喂上下文最小充分原则,不过载也不缺失维度 6
审查 AI 盲区AI 代码"看起来完美",但有系统性盲区维度 7
Prompt 资产化好的 Prompt 沉淀为模板,可复用、可分发维度 8

三、八维方法论体系

维度 1:规范先行 — 动手前先定规矩

核心思想:AI 不会"猜"你的项目风格,必须通过 Rule 文件显式告诉它。

实操要点

  • 新项目开始前,先创建 .codebuddy/rules/ 下的 Rule 文件
  • Rule 文件包含:架构约束、代码风格、命名规范、业务术语表
  • 没有 Rule 文件就不写代码

我们项目的实践

agent-manage/
├── .codebuddy/rules/
│   ├── growth-agent-manage.mdc        ← 项目开发规范(自动加载)
│   └── ai-collaborative-development.mdc  ← AI 行为规范(自动加载)

Rule 文件中的规范粒度示例:

维度具体约束
架构四层分层(Router → API → Service → Model),严禁逆向依赖
命名{Entity}API / {Entity}Service / {Entity}Model,构造函数 New{Struct}()
DTOUpdate DTO 字段必须用指针类型(区分"不传"和"传空")
响应统一使用 util.Success/Created/BadRequest/NotFound/InternalError,禁止 c.JSON
TagJSON 用 snake_case,GORM 含 type + comment
状态统一枚举 draft → active → inactive → archived
ID使用 xid.New().String(),禁止自增 ID 或 UUID

维度 2:代码给 AI 读 — 写 AI 能精确理解的代码

核心思想:注释不是给人看的装饰,而是给 AI 的"编程接口"。

实操标准

// ✅ 好的注释 — AI 能精确理解 // Temperature 温度参数,控制输出随机性。范围:0.0~2.0,默认值:0.7 Temperature float64 `json:"temperature"` // Status 状态。枚举值:draft | active | inactive | archived // 状态流转:draft → active → inactive → archived Status *string `json:"status"` // Args 启动参数(JSON 数组格式字符串)。如 '["server.js","--port","3000"]' Args string `json:"args"` // ❌ 差的注释 — AI 无法理解边界 // Status 状态 Status string

注释的四要素:含义 + 枚举值 + 默认值 + 约束。缺任何一个,AI 生成代码时就可能猜错。


维度 3:Rule 保一致 — 保证 AI 产出风格统一

核心思想:Rule 文件是 AI 的"编码规范",但要解决"加载了不执行"的问题。

Rule 的两种形态

形态位置生效范围适用场景
用户级~/.codebuddy/rules/*.mdc仅个人,跨所有项目个人开发习惯、通用方法论
项目级.codebuddy/rules/*.mdc团队所有人,随 Git 分发项目特定规范、架构约束

关键经验

用户级 Rule 不入库 = 团队拿不到 = 形同虚设。

我们的做法:把个人 Rule 复制到项目级,通过 Git 确保团队一致。两者不冲突,CodeBuddy 会同时加载。

Rule 文件的结构化设计(我们的实践):

# 文件结构(.codebuddy/rules/ai-collaborative-development.mdc) --- description: 项目 AI 行为规范 alwaysApply: true ← 每次对话自动加载 enabled: true --- ## 零、强制执行协议 ← 最高优先级:防止 AI 跳过规则 ## 一、项目基本信息 ← 技术栈、架构、约定 ## 二、架构约束(强制) ← 分层规则、依赖方向 ## 三、索引自维护(强制) ← 什么时候必须更新索引 ## 四、代码生成质量自检(强制) ← 34 项检查清单 ## 五、上下文参考指南(强制) ← 不同场景读哪些文件 ## 六、已知技术债 ← 生成相关代码时主动提醒 ## 七、开发流程(强制) ← Prompt 模板 + 任务完成三步

维度 4:索引自维护 — 保持项目地图可用

核心思想:AI 需要一个"项目地图"来快速定位文件和理解结构。这个地图要实时更新,否则会误导 AI。

我们的实践 — .ai/index.md

# 索引内容结构 ## 一、目录结构总览 ← 每个文件的路径和职责说明 ## 二、API 路由表 ← 所有端点(方法、路径、Handler、说明) ## 三、数据模型关系 ← ER 图 + 表清单 ## 四、模块调用关系 ← 从 main.go 到各层的调用链 ## 五、变更日志 ← 每次修改记录

强制维护规则

以下情况必须在同一次回复中直接更新 .ai/index.md,不得只说「记得更新」:

  • 新增或删除文件/目录
  • 新增、修改、删除 API 路由
  • 新增或修改数据模型/表结构

维度 5:可追溯性 — 记录 AI 参与了什么

核心思想:AI 生成的代码不应该是黑箱。关键决策处必须有"为什么"的注释。

实践方式

  1. 设计决策注释:AI 生成复杂逻辑时,在注释中说明为什么选择这个方案
  2. 工作日志.codebuddy/memory/YYYY-MM-DD.md,AI 自动记录每次做了什么
  3. commit 标记feat(agent): 新增状态管理接口 [ai-assisted]——让 git log 能追溯哪些是 AI 写的

维度 6:精准喂上下文 — 不多也不少

核心思想:给 AI 太多上下文 = 信息过载 = 噪音干扰。给太少 = AI 凭空猜测 = 错误百出。

我们为每个场景定义了精确的上下文清单

场景必须提供的文件文件数
新增 API 接口router.go + 同类 api/service/model + dto.go + model.go + response.go7
修改现有接口目标 api + 对应 service/model + dto.go5
新增数据库表model.go + dto.go + db.go + go.mod4
Bug 修复index.md 定位 → 出问题文件 + 调用方3-4

关键规则

缺少关键参考文件(如 dto.gomodel.go)时,禁止凭空猜测字段名和结构,必须先读取文件再生成代码。


维度 7:审查 AI 盲区 — AI 的系统性弱点

核心思想:AI 代码"看起来完美",但有固定的盲区模式。建立检查清单,系统性地捕获这些问题。

我们的审查清单(8 大类 34 项)

类别关注点典型问题
架构合规分层、依赖方向Service 层直接操作 HTTP 上下文
数据安全SQL 注入、越权拼接 SQL、错误信息暴露表名
数据完整性事务、级联删除主表未清理关联表
边界条件空值、超大输入Update DTO 零值与不更新混淆
错误处理分类、传递500 状态码返回了参数错误
性能N+1、Preload列表接口加载了不需要的关联数据
日志关键操作记录删除操作没有日志
AI 常见盲区硬编码、默认值把端口号写死、Create 时没设 status = "draft"

关键理念

不因为代码"看起来完美"就跳过审查。AI 的盲区是系统性的、可预测的、可清单化的。


维度 8:Prompt 资产化 — 好的 Prompt 要沉淀

核心思想:反复做的操作(新增 API、修 Bug、Code Review)应该有标准化模板,确保每次产出一致。

我们的 Prompt 模板库

.ai/prompts/
├── new-api.md        ← 新增 API 接口模板(含 7 个参考文件 + 9 条要求)
├── fix-bug.md        ← Bug 修复模板(含分析框架 + 4 条要求)
└── code-review.md    ← 代码审查模板(含 7 个审查重点 + 输出格式)

模板的价值

  • 一致性:不同时间、不同上下文下,AI 按同一个模板执行
  • 完整性:模板列出了所有必须参考的文件,不会遗漏
  • 可传承:新人拿到模板就能用,不需要口头传授"怎么跟 AI 协作"

四、规范体系的工程化落地

4.1 文件体系全景图

project/
├── .codebuddy/                          ← AI 运行时(Git 管理)
│   ├── rules/
│   │   ├── project-conventions.mdc      ← 项目开发规范(代码风格、架构约束)
│   │   └── ai-behavior.mdc             ← AI 行为规范(执行协议、质量自检)
│   └── memory/                          ← AI 工作日志(自动维护)
│       └── 2026-03-13.md
│
├── .ai/                                 ← AI 协作工作区(Git 管理)
│   ├── index.md                         ← 项目索引(项目地图)
│   ├── context-guide.md                 ← 上下文指南(给人看)
│   ├── review-checklist.md              ← 代码审查清单
│   └── prompts/                         ← Prompt 模板库
│       ├── new-api.md
│       ├── fix-bug.md
│       └── code-review.md
│
├── Rule.md                              ← 规范总入口(人机分工全景)
└── (项目代码...)

4.2 每个文件的定位

文件主要读者写入者作用
.codebuddy/rules/*.mdc🤖 AI👤 人 + 🤖 AIAI 行为约束(自动加载到每次对话)
.ai/index.md🤖 AI🤖 AI + 👤 人审核项目地图,AI 定位文件用
.ai/context-guide.md👤 人🤖 AI 生成教人如何给 AI 喂上下文
.ai/review-checklist.md👤 人 + 🤖 AI🤝 协作代码审查质量关卡
.ai/prompts/*.md🤖 AI🤝 协作标准化任务执行流程
Rule.md👤 人🤝 协作全部规范的总入口和人机分工说明
.codebuddy/memory/*.md🤖 AI🤖 AI跨 Session 记忆

4.3 分发与同步

所有文件通过 Git 管理,团队成员 git pull 后自动获得:

  • AI 规范(.codebuddy/rules/)会被 CodeBuddy 自动加载
  • 项目索引(.ai/index.md)供 AI 随时查阅
  • Prompt 模板(.ai/prompts/)确保任务执行一致

关键认知:AI 规范也是代码的一部分,必须纳入版本管理。


五、AI Rule 逃逸问题与对策

这是整套方法论中最有洞察力的部分——我们发现了 AI 规范执行的结构性缺陷,并设计了对策

5.1 什么是 Rule 逃逸

Rule 逃逸(Rule Escape):AI 的 Rule 文件(行为规范)已经加载到上下文中,但 AI 在实际执行时选择性地跳过了规则。

这不是 AI "不知道"规则,而是"知道但没执行"。

5.2 逃逸的三大原因

原因 1:简单任务例外心态

AI 内部有一个未明说的决策规则:

if 任务复杂度 < 阈值:
    跳过完整流程,直接执行
else:
    走完整流程

这个"阈值"是 AI 自己判断的,而 Rule 中写的"不得以任何理由跳过"在这个判断过程中被降级了。

本质:Rule 中的"强制"是声明性的,AI 的决策是命令式的。声明打不过命令。

原因 2:就近模仿 > 规范查阅

AI 生成代码时,会优先模仿上下文中最近的代码,而不是去查阅 Rule 文件。

实际发生的:
  看到 /health 用了 c.JSON → 直接照抄 → 没去查 Rule 说要用 util.Success

应该发生的:
  看到 /health 用了 c.JSON → 查 Rule → 发现应该用 util.Success → 用 util.Success

本质:这是 AI 的注意力分配问题。就近上下文的权重 > 系统提示中规则的权重。

原因 3:加载 ≠ 执行

Rule 文件加载到 system prompt 中 ≠ AI 每次生成代码前逐条对照。就像一个开发者"知道有编码规范"但写代码时凭手感。

本质:声明式约束(Declarative Constraint)缺乏执行检查点(Execution Checkpoint)。

5.3 解决方案:强制执行协议(Execution Protocol)

核心思路:把"你应该遵守"变成"你必须先输出这个再动手"。

之前:Rule 说"你必须遵守" → AI 选择性遵守 → 用户事后才发现违规

之后:Rule 说"你必须先输出清单" → 用户看到第一段就知道走没走流程

协议流程

收到任务 → 【Phase 1: 启动检查】→ 【Phase 2: 执行】→ 【Phase 3: 收尾检查】
            ↓ 必须输出              ↓ 写代码           ↓ 必须输出
         「📋 任务启动清单」                         「✅ 任务完成清单」

Phase 1:任务启动清单

收到任何代码修改请求后,AI 的第一段输出必须是:

📋 任务启动清单
━━━━━━━━━━━━━━
• 任务类型:[新增 API / 修改接口 / Bug 修复 / 其他]
• 需读取的参考文件:[列出]
• 需读取的 Prompt 模板:[列出]
• 涉及的规范要点:[列出]
• 预计变更文件:[列出]
• 索引需更新:[是/否]

Phase 3:任务完成清单

代码修改完成后,AI 必须输出:

✅ 任务完成清单
━━━━━━━━━━━━━━
1. 质量自检(逐项打勾):
   - [x] 架构合规(分层正确、依赖方向正确)
   - [x] 统一响应(使用 util.* 而非 c.JSON)
   - [x] 错误处理(400/404/500 分类正确)
   - [x] 注释完整(结构体字段注释 + Swagger 注释)
   - [x] 安全检查(参数化查询、无硬编码、输入校验)
2. 索引更新:已更新
3. 建议 commit message:`feat(ping): 新增连通性测试接口 [ai-assisted]`
4. 提醒用户:请过 review-checklist.md 检查清单

关键设计要点

明确写出:没有"太简单不需要走流程"的例外。一行代码的改动也必须走。

5.4 为什么这个方案有效

维度之前(声明式)之后(协议式)
对 AI 的约束"你应该遵守""你必须先输出这个结构化内容"
对用户的可见性事后才发现违规第一眼就能判断
团队一致性依赖每个人检查 AI 是否遵守任何人看到没有 📋 就知道违规
触发机制AI 自觉结构化输出要求(打断"直接动手"的冲动)

5.5 坦诚的局限

这个协议降低了逃逸概率,但不能保证 100% 不逃逸。AI 仍然可能跳过。但区别在于:

  • 之前:跳过了 → 只有懂规范的人事后审查才能发现 → 可能已合入主干
  • 之后:跳过了 → 任何人第一眼就看出来 → 立刻纠正

如果需要 100% 不可绕过的保障,应在 CI/CD 层面加 lint 规则(如检测 c.JSON 是否出现在业务代码中),那才是真正的硬约束。

5.6 Rule 逃逸防御层级模型

┌──────────────────────────────────────────────────────┐
│  第 4 层:CI/CD 硬约束                                 │
│  (lint 规则、pre-commit hook、自动化检查)               │
│  → 100% 不可绕过,但只能检查可形式化的规则              │
├──────────────────────────────────────────────────────┤
│  第 3 层:人工 Review 关卡                              │
│  (Code Review、review-checklist.md)                    │
│  → 能捕获语义级问题,但依赖人的注意力                    │
├──────────────────────────────────────────────────────┤
│  第 2 层:强制执行协议 ← 本方案                         │
│  (Phase 1/3 清单、结构化输出)                           │
│  → 大幅降低逃逸概率,用户可一眼验证                      │
├──────────────────────────────────────────────────────┤
│  第 1 层:声明式 Rule                                   │
│  ("强制"标签、alwaysApply: true)                       │
│  → 有效但不可靠,AI 会因"简单任务"跳过                   │
└──────────────────────────────────────────────────────┘

推荐策略:第 1-3 层全部部署,第 4 层按需添加。


六、人机协作模型

6.1 三阶段全景图

┌─────────────────────────────────────────────────────────────┐
│                        开发生命周期                           │
├──────────┬──────────────────┬──────────────┬────────────────┤
│          │    开始前         │     开发中     │      完成后     │
├──────────┼──────────────────┼──────────────┼────────────────┤
│  🤖 AI   │ • 自动加载 Rule  │ • 按 Rule 生成│ • 写工作日志    │
│  自驱动   │ • 读取工作日志   │ • 结构化注释  │ • 更新索引      │
│          │ • 读取模板       │ • 指出潜在风险│ • 输出自检清单  │
├──────────┼──────────────────┼──────────────┼────────────────┤
│  🤝 协作  │ • AI 提供上下文  │ • AI 生成代码 │ • AI 辅助 Review│
│          │   建议,人决定   │   人确认合理  │   人做最终决策  │
├──────────┼──────────────────┼──────────────┼────────────────┤
│  👤 人    │ • 确认需求明确   │ • 理解每行逻辑│ • 过审查清单    │
│  干预     │ • 方案取舍      │ • 补业务注释  │ • 写 commit msg │
└──────────┴──────────────────┴──────────────┴────────────────┘

6.2 AI 自驱动能力清单(14 项)

以下能力无需人工干预,AI 在每次对话中自动执行:

#能力驱动渠道
1自动加载项目 RuleCodeBuddy Rules 机制
2自动加载个人 RuleCodeBuddy User Rules 机制
3读取工作日志Working Memory 机制
4写入工作日志Working Memory 机制
5遵循架构分层项目 Rule 约束
6遵循命名约定项目 Rule 约束
7生成结构化注释项目 Rule 约束
8使用统一响应格式项目 Rule 约束
9Update DTO 用指针项目 Rule 约束
10主动指出潜在风险个人 Rule 约束
11提醒更新索引个人 Rule 约束
12提醒 Prompt 模板化个人 Rule 约束
13风格不一致提醒个人 Rule 约束
14主动读取 Prompt 模板项目 Rule 约束

6.3 需人干预事项(8 项)

以下事项 AI 无法替代

#事项执行时机为什么 AI 做不了
1确认需求开发前AI 不理解业务背景
2理解每行代码逻辑开发中不能盲目接受 AI 产出
3补充业务背景注释开发中AI 只能写技术注释
4方案取舍决策开发中AI 提供选项,人拍板
5过审查清单完成后不能只靠 AI 自检
6写 commit message完成后标注 [ai-assisted]
7更新 Rule完成后沉淀新发现的约定
8定期审核规范定期确保 Rule 不过时

七、Prompt 资产化实践

7.1 三个核心模板

模板 1:新增 API 接口

适用场景:为新实体创建完整 CRUD

模板结构

  • 7 个必须参考的文件列表
  • 9 条必须遵守的要求
  • 输入输出示例

核心要求

  1. 严格遵循 4 层架构
  2. API 层只做参数绑定和响应封装
  3. Service 层处理业务逻辑和默认值
  4. Model 层纯数据库操作
  5. Update DTO 用指针类型
  6. 统一使用 util.* 响应
  7. 完成后更新索引

模板 2:Bug 修复

适用场景:定位并修复已知 Bug

模板结构

  • Bug 描述框架(现象 / 期望 / 复现步骤)
  • 4 条修复要求(先分析根因、不影响其他功能、注意事务、过检查清单)

模板 3:代码审查

适用场景:让 AI 按清单检查代码质量

模板结构

  • 7 个审查重点
  • 输出格式(✅ 通过 / ❌ 未通过 / ⚠️ 建议改进)

7.2 模板的使用方式

理想状态(已实现)

用户:帮我新增一个 Workspace 的 CRUD 接口
AI 内部流程:
  1. 识别场景 → "新增 API"
  2. 自动读取 .ai/prompts/new-api.md
  3. 按模板列出的 7 个文件,自动读取
  4. 按模板的 9 条要求,生成代码
  5. 完成后按协议输出收尾清单

用户只需要描述需求,AI 自行完成"读模板→读参考→执行"全流程。


八、完整实操手册

8.1 从零搭建(新项目)

Step 1:创建 Rule 文件

mkdir -p .codebuddy/rules/

创建 .codebuddy/rules/your-project.mdc,包含:

  • 技术栈声明
  • 架构约束(分层、依赖方向)
  • 命名约定(文件、结构体、方法)
  • 代码风格(Tag、注释标准)
  • 业务术语表

关键:frontmatter 中设置 alwaysApply: true

Step 2:创建 AI 协作工作区

mkdir -p .ai/prompts/

创建以下文件:

  • .ai/index.md — 项目索引
  • .ai/context-guide.md — 上下文指南
  • .ai/review-checklist.md — 审查清单
  • .ai/prompts/new-api.md — 新增 API 模板
  • .ai/prompts/fix-bug.md — Bug 修复模板
  • .ai/prompts/code-review.md — 审查模板

💡 这些文件可以让 AI 帮你生成初始版本,然后人审核调整。

Step 3:添加强制执行协议

在 Rule 文件的最前面(所有其他章节之前)添加「强制执行协议」,定义 Phase 1 / Phase 3 的清单格式。

Step 4:纳入 Git 管理

git add .codebuddy/rules/ .ai/ Rule.md git commit -m "chore: 初始化 AI 协作开发规范体系"

8.2 日常开发流程

场景 A:新增 API 接口

Step 1  (👤 人)   「帮我新增 XXX 接口」

Step 2  (🤖 AI)  输出 📋 任务启动清单
Step 3  (🤖 AI)  自动读取 new-api.md 模板
Step 4  (🤖 AI)  自动读取 7 个参考文件
Step 5  (🤖 AI)  生成 4 层代码(Router → API → Service → Model)
Step 6  (🤖 AI)  输出 ✅ 任务完成清单

Step 7  (👤 人)   理解代码逻辑,补充业务注释
Step 8  (👤 人)   对照 review-checklist.md 检查
Step 9  (👤 人)   git commit -m "feat(xxx): ... [ai-assisted]"

场景 B:修复 Bug

Step 1  (👤 人)   「XXX 功能有 Bug,现象是...」

Step 2  (🤖 AI)  输出 📋 任务启动清单
Step 3  (🤖 AI)  读取 fix-bug.md + index.md 定位文件
Step 4  (🤖 AI)  分析根因 → 生成修复代码
Step 5  (🤖 AI)  输出 ✅ 任务完成清单

Step 6  (👤 人)   理解修复逻辑
Step 7  (👤 人)   git commit -m "fix(xxx): ... [ai-assisted]"

场景 C:Code Review

Step 1  (👤 人)   「帮我 review XXX 功能」

Step 2  (🤖 AI)  读取 code-review.md + review-checklist.md
Step 3  (🤖 AI)  读取 index.md 定位目标文件
Step 4  (🤖 AI)  按 34 项清单逐项检查,输出 ✅/❌/⚠️

Step 5  (👤 人)   对 ❌ 项决定是否修复

8.3 规范维护策略

文件维护频率维护者触发条件
.codebuddy/rules/*.mdc随时🤝 人+AI发现新约定或不一致时
.ai/index.md每次代码变更后🤖 AI 直接更新新增/修改文件或接口
.ai/context-guide.md低频👤 人出现新的开发场景
.ai/review-checklist.md低频🤝 人+AI发现新的 AI 盲区
.ai/prompts/*.md低频🤝 人+AI新增常见任务类型

九、效果度量与持续改进

9.1 度量指标

指标衡量什么如何收集
Rule 遵循率AI 输出了 📋 清单的比例观察 AI 回复第一段
一次通过率AI 代码不需要返工的比例Code Review 统计
盲区命中率审查清单捕获的问题数Review 记录
索引新鲜度index.md 与实际代码的偏差定期抽查

9.2 持续改进循环

实践 → 发现问题 → 更新 Rule/Checklist → 实践 → ...

例如:
  发现"AI 用了 c.JSON" → 在 Rule 中加"禁止 c.JSON" → 发现"强制"被跳过
  → 加"强制执行协议" → 验证效果 → 发现新的逃逸模式 → 继续改进

9.3 已知可改进方向

方向说明优先级
CI/CD lint在 pre-commit 中检查 c.JSON 等违规模式🟠 中
自动化 Review每次 AI 生成代码后自动触发 review-checklist 检查🟡 低
Rule 版本管理记录 Rule 的修改历史和修改原因🟡 低
多项目模板把方法论模板化,一键初始化新项目的规范体系🟠 中

附录

A. 核心文件模板速查

文件用途模板要点
.codebuddy/rules/*.mdcAI 行为约束frontmatter(alwaysApply:true) + 强制执行协议 + 架构约束 + 质量自检
.ai/index.md项目地图目录结构 + API 路由表 + 数据模型 + 调用关系 + 变更日志
.ai/review-checklist.md质量关卡8 大类检查项,重点关注 AI 常见盲区
.ai/prompts/*.md任务模板参考文件清单 + 要求列表 + 示例
Rule.md规范总入口8 项规范详解 + 人机分工矩阵 + Quick Start

B. AI 常见盲区速查表

盲区表现检查方法
就近模仿抄了邻居的错误写法对照 Rule 逐条检查
事务遗漏多表操作没用事务搜索 db.Create 后是否有 db.Transaction
级联遗漏删主表没清关联表搜索 Delete 方法中是否操作了关联表
硬编码URL、端口、密钥写死搜索字面量字符串
默认值遗漏Create 时没设 status检查 Service 层的 Create 方法
错误吞没_ = someFunc()搜索 _ = 模式
信息泄漏错误信息包含表名/SQL检查错误消息内容

C. Rule 逃逸模式速查表

逃逸模式触发条件防御手段
简单任务例外任务"看起来简单"强制执行协议(无例外)
就近模仿优先上下文中有错误代码先修正旧代码,或在 Rule 中明确标注
声明性约束失效"强制"标签被忽略转为结构化输出要求
上下文过载Rule 太长 AI 抓不住重点把最重要的规则放最前面
跨 Session 遗忘新对话不记得上次约定工作日志 + Rule 沉淀

D. 适用范围说明

本方法论基于 CodeBuddy AI 编码助手实践,但核心理念适用于任何 AI 辅助开发场景:

  • IDE 工具不同:把 .codebuddy/rules/ 替换为对应工具的 Rule 目录
  • 语言不同:八维方法论与语言无关,检查清单按语言特性调整
  • 团队规模不同:1 人团队重点用维度 1-4,大团队全部维度都用上

📝 总结一句话

AI 协作开发的核心挑战不是"让 AI 写代码",而是"让 AI 按照你的规矩写代码,并且每次都按"。

这套方法论的本质是:把对 AI 行为的期望,从"希望它遵守"变成"能验证它是否遵守"。


示例模板工程:https://github.com/zzyong24/ai-collab-template