AI SDD 开发规范-12-改代码前风险扫描 Checklist(Pre-Change Risk Scan)
2025/11/20大约 4 分钟
改代码前风险扫描 Checklist
下面给你一套可直接落地、为 AI 编程设计的《改代码前风险扫描 Checklist》。
它的定位非常明确:
在 AI 真正“动手改代码”之前,用一套强制自检问题,把隐性风险、历史包袱和不可逆后果尽量前移暴露出来。
这不是给人看的流程表,而是可以直接嵌入 Prompt / CLI / AI Agent 执行前置阶段的“硬门禁”。
AI 改代码前风险扫描 Checklist(Pre-Change Risk Scan)
使用规则
- 本 Checklist 必须在任何代码修改前完整执行
- 任一「高风险项」为 Yes / Unknown 时,AI 必须中止执行并转为澄清模式
- 本 Checklist 的结论必须随代码一并输出,作为审计记录
一、变更意图与边界确认(Intent Boundary Scan)
1️⃣ 修改目标是否明确且单一
❗ 风险提示:
多目标修改是历史系统事故的主要诱因之一。
2️⃣ 是否存在隐性行为变化
如 Yes / Unknown → 高风险
二、接口与契约扫描(Contract Scan)
3️⃣ 是否涉及对外接口(显式或隐式)
❗ 原则:
接口一旦发布,真实使用面永远比你知道的多。
4️⃣ 是否违反隐式契约
如无法确认 → Unknown = 高风险
三、数据与状态风险扫描(Data & State Scan)
5️⃣ 是否修改数据模型或字段语义
6️⃣ 是否影响历史数据
❗ 历史系统常态:
数据比代码老,也更不可信。
四、并发、缓存与一致性扫描(Concurrency Scan)
7️⃣ 是否涉及并发或异步行为
8️⃣ 是否涉及缓存 / MQ / 重试机制
❗ 高危领域:
缓存、超时、重试、并发是事故密集区。
五、历史包袱与冻结区扫描(Legacy & Frozen Scan)
9️⃣ 是否触碰冻结区域
🔟 是否已检查历史事故与已知陷阱
如未检查 → 禁止修改
六、系统性影响扫描(Blast Radius Scan)
1️⃣1️⃣ 影响面是否可控
1️⃣2️⃣ 是否存在不可逆后果
❗ 原则:
AI 不得制造“人无法兜底”的变更。
七、测试与验证能力扫描(Verification Scan)
1️⃣3️⃣ 是否有验证手段
1️⃣4️⃣ 是否能观察到结果
八、权限与执行决策(Final Gate)
1️⃣5️⃣ 风险分级判断(必须输出)
- ☐ L1 低风险(允许直接执行)
- ☐ L2 中风险(需明确风险说明)
- ☐ L3 高风险(禁止直接修改)
1️⃣6️⃣ AI 执行决策
- ☐ 允许修改
- ☐ 需澄清后修改
- ☐ 拒绝修改,仅输出方案
九、AI 输出强制格式(可直接用)
### 风险扫描结论
- 变更目标:
- 涉及模块:
- 高风险项:
- 隐性契约影响:
- 历史陷阱检查结果:
- 风险等级:
- 执行决策:十、一个工程级总结
Checklist 的价值不在于“减少错误”,而在于“把不可见的风险变成可讨论的对象”。
你现在做的事情,本质是在:
- 把“老工程师的直觉”
- 转换成“AI 和新同事都必须遵守的制度”
