以 618 促销「每人限领优惠券由3张改为5张」为例,看影响面如何从「凭经验猜」变成「可出报告、可门禁、可复盘」。

很多企业上了 Copilot、Cursor、内部大模型之后,研发反馈很分裂:一边是「出活快了」,一边是「不敢改老模块」。根因往往不在模型不够聪明,而在于 企业级交付仍然缺一张「影响面的地图」。
所谓 爆炸半径,不是炫技词汇,而是改一个锚点(字段、规则、接口、REQ)时,按规定必须联动哪些文档、测试、契约与交付物。在传统项目里,这张图存在于老员工的脑子里;在 AI Coding 场景里,模型会帮你改代码,但 不会自动知道产品口径、客服手册、边界 TC 是否一起变——结果变成:代码合并很快,联调与上线很慢。
我们在一套 618 促销活动的 Spec Coding 样例里,把这件事做成了可演示、可度量、可自动化的流程。下文用真实字段与编号举例,读者可直接对照自己项目里的 PRD / 用户故事 / 接口 / 用例表。

运营在群里说了一句:
「618 优惠券加码,每人限领从 3 张改成 5 张。」
若只把这句话丢给 AI「帮改一下领券逻辑」,常见结果是:模型改了后端校验或前端展示中的一处,漏掉 AC、漏改测试边界、漏同步 UI 文案,甚至 04 里的业务规则 R-02 仍写着 3。联调时前端显示「x/3」,接口已允许 5;上线后客服培训手册还是 3 张——这就是 爆炸半径失控,不是模型「笨」,是 缺少 Spec 真源与检测 Skill。
在我们固定的 十四文档体系(01~14)中,这条需求有清晰锚点:
层级 | 文档 | 618 样例中的关键条目 |
|---|---|---|
业务规则 | 04 PRD | R-02 |
用户故事 | 05 US | US-002 |
可测条款 | 05 AC | AC-002-02 |
契约真源 | 09 API | POST /coupons/receive |
界面 | 06 FSD | UI-COUNT |
测试 | 13 | TC-011 |
追溯 | 14 RTM | ROW-006 |
金标准答案(评审冻结用):一次合规变更至少联动 04 → 05 → 09 → 06 → 13 → 14六类文档;10领取记录表可视情况同步。改完后 TC-011的断言应从「第 4 次拒绝」改为「第 6 次拒绝」,06文案从 x/3 改为 x/5。
传统模式排期:开会打听 → 各端自查 → 联调对口径 → 补手册,约 2 天仍可能漏边缘交付物。
Spec + Skill 模式:先出 影响面报告→ 按清单 sync 联动→ gates 终检→ 再改代码,约 10~15 分钟确认范围(618 样例叙事)。
我们主张 Spec-first:先文档、后代码。爆炸半径分三层,Skill 分工执行:
来自 写作顺序 + 变更同步表(spec-sync-on-changeSkill)。例如:
规则层 不依赖代码结构,适合老项目:只要 01~14 真源在,就能给出 必改文档顺序,避免「只改 09 不改 AC」。
在 Spec 目录(如 Spec模板-投研助手/*.md)对锚点做引用扫描:REQ 编号、字段名 limitPerUser、端点 POST /coupons/receive、TC-ID 等。可用脚本 impact-scan.py输出 JSON:命中文件、行号、片段——报告里可粘贴,评审可复核,不是黑盒 AI 幻觉。
618 金样例提示:若扫描类型仅按「字段→API 链」推断,可能 漏掉 04 业务真源与 06 UI(规则层 Recall 约 67%);合并规则 + 证据 + 人工对账后,才可达到金标准 100% 召回。这正是企业落地时要修的:规则表要覆盖业务真源,不能只会改接口。
仅在报告标 P0、契约 breaking 或 TC 已绿之后再缩小范围下钻(receive 路由、校验、对应用例)。AI Coding 应用在这一层提速;爆炸半径估算不应第一步就全库 grep,否则噪音大、仍不知道「产品算不算改完」。
我们把能力拆成 可 @ 调用的 Skill(与 Cursor / 内部 Agent 集成),形成企业可复制的「改需求标准作业」:
输入:锚点(如 limitPerUser、REQ-SC618-006)或自然语言「3 张改 5 张」。
输出(对齐 report-template.md):
指数公式(用于对比,非科学绝对值):
影响面指数 = L0×1 + L1×3 + L2×2 + L3×2 + L4×4 + L5×1 + (无TC的REQ)×5 + …
618 样例 limitPerUser变更通常为 「中」改「大」之间,用于评审排序,不能当人力估算。
报告只分析;改文档由 sync Skill 按表逐篇执行:同一 REQ 前缀、同一字段名 limitPerUser、AC 里写清「第 6 次拒绝」、09 JSON 示例与 1.1 路径约定一致。
禁止:只改后端、不碰 05/13;或只改 PRD、不碰 09。
改完后终检(来自 01第七节),不过 不得标 Approved / 不得冻结基线:
门禁 | 618 样例 |
|---|---|
G1 | P0 US 在 14 有行 → ROW-006 ✅ |
G2 | 每条 REQ 在 13 有 TC → REQ-006 有 TC-009~014 ✅; |
G3 | 09 含请求/响应/错误示例 → |
G2 失败样例刻意保留:90% 追溯完整度仍可能带发布风险——门禁要把「矩阵上有行但无 TC」拦在 Approved 之前。
Phase1 评审通过后:05/09/14 升版 v0.2、状态 Approved → Frozen(基线),git tag spec/sc618-phase1。
此后修改必须回到 impact → sync → gates流程,不允许在主干上 silent 改 Frozen 正文。
OpenSpec 可选:propose → 写真源 → validate → apply 代码 → archive,与 01~14 双轨不打架。
企业落地里最容易踩的坑,是把「分析、修改、评审、打 tag」塞进一次对话。结果是:模型改了几份文档,却 没有报告留痕,评审无法签字,出事后也无法回答「当时认为影响面有多大」。
我们的做法是 职责分离:
这样,AI Coding 的每一次需求变更,都能留下 「报告 → 修改 → 门禁 → 标签」四件套,满足金融、政企、大型互联网里常见的 审计与交接要求。
以下节选结构,便于企业直接套用:
## 结论摘要
- 爆炸半径:中偏大
- 锚点:limitPerUser(REQ-SC618-006)
- 必改:04, 05, 09, 06, 13, 14(顺序不可跳)
- 最大风险:只改 09 不改 AC-002-02 / TC-011 边界
## 必改文档(节选)
| 顺序 | 编号 | 动作 |
|------|------|------|
| 1 | 04 | R-02:3→5(张/人) |
| 2 | 05 | AC-002-02、RULE-002 |
| 3 | 09 | limitPerUser 示例与 ERR-LIMIT |
| 4 | 06 | UI-COUNT、ERR-MSG |
| 5 | 13 | TC-011:第 6 次拒绝 |
| 6 | 14 | ROW-006 状态与变更记录 |
## 建议下一步
- [ ] @spec-sync-on-change 按上表修改
- [ ] @spec-validate-gates 终检
- [ ] 代码:CouponReceive 校验 + 跑 TC-009~014修改建议由 Agent 按篇给出 diff 提纲(非盲目生成整库补丁):例如 05 的 Given/When/Then 如何改、13 的边界值如何随规则 +1。这与「让 AI 直接改代码」的区别是:改单建议绑定 REQ/TC 编号,可评审、可回滚、可进 Git。
「好在哪里」必须能 对比、能复盘,我们拆三类度量:
维度 | 全库 grep / 静态分析 | Spec + Skill 爆炸半径 |
|---|---|---|
输入 | 代码符号 | REQ、字段、RTM 行 |
输出 | 调用链(可能含废弃代码) | 必改文档 + TC 清单 |
产品是否算改完 | 不知道 | AC + 14 矩阵可定义 Done |
客服/运营交付物 | 常漏 | 同步表 + 报告提醒边缘项 |
可否门禁 | 难 | G1/G2/G3 文档侧可拦 Approved |
AI 协作 | 易幻觉字段 | 只喂 05+09 片段,契约稳定 |
企业级 AI Coding 的正解不是「少写 Spec」,而是 Spec 做地图,Skill 做巡检员,AI 做实现手。
很多团队说「我们没用十四文档,项目也上线了」。往往不是没有损失,而是损失被 加班、英雄主义、联调周消化掉了,不会出现在「Spec 债」科目上。常见表象与 Spec 的解法如下:
表面现象 | 背后问题 | Spec + Skill 如何显性化 |
|---|---|---|
联调三天才对齐 | 05 与 09 各写各的 | 09 真源 + G3 示例;字段对照实验 |
改字段要改五处 | PRD、Wiki、类型定义分裂 | sync 表;09 冻结字段名 |
测试不知道测什么 | 无 REQ/TC 编号 | 13 与 14 对账;G2 门禁 |
AI 生成接口对不上 | 半截 PRD 进上下文 | 只投喂 05 一条 US + 09 一个端点 |
文档有但没人信 | 无 Approved / 冻结 / tag | versioning + Git 基线 |
618 样例里刻意保留 REQ-SC618-011(操作日志)在 14 有行、13 无 TC,就是用来演示:即使追溯完整度 90%,仍可能带缺口——门禁必须存在,爆炸半径报告里也要标 「缺口风险」,而不是粉饰太平。
五条里若有 两条以上答否,就值得用 618 样例做一次 impact + sync试点——通常半天内就能看到「漏改清单」与「联调口径」的差异。
618 促销这类活动,规则一改,牵动领取、库存、试算、看板、权限多条链。AI 可以加速写码,但 不能替企业承担「改没改全」的责任。
通过 十四文档真源 + 影响面 Skill(检测、报告、评估、改单建议)+ 联动与门禁,我们把「爆炸半径」从老员工的直觉,变成 可生成、可复核、可冻结、可度量的工程能力。

若你正在推进企业级 AI Coding,不妨用下一次「改一张券、改一个字段」的需求做试点:先 @spec-impact-blast-radius 出报告,再让 AI 改代码——这一顺,往往比多训几个 PoPompt 更管用。