附录 B 从“用户看见了什么症状”出发,帮助线上排障;本附录从“系统违反了哪条工程约束”出发,帮助设计评审、回归补漏和事故归因。两张表的入口不同,不应合并成一张超长清单。
使用方法:
- 先按现象找到最接近的一行;
- 到“先查”所列的责任层取中间产物;
- 修复时只改权威实现,不在提示词里追加同义禁令;
- 把“最小回归断言”写进对应层级的测试。
表 C-1 生产级对话系统失败模式
| 编号 | 失败模式 | 典型现象 | 先查 | 最小回归断言 | 章 |
|---|---|---|---|---|---|
| FM-01 | 输出契约不闭合 | 模型被迫从错误答案中选一个 | 取值空间、失败出口 | 无法判断时只能返回约定出口 | 3 |
| FM-02 | 上下文对象错配 | 回答了另一件产品或另一位用户 | 注入字段、对象标识、作用域 | 注入对象与请求对象必须一致 | 6、7、23 |
| FM-03 | 外部文本获得指令权 | 检索片段或工具回执改变系统任务 | 上下文分区、白名单、下游闸门 | 污染文本不能扩大允许动作集合 | 7、23 |
| FM-04 | 历史被当作当前状态 | 用户已经改口,系统仍沿用旧值 | 当前状态读入口、事件顺序 | 更正事件后只读取新版本状态 | 8、12 |
| FM-05 | 状态没有证据链 | 字段看似有效,却说不清来自哪里 | evidence_ids、证据账本 |
VALID 必须至少引用一条存在且同作用域的证据 |
10、11 |
| FM-06 | 空值承载多种语义 | 不知道、拒绝、撤回被同样处理 | 槽位状态枚举 | UNKNOWN、DECLINED、CLEARED 产生不同后续动作 |
10 |
| FM-07 | 冲突被静默覆盖 | 两个互斥值中后出现的一个直接胜出 | 事件表、归并规则 | 无裁决依据时进入 CONFLICT,不得提交 |
10、12 |
| FM-08 | 过期值继续参与决策 | 需求对象变化后仍使用旧派生值 | 依赖关系、STALE 状态 |
上游变化后旧依赖值不得进入事实白名单 | 10、12、24 |
| FM-09 | 同一许可多处计算 | 同一状态在不同路径得到不同动作 | 闸门实现位置 | 同一业务许可只有一个权威计算入口 | 13、22 |
| FM-10 | 阶段与控制权混成一套状态 | 人工接管后阶段丢失,或阶段推进后自动恢复 AI | phase、control_mode |
两套枚举可正交组合且分别转换 | 14 |
| FM-11 | 拒绝约束只生效一轮 | 用户拒绝后隔轮又被追问 | 已提交状态、询问预算、动作不变量 | DECLINED 后所有后续轮次都不得再问同一字段 |
15 |
| FM-12 | 字段值被当作使用许可 | 有手机号就自动安排电话联系 | 字段状态、渠道许可 | phone=VALID 且 PHONE_CALL=DENIED 时电话动作仍被阻塞 |
15、24 |
| FM-13 | 模型绕过闸门执行工具 | 文本里没计划动作,后台却产生副作用 | 计划动作、执行入口、工具权限 | 没有获准的工具动作就不得调用外部系统 | 9、13、17 |
| FM-14 | UNKNOWN 被当作 FAILURE |
回执超时后自动重试,产生重复副作用 | 执行账本、幂等键、对账路径 | UNKNOWN 进入对账,不自动产生新逻辑动作 |
9、18 |
| FM-15 | FAILED 被当作重试许可 |
明确失败后无限重试或突破预算 | 主提交闸门、重试策略 | 未获得独立重试授权时 FAILED 继续阻塞提交 |
18、24 |
| FM-16 | 完成语早于结果 | 外部系统没有成功回执,回复却说“已提交” | 观测结果、渲染动作、验证器 | 完成语必须绑定匹配动作的 SUCCESS |
18、24 |
| FM-17 | 验证器偷偷改写 | 被否决的草稿经局部删除后直接发出 | 验证器返回值、重渲染次数 | 验证器只能整条通过或否决,不能返回改写文本 | 18 |
| FM-18 | 版本发布不可确认 | 线上故障无法判断实际运行的是哪版 | 追踪、健康检查、配置快照 | 每条关键追踪都能定位规则与配置版本 | 20、22 |
| FM-19 | 只优化冻结回归集 | 旧用例全过,真实线上表现变差 | 评测集来源、线上护栏指标 | 发布同时检查回归、冻结评测与线上护栏 | 19、22 |
| FM-20 | 新入口没走旧防线 | 新工具或新知识库绕过作用域与验证 | 接入清单、端到端追踪 | 每个新增入口都经过隔离、作用域、闸门和验证 | 23 |
这张表不是新的架构。每一行仍然落回第 2 章的九项责任与正文中的唯一权威实现;如果团队增加了新的失败模式,应同时记录来源、用例、实现位置、引入版本与退役条件。