02-从方法论到工程化:可复制的 AI 协作体系化工作流

170 阅读14分钟

从方法论到工程化:可复制的 AI 协作体系化工作流

聚焦工程化落地——怎么把方法论变成可复制的工程体系:Rules 锁底线、Skills 定流程、审查流水线做检查。


一、为什么需要工程化

上一篇讲了"怎么拆项目",解决了方法论层面的问题。但现实中你会遇到这些工程问题:

  • 团队里有人用 Claude Code,有人用 Cursor,有人用 Trae——每款编辑器的规则格式不同,难道要维护 N 份?
  • 不同项目有不同的业务约束——每次开新项目都要从零配置?
  • 一个人拆任务、写代码、做检查,效率天花板明显——能不能让审查流程自动化?

这套工程化方案要解决的就是:一次配置,多编辑器复用;一次沉淀,多项目复用;审查流水线按需组合。

本质上,工程化是把上一篇的三层分工从"人的自觉"变成"系统的约束"——领域拆分和宏观编排不再是靠人记得做,而是被 Rules、Skills、配置文件强制加载;微观执行的审查不再靠人一个个看,而是被审查 Skills 系统化检查。


二、统一基准规范,灵活适配多款 AI 编辑器

核心思路:一套 Claude Code 配置 → 生成多编辑器规则

不同编辑器的规则格式各不相同:

