摘要 :AI 写代码越来越快,但快不等于对。一次遗漏的边界条件、一个被吞掉的异常、一处悄悄改动的数据流------都可能让业务在上线后瘫痪。人工 review 会疲劳、会遗漏、会"看顺了眼";自己 review 自己更是盲区重重。我们需要一个不知疲倦的"试毒官":在 AI 写完代码后自动扫描风险,在 AI 动手之前提前预警,把结构化的风险报告交到人手里------让人做决策,让系统做排查。
一、问题:AI 时代的"信任危机"
1.1 熟悉的痛

核心矛盾:AI 写代码的速度 >> 人审查代码的速度。当 AI 一天产出等于过去一周,靠人肉 review 兜底,迟早漏网。
1.2 我们需要什么
不是替代人做决策,而是替人做排查------把"大海捞针"变成"拿着清单逐项确认":

二、核心设计:三个关键决策
决策一:用"评分"代替"感觉"
"这个变更风险高不高?"------靠直觉回答,答案因人而异。
设计选择:三维量化评分

为什么"检测难度"是关键差异?因为一个悄悄发酵到生产才爆发的中风险,比一个代码审查就能发现的高风险更致命------后者你还有机会拦住,前者你连拦的机会都没有。
实现片段------评分维度定义:
影响程度(1-10):
10:核心业务中断、数据丢失、安全漏洞
7-9:重要功能异常、用户大面积影响
4-6:部分功能异常、性能下降
1-3:边缘功能、用户体验影响
发生概率(1-10):
10:几乎必然发生
7-9:很可能发生
4-6:可能发生
1-3:不太可能发生
检测难度(1-10):
10:难以检测,生产才发现
7-9:需要特定条件才能发现
4-6:测试可发现
1-3:代码审查可发现
💡 比喻:医院分诊------不是所有病人都进 ICU,但该进 ICU 的绝不能在门诊排队。评分就是分诊台,让资源流向最需要的地方。
决策二:用"分级"代替"一刀切"
如果每次 AI 写完代码都要跑全量 8 维度分析,等报告出来黄花菜都凉了。
设计选择:风险等级决定分析深度

核心原则:分析成本与风险等级成正比。低风险 2 分钟出结论,高风险才值得花 20 分钟做全量分析。
执行前检查清单也是分级的:

💡 比喻:机场安检------国内航班过一道闸,国际航班过三道闸。没有人因为"怕漏检"就让所有旅客脱鞋搜身,也没有人因为"赶时间"就让所有人免检登机。
决策三:用"知识库"代替"人肉记忆"
复盘文档写了没人看,同样的坑踩两次------这是行业通病,AI 时代只会更严重。
设计选择:三层知识沉淀体系

关键设计:系统主动推送,而非等人去翻。分析时自动匹配相似模式、参考历史教训、应用行业清单------把"上次踩过的坑"变成"这次自动避开的坑"。
实现片段------知识库目录结构:
yaml
.risk-analysis/
├── reports/ # 每次分析自动归档
│ ├── 2024-01-15_10-30-45_重构登录模块.md
│ └── 2024-01-14_15-20-30_新增支付功能.md
├── knowledge-base/ # 知识库
│ ├── patterns.md # 风险模式(重构类/新功能类/依赖升级类...)
│ ├── lessons.md # 经验教训(从复盘自动提取)
│ └── checklists.md # 检查清单(通用/前端/后端/金融/安全)
└── config.yaml # 配置文件
实现片段------经验教训如何沉淀:
知识库中的 lessons.md 有一条固定的写入模板,每次复盘后按模板结构自动提取教训。下面是一个实际写入的示例------假设某次复盘发现了"支付超时"问题,系统会按模板自动生成如下记录:
markdown
## [2024-01-15] 支付超时问题
**问题描述**: 支付网关响应超时,成功率下降 5%
**根因**: 未设置合理的超时时间和重试策略
**遗漏检查项**: ← 本次分析时漏掉了什么
- 外部服务超时处理
- 降级方案设计
**新增检查项**: ← 自动写入 checklists.md,下次分析时生效
- [ ] 外部服务超时时间设置
- [ ] 服务降级方案
- [ ] 熔断策略配置
关键在于最后一部分 :遗漏的检查项会自动转化为新增检查项,写入 checklists.md。下次遇到类似变更时,这些检查项会被自动推送------同样的坑不会踩第二次。
而且形成闭环:每次分析结果自动归档,复盘教训自动提取,知识库持续生长------越用越聪明。
三、关键机制:让系统"好用"而不"重用"
机制一:极简模式------90% 场景的入口
大多数日常变更不需要完整报告。极简模式只输出三样东西:

