docs: 设计增补——CC追问输出侧强制+回显豁免收窄(墙层,需求方决策)

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-08 13:22:54 +08:00
parent 714e22bde5
commit 2e08ab22b6
@@ -0,0 +1,65 @@
# 设计增补:CC 追问输出侧强制 + 回显豁免收窄(墙层)
- 日期:2026-10-08(场景①三轮提示词迭代 0/8 后的需求方决策)
- 前置:2026-10-08-dual-contact-and-country-code-design.md(本增补修改其实现层)
## 1. 背景与决策
场景①(裸号→国家代码追问)经三轮提示词层修复(共改 system.md 5 处 + reminder 3 处
+ 让位唯一锚点 + 禁数字回显),真实 GLM 验收核心断言累计 **0/8**。行为分析结论:
GLM 对**顺对话惯性**的指令全部服从、对**反惯性**的 CC 重发追问结构性无视——
这是层级问题不是措辞问题。
**决策(需求方已确认)**:沿用本项目"prompt 教行为,墙保底线"的既有 doctrine
(价格墙同款演进路径),把 CC 追问升级为输出侧确定性强制;同步收窄零号码墙的
客户回显豁免(该豁免与"不回显"红线矛盾,GLM 稳定利用它回显号码 3/3)。
## 2. 规则一:CC 强制墙
- **触发**:本轮 `_contact_completion_note` 返回 `["_cc_asked"]`(裸号在场且未问过)
——conversation.py 流程已有该判定(completion_marks)
- **检测**:本轮完整 AI 回复不含 `country code`(大小写不敏感)——含则视为
GLM 已自发服从,不干预
- **动作**:不含 → 整段替换为 CC 模板句(英文正文 "Got it — Could you send the
full number with the country code, like +966 5x xxx xxxx? Just so our manager
can reach you directly.",中文同 `_CC_NOTE_ZH` 正文),走既有 violated 替换
机制(logger.warning 留痕)
- **计数**:`_cc_asked` 照常写回(一次性语义不变——无论 GLM 是否服从,本轮消耗)
- 客户配合重发完整号后:下轮号码带前缀 → CC 墙/note 均不再触发,确认句自然回归
- 客户不理睬:下轮 `_cc_asked` 已消耗 → 墙不再触发(一次性)
## 3. 规则二:回显豁免收窄(零号码墙)
- **现状**:`no_contact_value` 对 AI 输出中的 ≥10 位数字串/邮箱,若出现在近期
客户消息中则豁免("礼貌回显"设计)
- **决策变更**:**移除 AI 输出侧的回显豁免**——红线早已规定"客户自己的号码/
邮箱也不回显(确认收到即可)",豁免与红线矛盾且被 GLM 稳定利用;AI 输出中
的客户号码只可能来自回显(它不掌握其他号码),拦截无误杀面(规格数字
DN110/5000m 等不构成 ≥10 位连续数字)
- **实现**:`no_contact_value` 的 `user_history` 豁免参数停用(保留签名兼容或
移除参数+清理调用点,以最小改动为准);替换句走 NO_CONTACT_* 既有分支
- **测试影响**:既有回显豁免测试(含阿语回显一致性)按新语义更新为"AI 输出
客户号码一律拦"
## 4. 不变项
- 提示词层全部保留(三层话术/提醒/禁令——墙只是兜底,GLM 自发服从时零干预)
- 串行优先级/一次性计数/推送过滤/墙渠道精确化均不变
- 价格墙/零号码墙其余行为不变
## 5. 测试策略
1. CC 墙单测:触发轮回复不含 "country code" → 替换为模板句;含 → 原样;
非触发轮(带前缀号/_cc_asked 已耗/双渠道齐)→ 不干预
2. 回显收窄单测:AI 输出含客户裸号/完整号/邮箱(无论客户消息是否有)→ 拦截;
规格数字形态 → 放行
3. 集成:CC 触发轮 + FakeAI 输出纯确认句 → 最终流出为 CC 模板句且 `_cc_asked` 落库
4. 第四轮生产验收:场景①三断言(CC 句必出/零数字回显/一次性)+ 场景②③复验不回归
## 6. 风险
| 风险 | 等级 | 缓解 |
|---|---|---|
| CC 替换句与客户上下文衔接生硬 | 低 | 模板句自带 "Got it —" 开头;观察期收集反馈 |
| 回显收窄误杀合法场景 | 低 | AI 输出无其他号码来源;规格数字形态已验证安全 |
| 邮箱回显也被拦后确认句变短 | 低 | 符合红线设计(确认收到即可) |