编辑器规则文件格式
Claude Code.claude/CLAUDE.md + rules/*.mdMarkdown
Cursor.cursor/rules/*.mdcMarkdown + metadata header
Trae.trae/rules/*.mdMarkdown
CodexAGENTS.mdMarkdown
CodeBuddy.codebuddy/rules/*.mdMarkdown

如果每个编辑器各维护一份,工作量大且容易不一致。解法:以 .claude 配置为基准,AI 自动生成其他编辑器规则。

具体操作

第一步:建立 Claude Code 配置体系

.claude/
├── CLAUDE.md                        # 项目全局规则(入口,所有任务自动加载)
├── rules/                           # 全项目通用底层规则
│   ├── project-behavior.md          # 项目行为规范 + 安全底线
│   ├── typescript-common.md         # TypeScript 通用规范
│   ├── code-format-common.md        # 代码格式规范
│   └── security-common.md           # 安全通用规范
└── skills/                          # 面向具体任务的专项能力
    ├── 前端开发 Skill               # 按技术栈定制
    ├── 后端开发 Skill               # 按技术栈定制
    ├── 审查类 Skills                # code-review / security / performance
    ├── 测试类 Skills                # 单测 / 集成测试
    └── 通用工具 Skills              # commit / PR / TODO / 文档

Rules 和 Skills 的定位区分:

Rules = 通用底线(所有任务都必须遵守,自动加载)
Skills = 具体岗位的操作指南(按需加载,写前端加载前端 Skill,写后端加载后端 Skill)

第二步:用 AI 生成多编辑器规则

提示词:

根据 .claude 文件夹下的 Claude Code 配置,生成 trae、cursor、codex、codebuddy 
原生 IDE 支持的规则。

质量约束:不要丢失任何文件的配置
约束条件:不要随意更改原始内容

不同编辑器的格式差异由 AI 自动适配,比如 Cursor 的 .mdc 需要 metadata header,其他编辑器各有各的约定。核心原则:

  • 单一数据源:.claude/ 是唯一的 truth,其他都是生成产物
  • 内容无损:不丢失任何配置项,不随意修改原始内容
  • 格式适配:只做格式转换,不做语义修改

三、Rules:四条底层宪法

Rules 是"底层宪法"——定义所有开发任务都必须遵守的通用规范。每个人的项目不同,具体的 Rule 内容也不同,但需要解决的问题是一样的。

Rule 文件解决什么问题一句话定位
project-behavior.mdAI 乱改结构、重复造轮子、扩大影响面"AI 的行为边界"
typescript-common.mdAI 绕过类型检查、any 满天飞、类型定义缺失"类型系统的铁律"
code-format-common.md代码风格不统一,协作成本高"让所有代码像一个人写的"
security-common.mdAI 泄露敏感信息、Token 存储不安全、错误信息暴露内部细节"安全底线不可逾越"

3.1 project-behavior.md — 约束 AI 的开发边界

问题:AI 经常做出"看起来对但实际有隐患"的操作——无理由重命名、改公共接口不确认影响面、已有工具函数不用又写一份。这些行为单个看问题不大,累积起来项目就乱了。

这条 Rule 解决:给 AI 划定开发边界——可以做什么、不可以做什么、做了需要确认什么。

核心关注点:

  • 优先复用:已有组件、工具函数、API 封装,不要重复造轮子
  • 不随意变更:文件、函数、目录名称不要无理由重命名
  • 确认影响面:修改公共接口、导出结构、共享包前必须确认影响范围
  • 风格一致:新代码与项目已有风格保持一致
  • 安全底线:禁止操作生产环境配置、禁止提交敏感信息

3.2 typescript-common.md — 锁死类型安全

问题:AI 最常见的偷懒方式就是用 any 跳过类型检查,或者函数参数/返回值不写类型。短期省事,长期维护成本巨大——类型断链后,后续所有依赖这个函数的代码都失去了类型保护。

这条 Rule 解决:让 AI 无法绕过类型系统,保证整个项目的类型链条不断。

核心关注点:

  • 严格模式:不可关闭,禁止随意 @ts-ignore
  • any 使用原则:尽量零 any → 优先 unknown → 配合类型守卫收窄 → 仅第三方库冲突时例外
  • 显式类型要求:函数参数、返回值、async 返回 Promise<T>、类属性、Props——必须显式声明
  • null 与 undefined 区分:field?: Type 是"可以不存在",field: Type | null 是"存在但值为空",语义不同不能混用

3.3 code-format-common.md — 统一代码风格

问题:AI 每次生成的代码风格可能不一致——引号、分号、缩进各不相同。一个人开发还好,多人协作或 AI 反复修改后,代码看起来就像拼凑的。

这条 Rule 解决:让所有代码看起来像一个人写的,降低协作认知负担。

核心关注点:

  • 统一缩进、引号、分号、trailing comma 等基础格式
  • 配套格式化工具配置,格式化可自动化
  • 导入排序规则
  • 配套 lint/format/tsc 检查命令

3.4 security-common.md — 安全底线

问题:AI 对安全极不敏感——可能把 Token 存到 localStorage,可能在错误响应中暴露 SQL 和堆栈信息,可能用明文存密码。这些问题上线前不容易发现,上线后就是安全事故。

这条 Rule 解决:把安全检查从"人记得做"变成"AI 被强制加载"。

核心关注点:

  • 认证策略:Token 怎么存、怎么传、怎么刷新——不同项目方案不同,但必须有明确规则
  • 前端约束:Token 不能存哪里、必须怎么携带
  • 密码安全:只存哈希、不存明文、不可逆、必须加盐
  • 错误信息安全:对外不暴露 SQL、堆栈、内部路径、环境配置
  • 敏感信息:日志不记录完整 Token,API Key 不进代码仓库

四、提炼项目特有的 Rules 和 Skills

上面四条是通用型 Rules,但每个项目还有自己的业务特有规则。

Rules:约束性规则

Rules 是约束性的——"必须这样做""不能那样做"。提炼方法:每当发现 AI 犯了同类错误,就补一条 Rule。

规则类型解决什么问题
业务逻辑规则AI 不了解业务约束,做出不符合业务预期的行为
数据约定规则数据库字段和代码字段映射混乱,前后端不一致
错误处理规则错误处理不统一,该自动处理的手动处理,该跳转的不跳转

Skills:能力性技能

Skills 是能力性的——"遇到这类问题,按这个流程解决"。把高频操作步骤沉淀成技能。

Skill 类型解决什么问题
创建新 API 端点AI 不知道项目的标准开发流程,每回从头想
添加新页面AI 不知道页面目录结构怎么拆,文件职责不清晰
认证模式AI 不了解项目的认证架构,可能绕过代理直接调用

蒸馏流程

  1. 日常积累:每修复一个 AI 犯的错就补一条 Rule,每完成一个高频操作就沉淀一个 Skill
  2. 定期 Review:合并重复项,删除过时项
  3. 团队共创:定期同步,让 Rules 和 Skills 成为团队共同认知
  4. 新项目复用:通用型直接复用,业务型作为模板调整

五、Skills:按岗位分工的能力库

如果说 Rules 是"什么不能做",Skills 就是"这类任务应该怎么做"。Skills 按岗位分工,形成完整的能力矩阵:

分类解决什么问题
前端开发 SkillAI 不知道前端的标准目录结构、状态管理模式、API 封装方式
后端开发 SkillAI 不知道后端的分层职责、DTO 校验、数据查询规范
代码审查 Skill人工 Review 容易漏,需要按维度系统检查
安全审计 SkillAI 对安全不敏感,需要参考 OWASP 等标准系统扫描
性能审计 Skill性能问题不容易肉眼发现,需要按指标检查
测试生成 Skill写测试是低频高成本的事,AI 可以快速补充
通用工具 Skillcommit message、PR 描述、模块文档等重复劳动

5.1 前端开发 Skill

前端开发主 Skill,解决 AI 写前端时的几个核心问题:

开发前必须确认的约束——AI 写代码前,Skill 要求它先确认:

  • 路径别名是否使用
  • 样式方案是否使用 CSS Modules
  • 状态管理模式和规则
  • 是否所有类型都显式定义
  • 页面是否按规范拆分文件

页面目录结构——标准页面必须按职责拆分,每个文件职责单一:页面入口不写业务逻辑、状态文件不放跨页面逻辑、组件目录只放组件。

状态管理——关键规则:

  • 页面级状态的初始化方式
  • 渲染时的订阅方式
  • 异步状态修改的包裹方式
  • 禁止在 useEffect 依赖数组中监听 observable 属性

API 设计——核心规则:

  • 所有 API 按业务模块拆分,统一从入口导出
  • 请求参数和响应必须定义类型
  • 严禁组件内直接使用底层请求库
  • 认证按项目安全规范处理

认证数据流——三层各司其职:

层级职责
API 拦截器处理认证失败自动刷新、请求队列、失效跳转
路由拦截器页面级登录校验和 redirect
Store内存用户信息和权限状态

前端功能通用拆解流程:

功能拆分
├── 开发前准备
│   ├── 新增接口
│   ├── 相关枚举
│   └── 公用逻辑判断
├── 绘制页面/组件
│   ├── 定义静态资源文件和页面/组件模板
│   └── 生成基础样式结构
├── 业务功能
│   ├── 展示交互逻辑
│   ├── 页面/组件初始化(接口调用)
│   ├── 页面字段填充
│   └── 点击事件
└── 人工细节
    └── UI 细节和逻辑处理

5.2 后端开发 Skill

后端开发主 Skill,解决 AI 写后端时的几个核心问题:

分层职责——这是后端规范的核心,四个层各做各的事:

层级该做什么不该做什么
Controller路由、参数解析、API 文档装饰、调用 Service写业务逻辑
Service业务逻辑、数据处理、数据查询直接处理 HTTP 请求响应
DTO请求响应结构、校验规则、文档描述写业务逻辑
Module模块注册、依赖注入配置写业务逻辑

Controller 规则——使用装饰器声明路由,显式返回类型,不捕获业务异常(交给全局异常过滤器)。

Service 规则——构造函数依赖注入,依赖用 private readonly,环境配置通过 ConfigService 获取,不直接读取 process.env。

DTO 规则——每个请求和响应都要有 DTO,禁止用 any 替代,每个字段加文档描述和参数校验。

ORM 规则——Model 和数据库字段的命名映射规则、主键策略、写操作使用事务。ORM 已经是数据访问抽象,小型项目不需要再包 Repository,避免过度设计。

后端功能通用拆解流程——通用模版:

后端开发任务拆解
├── 1. 定义与契约 (Design & Contract)
│   ├── 数据库设计(表结构/字段)
│   ├── 接口定义(URL/入参/出参)
│   └── 枚举定义(状态/类型)
├── 2. 核心逻辑 (Core Logic)
│   ├── 数据校验(参数是否合法)
│   ├── 业务计算(核心算法/处理流程)
│   └── 数据持久化(存库/更新/删除)
├── 3. 接口与适配 (Interface & Adapter)
│   ├── 接口编写(Controller/API)
│   ├── 数据转换(DTO/VO 映射)
│   └── 异常处理(错误码/错误信息)
└── 4. 收尾 (Finalization)
    ├── 接口自测(Postman/cURL)
    └── 文档更新(API Docs)

5.3 审查与保障 Skills

开发完成后,靠人工 Review 容易漏。项目配套了一组审查 Skills,按维度分工:

  • 前端审查:架构规范、API 层、类型安全、Hooks 规则、状态管理、移动端适配
  • 后端审查:架构分层、DTO 验证、类型安全、错误处理、数据查询
  • 安全审计:参考 OWASP Top 10,扫描认证授权、输入验证、注入攻击、敏感信息泄露
  • 性能审计:前端关注重渲染、长列表、缓存;后端关注 N+1 查询、索引、慢查询

一键完整审查——执行顺序:

code-reviewer → security-auditor → performance-expert → 综合审查报告

六、通用体系化执行流程

把 Rules 和 Skills 串起来,就是一套完整的执行流程:

先计划 → 大功能拆分成小功能逐步计划 → 确认方案 → 完成代码 
→ 规范检查(code-review)→ 安全检查(security-audit)
→ 性能检查(performance-audit)→ 测试检查(test-writer)

逐步展开

1. 先计划【领域拆分层】

  • 读取任务相关的锚定清单和契约信息
  • 识别当前任务属于哪个模块、涉及哪些上下游

2. 大功能拆分成小功能逐步计划【宏观编排层】

  • 按五步拆解法拆成原子任务
  • 每个原子任务:单目标 + 明确输入 + 可校验验收标准

3. 确认方案【宏观编排层】

  • 输出原子任务清单,人工确认可行、无遗漏
  • 不能省——AI 规划的方案可能有盲区

4. 完成代码【微观执行层】

  • 加载对应开发 Skill
  • 每个任务执行前读取三大锚定清单 + Rules
  • 每个任务完成后人工验收 + 按需 /clear(参考上一篇的原子化开发节奏)

5. 规范检查(code-review)【微观执行层】

  • 加载对应审查 Skill
  • 检查架构规范、类型安全、代码质量

6. 安全检查(security-audit)【微观执行层】

  • 加载安全审计 Skill
  • 检查认证授权、输入验证、敏感信息

7. 性能检查(performance-audit)【微观执行层】

  • 加载性能审计 Skill
  • 检查查询效率、缓存策略、渲染性能

8. 测试检查(test-writer)【微观执行层】

  • 加载测试生成 Skill
  • 补充核心逻辑单测 + 边界场景测试

流程弹性

  • 改文案/调样式 → 跳过 5-7,直接 code-review + test
  • 常规业务功能 → 标准模式(1-4 + 5 + 6 + 8)
  • 核心模块 → 完整模式(1-8 全覆盖)

AI 协同开发闭环

把整个流程串起来,就是一个从需求到交付的完整闭环:

需求描述 → Rules 保证底线 → Skills 指导专项开发 
→ code-review Skill 审查质量 → security/perf Skill 审计风险 
→ test Skill 补充测试 → doc Skill 生成文档 
→ commit/pr Skill 完成交付

七、工程化的核心价值

维度没有工程化有工程化
编辑器规则各维护一份,容易不一致一套基准配置,AI 自动生成多编辑器规则
项目经验每次新对话 AI 从零学习Rules 和 Skills 沉淀复用
质量保障自己审自己,容易漏审查 Skills 按维度分工检查
执行效率每次从头想流程通用流程模板,按需裁剪
团队协作经验只在个人脑子里Rules 和 Skills 是团队共享资产
安全底线靠人记得检查Rules + 安全审计 Skill 强制加载

八、一页速记

类型关键词核心内容
Rules通用底线行为、类型、格式、安全
开发 Skill前后端开发按岗位加载,约束开发流程
审查 Skill质量审查架构、类型、安全、性能
测试 Skill测试生成单测、集成测试、边界场景

九、快速上手清单

  1. 建立 .claude/ 配置体系,把项目规范结构化——先从行为规范和类型规范开始
  2. 用 AI 生成其他编辑器规则,验证内容无损
  3. 按岗位沉淀 Skills——前端开发 Skill、后端开发 Skill 先搞定,审查类 Skill 逐步补充
  4. 开始沉淀 Rules,每发现一个 AI 重复犯的错就补一条
  5. 跑通审查流水线,先从 code-review 开始,逐步加 security 和 performance
  6. 跑通通用执行流程,先在一个小模块上完整走一遍
  7. 团队共创,定期同步 Rules 和 Skills,让它成为团队共同认知