大部分人用 AI 是"想到什么问什么"——零散的、随机的、不可复制的。
我做了一件事:把"拿到需求后怎么一步步做"写成 SOP,AI 按流程自动执行。
效果:每个需求从分析到提测,流程一致、质量稳定、耗时可预期。
我的 6 步 SOP
graph LR
A[需求分析] --> B[设计文档]
B --> C[代码开发]
C --> D[AI CR]
D --> E[自测]
E --> F[提测文档]
每一步:有明确的输入、输出、质量标准。
流程可视化
完整开发流程图
flowchart TD
A[📋 需求分析] --> B[📝 设计文档]
B --> C[💻 代码开发]
C --> D[🔍 AI CR]
D --> E[🧪 自测]
E --> F[📤 提测文档]
subgraph 需求分析
A1[输入: PRD文档] --> A2[输出: 技术要点清单]
A2 --> A3[输出: 待确认问题]
A3 --> A4[输出: 影响范围]
A4 --> A5[输出: 工时评估]
end
subgraph 质量检查点
Q1[需求分析: 待确认问题 < 5个]
Q2[设计文档: 新人能看懂]
Q3[代码开发: TS编译0错误]
Q4[AI CR: P0问题 = 0]
Q5[自测: 覆盖所有场景]
Q6[提测文档: 测试无需再问]
end
每步的定义
Step 1: 需求分析
输入:PRD 文档
输出:
├── 技术要点清单(功能点 + 技术方案 + 复杂度)
├── 待确认问题(PRD 不清晰的点)
├── 影响范围(新增/修改的文件)
└── 工时评估
质量标准:所有功能点都有明确方案,待确认问题 < 5 个
Step 2: 设计文档
输入:Step 1 输出 + 项目代码
输出:
├── 文件清单(路径 + 操作 + 职责)
├── 组件拆分方案
├── 数据流描述
└── 接口字段映射
质量标准:新人看了能直接写代码
Step 3: 代码开发
输入:Step 2 输出 + 范例文件
输出:完整功能代码
执行顺序:types → service → model → view
质量标准:TypeScript 编译 0 错误,无 any
Step 4: AI CR
flowchart TD
Start[开始AI代码审查] --> P0[P0检查]
P0 --> P0_1[类型检查]
P0 --> P0_2[空值检查]
P0 --> P0_3[内存泄漏检查]
P0 --> P1[P1检查]
P1 --> P1_1[代码拆分]
P1 --> P1_2[重复代码]
P1 --> P1_3[命名规范]
P1 --> P2[P2检查]
P2 --> P2_1[性能优化]
P2 --> P2_2[可读性]
P2 --> Output[输出问题列表]
Output --> Check[P0问题 = 0?]
Check -- 是 --> Pass[✅ 通过]
Check -- 否 --> Fail[❌ 返回修复]
输入:Step 3 的代码
检查:P0(类型/空值/泄漏) → P1(拆分/重复/命名) → P2(性能/可读性)
输出:问题列表 + 修复建议
质量标准:P0 问题 = 0
Step 5: 自测
flowchart LR
Input[输入: PRD + 代码] --> Normal[正常流程测试]
Input --> Exception[异常流程测试]
Input --> Boundary[边界场景测试]
Normal --> Case1[用例1: 用户登录]
Normal --> Case2[用例2: 数据提交]
Normal --> Case3[用例3: 页面跳转]
Exception --> Case4[用例4: 网络异常]
Exception --> Case5[用例5: 数据为空]
Boundary --> Case6[用例6: 最大数据量]
Boundary --> Case7[用例7: 并发操作]
Case1 --> Output[输出: 自测用例表]
Case2 --> Output
Case3 --> Output
Case4 --> Output
Case5 --> Output
Case6 --> Output
Case7 --> Output
输入:PRD + 代码
输出:自测用例表(场景 + 步骤 + 预期 + 实际)
质量标准:覆盖正常流程 + 异常流程 + 边界场景
Step 6: 提测文档
输入:以上所有输出 + git diff
输出:完整提测文档
质量标准:测试同学看了不需要再问你问题
实际使用方式
我:新需求,PRD 是 [链接]
AI:(执行 Step 1)
输出需求分析……
我:确认。第 3 个待确认问题我已经问了产品,答案是 xxx。继续。
AI:(执行 Step 2)
输出设计文档……
我:文件清单 OK,组件拆分第二个改一下,应该拆成两个。
AI:(修正后执行 Step 3)
逐文件生成代码……
每一步我可以:确认 → 修正 → 跳过 → 回退。
跟"零散使用"的区别
graph TD
subgraph 零散使用AI
A1[随机提问] --> A2[质量不稳定]
A2 --> A3[流程不一致]
A3 --> A4[不可复制]
A4 --> A5[❌ 低效]
end
subgraph SOP驱动AI
B1[流程化执行] --> B2[质量稳定]
B2 --> B3[流程一致]
B3 --> B4[可复制]
B4 --> B5[✅ 高效]
end
A1 -.->|对比| B1
A2 -.->|对比| B2
A3 -.->|对比| B3
A4 -.->|对比| B4
A5 -.->|对比| B5
零散使用 AI:
┌─────────────────────────────────────┐
│ 想到什么问什么 │
│ 质量不稳定(取决于当次 prompt) │
│ 流程不一致(每次做法不同) │
│ 不可复制(换个人就不会了) │
└─────────────────────────────────────┘
SOP 驱动 AI:
┌─────────────────────────────────────┐
│ 按流程自动执行 │
│ 质量稳定(每步有标准) │
│ 流程一致(所有需求同一套) │
│ 可复制(新人也能用) │
└─────────────────────────────────────┘
可直接抄走的 SOP 配置
stateDiagram-v2
[*] --> 等待触发
等待触发 --> 需求分析: 关键词触发
需求分析 --> 设计文档: 人工确认
设计文档 --> 代码开发: 人工确认
代码开发 --> AI_CR: 自动衔接
AI_CR --> 自测: 人工确认
自测 --> 提测文档: 人工确认
提测文档 --> [*]: 流程完成
state 人工干预 {
[*] --> 确认
确认 --> 继续
继续 --> [*]
[*] --> 修正
修正 --> 重新执行
重新执行 --> [*]
[*] --> 跳过
跳过 --> 下一步
下一步 --> [*]
[*] --> 回退
回退 --> 上一步
上一步 --> [*]
}
需求分析 --> 人工干预
设计文档 --> 人工干预
代码开发 --> 人工干预
AI_CR --> 人工干预
自测 --> 人工干预
# 需求开发 SOP
## 流程
1. 需求分析 → 2. 设计文档 → 3. 代码开发 → 4. AI CR → 5. 自测 → 6. 提测
## 衔接规则
- Step N 的输出自动作为 Step N+1 的输入
- 每步完成后等待人工确认
- 人工可以修正、跳过、或回退
## 全局规则
- 代码遵循项目 AI 配置文件中的规范
- 生成代码时引用范例文件
- 每步输出使用固定格式
## 触发方式
关键词:"新需求" / "开始开发" / "开启流程"
一句话总结:AI 的最大价值不是"帮你写一段代码",而是"帮你管理整个开发流程"。把经验变成 SOP,AI 就是你的执行引擎。
💬 你的开发流程是什么样的?有没有标准化?还是每次都"看心情"?