实现片段------极简模式输出格式:
markdown
# 🛡️ 风险分析(极简版)
## ⚠️ 核心风险点
1. [支付回调未做幂等校验] - 🔴 高风险(评分 85)
2. [新增字段未设默认值] - 🟡 中风险(评分 54)
3. [接口超时未处理] - 🟡 中风险(评分 48)
## 💡 推荐方案
渐进方案 - 先加幂等校验 + 默认值,超时处理下个迭代
## ✅ 执行前必做
- [ ] 支付回调幂等校验已覆盖
- [ ] 新增字段默认值已设置
- [ ] 回滚脚本已准备
---
**确认执行?** 输入 "确认" 继续或 "详细" 查看完整报告
💡 比喻:天气预报 App------默认显示"今天 28°C,午后有雨",需要时再点开看逐小时降水概率和雷达图。信息密度随需而变,不强迫所有人看雷达图。
机制二:结构化迭代------拒绝不是终点
用户拒绝方案时,不问开放式"为什么",而是提供结构化选项:

设计考量:
- 结构化选项让迭代有方向,迭代有方向,而非漫无边际
- 保持上下文------只针对拒绝点深入,不从头来过
- 3 次迭代上限------防止无限循环,超过则升级处理
机制三:全生命周期覆盖------五种模式

机制四:智能模式推荐
用户不需要记住五种模式。系统根据任务描述自动推荐:
实现片段------关键词匹配规则:
javascript
const modeKeywords = {
mode2: ['PR', 'review', '审查', '合并', 'merge', 'commit', 'diff', '提交'],
mode3: ['复盘', '问题', 'BUG', 'bug', '事故', '故障', '回顾', 'issue'],
mode4: ['告警', '监控', 'alert', '异常', '指标', 'metric', '报警'],
mode5: ['性能', '慢', '优化', 'perf', 'performance', '响应', '加载']
};
// 匹配规则:包含任一关键词即推荐对应模式,无匹配则默认模式一
💡 比喻:导航软件------你只需要说"去机场",它自动选路线,不需要你指定走哪条高速。
四、在 AI 编码工作流中的位置
这是整个框架最核心的应用场景------AI 编码 + 风险分析 + 人工 Review 的三道防线:

为什么需要三道防线?
| 防线 | 解决什么问题 | 如果没有会怎样 |
|---|---|---|
| 编码前预分析 | 让人知道"该盯哪里" | AI 产出后才发现方向错了 |
| 编码后 Skill Review | 系统化排查,不遗漏 | 靠人肉 review,疲劳必漏 |
| 人工最终确认 | 人做业务判断 | 系统不懂业务上下文,可能误判 |
三道防线缺一不可:系统负责"不遗漏",人负责"不误判"。
实际使用方式:
bash
# AI 编码前:先跑一次风险预分析
/risk-analysis 重构支付回调模块
# AI 编码后:对 AI 产出的代码做风险扫描
/risk-analysis --diff HEAD~1
# 日常快速检查:极简模式
/risk-analysis --simple 修改订单状态流转逻辑
# 高风险变更:需要审批 + 回滚演练
/risk-analysis --require-approval --dry-run 重构用户认证体系
五、架构总览

数据流:输入 → 评估 → 分级分析(知识库增强)→ 评分 → 方案 → 检查 → 决策 → 输出 + 沉淀
闭环 :输出不是终点,沉淀层把每次分析结果反哺知识库------系统越用越强,而非每次从零开始。
六、设计原则总结
| 原则 | 体现 | 反面模式 |
|---|---|---|
| 量化优于直觉 | 三维评分公式,0-100 分 | "我觉得这个风险不高" |
| 分级优于一刀切 | 分析深度、检查清单、响应要求全部随等级变化 | 所有变更走同一套流程 |
| 主动优于被动 | 知识库自动推送,而非等人去查 | 复盘文档写了没人看 |
| 结构化优于开放式 | 拒绝方案时提供选项而非问"为什么" | "你觉得哪里不对?" |
| 轻量入口优于重量入口 | 极简模式 3-5 个核心输出,需要时再展开 | 每次都输出 20 页报告 |
| 闭环优于开环 | 分析结果自动归档,复盘教训自动提取 | 分析完就丢,下次从零开始 |
结语
AI 写代码越来越快,但快不等于对。一次遗漏的边界条件、一个被吞掉的异常、一处悄悄改动的数据流------都可能让业务在上线后瘫痪。
风险分析最大的敌人不是"风险本身",而是形式主义------流程太重,人们会绕过它;流程太轻,它形同虚设。
这套框架的设计目标只有一个:让"做风险分析"的成本,永远低于"不做风险分析"的代价。
在 AI 编码的工作流里,它就是那个不知疲倦的"试毒官"------AI 写完代码它先尝一口,有毒的标红,可疑的标黄,安全的放行。最后那口"能不能上桌",还是人来定。
毕竟,试毒官替你排雷,但菜单得你自己定。
宁可多花 10 分钟分析风险,也不要花 10 小时修复生产事故。