fix(W21): 智能度体检 → 3 类真实缺陷修复(C-8/C-9/C-10)+ 1 类待裁登记(C-11)

甲方反馈「客服 agent 还是不太智能」。本轮不新增出口、不改需求,
把"不智能"拆成可复现的实测条目:81 条真实口语问法 + 8 组多轮追问链
(真 HTTP:API → 队列 → Worker → 治理层),逐条定位根因并修复。

已修复(每条都有真机 HTML 证据,见 开发文档/D4.8 §3)

- C-8 账户盈亏问法落"误导性澄清"
  「我的基金赚了多少钱」→ E1 澄清,三个候选(万份收益/起投金额/收益率差别)
  全是公开知识,而客户问的是自己账户的盈亏金额。
  修法:P1_PATTERNS 补「第一人称 + 盈亏动词 + 金额疑问词」骨架,
  金额疑问词是必要条件 —— 「我买的基金亏了怎么办」照旧走知识检索(库里有解)。

- C-9 多轮指代断链,把"已经说过的"又问一遍
  「我想买个债基」→「它适合我吗」落 E2d「请告诉我具体的基金名称或代码」,
  而客户刚刚才被告知是那只产品;「赎回费怎么算」→「持有 8 个月呢」同因。
  两个根因:① _topic_of 只在答复前 4 行的固定形状里取主语,FAQ 型答复
  (首行「问:…」)反解为空;② 意图分类把短追问标成 suitability_check,
  绕开了知识出口里已做好的追问继承逻辑。
  修法:_answer_suitability 建成四级降级链(严格主语 → 形状反解
  _product_name_in_history → 有上文交回检索 → 首轮才澄清)+ 纯参数追问前置闸门。
  安全边界三条不放宽:不给访客"能不能买"结论;推测出的名字查不到风险等级时
  回落检索而非回"给不出结论";首轮指代保留澄清(金标 E-01 口径)。

- C-10 「你们投诉电话是多少」被强制转人工
  根因:P2_WRITE_DISPUTE_KEYWORDS 里的裸词「投诉」子串命中,把"问投诉渠道"
  和"提交投诉"撞在同一判据上;而答案就在库里(POL-SPM-036-01 / FAQ-0054)。
  修法:新增 _is_p2_contact_inquiry() 作为第二类 P2 豁免(渠道词 + 疑问词,
  且不带明确投诉意图)。「我要投诉,让你们经理来找我」照旧建单。

定位但未修(需甲方裁定合规口径)

- C-11 E4 证据约束生成的答复被"收益数值"闸门整条拦回 E5b
  「南方现金添利怎么样」(top1 1.0000) / 「买基金要手续费吗」(0.7328) /
  「债基和货基哪个收益高」(0.5457) 三条同因:生成稿出现 YIELD_METRIC_TERMS
  → hits_zero_tolerance → _exit_partial → E5b 兜底。
  试过"先净化再判合规",实测更差(drop_yield_claims 整行丢弃 + 生成稿常是
  单行长段 ⇒ 整条被删空),已回退并把原因写进代码注释留痕。
  建议方案:改 E4 提示词禁止输出收益数值(源头消除,不动红线代码)。

待判物

- _chunks_report.txt 判定可删:无代码引用 / 内容可从 knowledge/_chunks.jsonl
  复算 / 从未入库 / 统计口径已写进 D2.4 §6 与 D2.8 §2。已删 + 加 .gitignore。

验收

- 金标 46 条:M-1 46/46、M-4 46/46、M-6 5/46(白名单 F-05/G-01/G-03/G-04/G-05,
  零越界)、M-7/M-8/M-9/M-10 = 0、M-2 28/31、M-2b 15/18、M-3 4/4
  —— 与 W20 基线逐项一致,零回归。
- 全量回归 1985 passed / 3 skipped(W20 基线 1969 passed / 3 skipped)。
- 新增守卫单测 16 条(含 C-8 两条 / C-9 四条 / C-10 两条)。
- ruff 仅剩 4 条既有告警,未顺手改,避免混入无关 diff。

文档

- 新增 开发文档/D4.8-客服Agent智能度体检与整改报告-W21-2026-09-21.md
- 客服agent/D2.1 升 v6.37;开发文档/D1.1 升 v1.13;D1.6 增 §9 上下文提取
This commit is contained in:
张胜宇
2026-09-21 10:55:16 +08:00
parent fc3aa67451
commit dd5e9f8435
17 changed files with 1385 additions and 33 deletions
@@ -202,7 +202,7 @@
| 选项 | 分值 |
|------|------|
| A. 保本保息,资金安全最重要 | 2分 |
| A. 本金不受损失最重要,收益低一些也可以接受 | 2分 |
| B. 抵御通胀,小幅增值即可 | 4分 |
| C. 资产稳健增值,接受适度波动 | 6分 |
| D. 追求较高收益,可承受较大波动 | 8分 |
@@ -268,7 +268,7 @@
| 选项 | 分值 |
|------|------|
| A. "我希望本金绝对安全,即使收益很低" | 2分 |
| A. "我希望本金尽量不受损失,即使收益很低" | 2分 |
| B. "我愿意接受较低收益,但本金不能有大损失" | 3分 |
| C. "我愿意承担适度风险,追求中等偏上的收益" | 4分 |
| D. "我愿意承担高风险,追求尽可能高的回报" | 5分 |
@@ -293,8 +293,8 @@
| 风险等级 | 等级名称 | 典型产品 | 本金损失可能性 |
|----------|----------|----------|----------------|
| R1 | 低风险 | 国债、银行存款、货币基金、保本型银行理财、大额存单 | 极低,本金基本无损失风险 |
| R2 | 中低风险 | 纯债基金、非保本银行理财(固收类)、债券型资管计划、同业存单基金 | 较低,本金损失概率较小 |
| R1 | 低风险 | 国债、银行存款、货币基金、本金保障型银行理财(历史产品)、大额存单 | 极低,本金基本无损失风险 |
| R2 | 中低风险 | 纯债基金、非本金保障型银行理财(固收类)、债券型资管计划、同业存单基金 | 较低,本金损失概率较小 |
| R3 | 中风险 | 混合型基金、信托计划(固定收益+权益)、FOF基金、指数增强基金 | 一般,存在一定本金损失可能 |
| R4 | 中高风险 | 股票型基金、偏股混合基金、私募证券投资基金、商品基金、QDII基金 | 较高,本金损失概率较大 |
| R5 | 高风险 | 期货合约、期权合约、结构化产品(含杠杆)、场外衍生品、加密货币基金 | 很高,可能出现本金全部损失 |