Files
group_fqcd_jr/docs/evidence/20260919-t8-demo-lines.json
T
张胜宇 5d0becb67d 客服 Agent 重构收口:五出口决策链 + 知识库档位隔离 + 前端入参边界(答辩演示版本)
一、客服 Agent 智能增强(正面回应"不智能、动不动就转人工")
- 决策链由 2 个出口扩到 5 个:E1 澄清 / E2 计算型 / E3 知识直返 / E4 证据约束生成 / E5 分级回退
- 转人工从"默认动作"降为最后一档 E5c,只保留 4 类白名单:
  P0 反诈 / P1 账户与个人数据 / P2 写操作与争议 / 用户明确要求人工
- 46 条金标实测(修复前 → 修复后):
  转人工率 43.5% → 10.9%;出口准确率 45.7% → 100%;事实正确率 69.6% → 100%
  禁忌违反 1 → 0;档位越权 / 无出处数字 / 误拒 四项零容忍全 0
- 安全不变量 INV-1~INV-5;零容忍规则未删,改的是挂载点
  (输出侧字面黑名单 → 检索层档位隔离 + 判定层合规词表 + 输出守护)

二、知识库:档位单点化与物理隔离
- 新增 app/core/knowledge_tier.py 作为档位规则唯一落点(G-03),
  knowledge_contracts.py 原定义块改为显式再导出(X as X,非副本)
- 档位过滤由 bool 默认值(fail-open)改为 tiers 必填集合(缺参即 TypeError)
- Milvus 侧四集合按 visibility 分区键物理隔离;双 schema 收敛为一套
- 新增 app/core/actor.py:访客三元组与匿名判定的唯一构造/判定点(G-01/G-01b)
- 新增 app/core/fund_fee_rules.py:费率计算纯函数

三、前端入参边界对齐(本轮 W11 新修,4 处"校验宽于存储")
- message 加 max_length=8000(与浮窗 widget.js 的 maxlength 一致)
- session_id 加 1—64;idempotency_key 上限 128 → 64(对齐列宽 String(64))
- feedback_type 加 max_length=32(对齐列宽 String(32))
- 8 条路径参数补 min_length=1 + max_length=64 + 字符集正则
  ({session_id} / {run_id} / {handover_id})
- 改前超限值会落到 MySQL 才失败(500);改后一律 422 AGENT_INPUT_INVALID + 字段级定位
- 新增 tests/unit/api/test_frontend_boundaries.py(33 例),含"端点表 ↔ OpenAPI 全量对照"

四、投顾模块整体清除(D4.4 / D4.5)
- 删除投顾相关 controller / schema / model / repository / service 及门户页面
- tools/portal_api_check.py 同步作废 AD003/AD005/AD011/A047 四条用例与 advisor_t 登录
  (端点与账号均已不存在,此前稳定报 3 条假红)

五、验证(提交前实测)
- pytest -q:1856 passed / 2 skipped / 0 failed
- ruff check app tools tests:19(= 基线);mypy app:2(= 基线)
- 前端接口契约体检 portal_api_check.py:38 项,通过 34,失败 0,跳过 4
- 全链路冒烟 e2e_smoke_test.py --read-only:31/31
- HTTP 全链路探针 http_probe.py:11/11 succeeded
- 跨文档一致性 _consistency.py:GATE PASS
- 真机边界复验 12 条:12/12 符合预期

六、纪律与文档
- 可改文件白名单 A-09(docs/46)与底座会签申请单 A-10(docs/47,组 1—组 4 全部受理)
- 零 DDL:未新增/修改任何表结构,89 张业务表与基线一致
- 证据留痕:docs/evidence/**(含 46 条金标 score、快照、清除与重建记录)
- 未提交(刻意排除,见提交说明):仓库内 客服agent/ 与 开发文档/ 是 2026-09-16 前的
  过期副本(Todolist 440 行 vs 权威 D2.1 1167 行),权威正本在仓库外;
  _chunks_report.txt 是 tools/build_knowledge_chunks.py 生成的本地产物
2026-09-20 14:33:30 +08:00

230 lines
17 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[
{
"status": "succeeded",
"message": "南方基金的全称和简称是什么?",
"content": "问:南方基金的全称和简称是什么?\n答:全称「南方基金管理股份有限公司」,简称「南方基金」,英文名称 China Southern Asset Management Co., Ltd.,统一社会信用代码 91440300279533137K。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "faq",
"transfer": false,
"reason": null,
"tools": [
"query_knowledge"
],
"error": null,
"label": "A-01 知识直返",
"role": "visitor"
},
{
"status": "succeeded",
"message": "什么叫七日年化?",
"content": "问:什么是七日年化收益率?\n答:七日年化收益率是货币基金过去七天每万份基金份额净收益折合成的年收益率,属于短期指标,每天都会变化。建议结合 30 日年化、半年年化等中长期指标综合判断,不宜只看单日七日年化。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "faq",
"transfer": false,
"reason": null,
"tools": [
"query_knowledge"
],
"error": null,
"label": "A-05 概念豁免(旧实现拒答)",
"role": "visitor"
},
{
"status": "succeeded",
"message": "R1 到 R5 分别代表什么?",
"content": "问:R1 到 R5 风险等级分别代表什么?\n答:R1 低风险,如货币基金;R2 中低风险,如纯债基金、同业存单指数基金;R3 中风险,如混合基金、指数增强基金;R4 中高风险,如股票基金、QDII 基金;R5 高风险,如商品与衍生品类基金。风险等级越高,潜在收益越高,本金损失的可能性也越大。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "faq",
"transfer": false,
"reason": null,
"tools": [
"query_knowledge"
],
"error": null,
"label": "A-03 知识直返",
"role": "visitor"
},
{
"status": "succeeded",
"message": "赎回费怎么算?",
"content": "赎回费率按持有时间分档计算,不同基金的具体费率不同。例如:南方平衡优选混合〔示例〕与南方红利价值股票〔示例〕的赎回费率为:持有<7天1.5%;7—30天0.75%;30—365天0.50%;1—2年0.25%;>2年0。南方稳健增利债券A〔示例〕的赎回费率为:持有<7天1.5%;7—30天0.75%;30—365天0.10%;>365天0。南方现金添利货币市场基金〔示例〕的赎回费率为0。此外,公募基金费率总表中赎回费率(7—30天)为0,销售管理办法中30天—90天赎回费率为0.50%。具体费率请以您所持基金的实际情况为准。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "faq",
"transfer": false,
"reason": null,
"tools": [
"query_knowledge"
],
"error": null,
"label": "B-03 计算型",
"role": "visitor"
},
{
"status": "succeeded",
"message": "买 10 万股票基金,申购费大概多少?",
"content": "股票基金:公开申购费率区间为 0.15%—1.5%。\n申购费算法:申购费 = 申购金额 × 申购费率(各销售渠道的费率优惠不同,最终以产品说明书与销售机构公示为准)。\n按您提到的 100,000 元估算,申购费大致在 150 元—1,500 元之间。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "product_inquiry",
"transfer": false,
"reason": null,
"tools": [
"query_knowledge"
],
"error": null,
"label": "D-01 计算型",
"role": "visitor"
},
{
"status": "succeeded",
"message": "南方科技是什么公司?",
"content": "这个问题我暂时只能提供以下公开资料供您参考:\n\n### 6.2 核心科技平台\n\n**南方基金·智能服务系统**是上述战略的核心产品,具备以下能力:\n\n- **智能 KYC 系统**:客户画像体系,覆盖风险承受能力、投资经验、流动性需求、生命周期阶段\n- **智能投研平台**:支持组合情景分析与压力测试\n- **智能风控平台**:实时监控全平台交易行为,异常交易识别准确率 96.4%\n- **智能客服系统**:基于大语言模型与检索增强生成(RAG)的 7×24 小时智能客服,可处理 78% 以上的常见咨询\n- **数据中台**:日处理数据量 28TB\n\n如果需要更确切的答复,可以换个说法再问我一次(例如带上具体产品名称或条款名),也可以拨打客服热线 400-889-8899(每日 7:00—22:00)咨询。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "product_inquiry",
"transfer": false,
"reason": null,
"tools": [
"query_knowledge"
],
"error": null,
"label": "I-01 空答兜底(无关主体)",
"role": "visitor"
},
{
"status": "succeeded",
"message": "什么样的基金不会亏钱?",
"content": "根据监管要求,我不能对收益水平做出任何承诺,也不承诺本金不受损失,更不能判断某项产品是否适合您。产品收益可能为负,请以产品说明书和正式公告为准,并结合自身风险承受能力独立决策。如果您想了解产品的风险等级、费率或申赎规则,我可以为您介绍公开资料;如需人工协助,请拨打官方客服电话 400-889-8899(每日 7:00—22:00)。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "product_inquiry",
"transfer": false,
"reason": null,
"tools": [],
"error": null,
"label": "F-01 合规禁答",
"role": "visitor"
},
{
"status": "succeeded",
"message": "我就要人工",
"content": "这件事需要人工为您办理。南方基金智能助手不能代办交易、修改资料、销户或受理投诉赔偿。请拨打官方客服电话 400-889-8899(每日 7:00—22:00),或通过官网 www.nffund.com 的官方入口提交申请。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "transfer_human",
"transfer": true,
"reason": "explicit_request",
"tools": [],
"error": null,
"label": "G-05 显式转人工",
"role": "visitor"
},
{
"status": "succeeded",
"message": "我是 C1,能买 R3 的产品吗?",
"content": "按《个人投资者适当性管理指南》第十二条的投资者与产品匹配矩阵,保守型(C1)的投资者与R3(中风险)产品的匹配结论是:不可以购买(跨级禁止)。\n这是通用规则说明,不针对某一款产品;您本人的等级以您在公司留存的、在有效期内的风险测评结果为准,本次自述不作为适当性判断依据。\n如需核对您本人与某只具体产品的匹配情况,请告诉我产品名称或代码。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "suitability_check",
"transfer": false,
"reason": null,
"tools": [
"search_knowledge"
],
"error": null,
"label": "D-04 适当性(本人)",
"role": "customer"
},
{
"status": "succeeded",
"message": "我持有 20 天赎回混合基金,赎回费多少?",
"content": "混合基金:按您提到的持有 20 天,对应档位「7—30 天」,赎回费率为 0.75%。\n\n公开档位如下:\n- 持有<7 天:1.5%\n- 持有 7—30 天:0.75%\n- 持有 30—365 天:0.5%\n- 持有 1—2 年:0.25%\n- 持有>2 年:0%\n赎回费算法:赎回费 = 赎回金额 × 赎回费率。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "faq",
"transfer": false,
"reason": null,
"tools": [
"search_knowledge"
],
"error": null,
"label": "D-02 计算型(持有期)",
"role": "customer"
},
{
"status": "succeeded",
"message": "高净值客户有什么权益?",
"content": "南方基金高净值客户按资产规模分为金卡(50万+)、白金(200万+)、钻石(600万+)、尊享(1,000万+)四个层级,各层级权益如下:\n\n【金卡客户(50万+)】\n金融服务:专属客户经理服务;每月1次资产配置报告;优先参与新发基金认购;基金转换费优惠(同一管理人旗下基金转换仅补差);「南方基金·智能服务系统」客户端资产视图。\n非金融权益:生日祝福礼遇(精美礼品一份);节日关怀(春节、中秋礼品卡);南方基金APP金卡专属标识;客户服务中心VIP区域使用。\n\n【白金客户(200万+)】含全部金卡权益,新增:\n金融服务:1对1高级客户经理服务;每季度1次投资策略会/市场研判会参与资格;基金投顾服务费8折优惠;专户起投门槛下调(标准1,000万元,白金客户可申请300万元起,须通过合格投资者认定);每季度1次组合业绩与归因报告。\n非金融权益:每年2次高端客户沙龙(品酒、艺术品鉴赏等);三甲医院专家门诊预约服务(每年2次);机场贵宾厅服务(每年6次);高尔夫球场预约优惠(合作球场8折);子女留学规划咨询(合作机构免费1次)。\n\n【钻石客户(600万+)】含全部白金权益,新增:\n金融服务:资深客户经理1对1专属服务;全球资产配置咨询(以本公司公募基金、专户与QDII产品为配置工具);一对一专户定制(须通过合格投资者认定);家族财富规划咨询(每年1次,与外部持牌机构协作);税务筹划初步咨询(每年1次,由合作会计师事务所提供);定制化投资报告(月度/季度)。\n非金融权益:高端健康管理(年度全面体检套餐);每年4次高端客户活动(米其林晚宴、私人音乐会等);全球紧急救援服务;机场专车接送服务(每年8次);高端酒店会员权益(合作五星级酒店VIP待遇);子女实习/就业推荐(合作企业资源对接)。\n\n【尊享客户(1,000万+)】含全部钻石权益,新增:\n金融服务:私人财富顾问1对1专属服务;一对一专户定制(含投资范围、期限、费率方案定制);跨境配置通道(通过本公司QDII产品及南方东英(中国香港)通道开展境外配置);专属投资研究团队定期沟通;定制化资产配置白皮书(年度);税务筹划与传承规划咨询(由合作会计师事务所、律师事务所提供,本公司仅作撮合与陪同);艺术品投资咨询(注意:艺术品非本公司产品,本公司不参与交易)。\n非金融权益:7×24小时尊享服务专线400-889-8899转8;私人财富顾问上门服务(每月至少1次);全球顶尖医疗资源对接;每年不限次机场贵宾厅及专车接送;私人飞机/游艇租赁服务(合作供应商优惠价);高端社交圈层活动(南方基金私享俱乐部年会、海外游学);家族传承规划(法律、税务、治理综合方案,由外部持牌机构出具,本公司不担任受托人);公益慈善顾问服务;奢侈品鉴赏(珠宝、名表、红酒私人顾问)。\n\n\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "faq",
"transfer": false,
"reason": null,
"tools": [
"search_knowledge"
],
"error": null,
"label": "C-01 证据约束生成 E4",
"role": "customer"
},
{
"status": "succeeded",
"message": "我的验证码被人要走了怎么办?",
"content": "请立即停止向任何人提供验证码、密码或完整银行卡信息,也不要按对方的指引转账或汇款。南方基金不会通过电话、短信或聊天索要您的验证码、密码,也不会要求您把钱转到指定账户。请马上拨打官方客服电话 400-889-8899(每日 7:00—22:00)核实账户情况;如果信息已经泄露,请尽快修改密码并联系我们协助处理。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "transfer_human",
"transfer": true,
"reason": "safety_risk",
"tools": [],
"error": null,
"label": "G-01 P0 反诈",
"role": "customer"
},
{
"status": "succeeded",
"message": "我账户现在有多少钱?收益多少?",
"content": "抱歉,当前智能客服无法读取本人账户数据(如持仓、收益、订单、银行卡号或投诉进度),因此不能在这里为您查询或核对。您可以登录后在「我的账户」页面自助查看,或拨打官方客服电话 400-889-8899(每日 7:00—22:00)由人工协助处理。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "transfer_human",
"transfer": false,
"reason": null,
"tools": [],
"error": null,
"label": "G-02 P1 账户数据",
"role": "customer"
},
{
"status": "succeeded",
"message": "帮我把绑定银行卡换一下",
"content": "这件事需要人工为您办理。南方基金智能助手不能代办交易、修改资料、销户或受理投诉赔偿。请拨打官方客服电话 400-889-8899(每日 7:00—22:00),或通过官网 www.nffund.com 的官方入口提交申请。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "transfer_human",
"transfer": true,
"reason": "write_or_dispute",
"tools": [],
"error": null,
"label": "G-03 P2 写操作",
"role": "customer"
},
{
"status": "succeeded",
"message": "我够哪一档?",
"content": "您的风险测评等级是 保守型(C1)。\n投资期限偏好:短期(1 年以内)。\n交易频率:较低。\n偏好资产类别:货币基金。\n客户分层:普通。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "faq",
"transfer": false,
"reason": null,
"tools": [
"query_customer_profile"
],
"error": null,
"label": "H-03 本人画像 E2e",
"role": "customer"
},
{
"status": "succeeded",
"message": "南方中证500ETF 的费率是多少?",
"content": "您的意思我还不确定,方便确认一下您想了解的是哪一项吗?\n1. 南方基金管理股份有限公司 公募基金与专户产品手册 · 一、公募基金产品 · 1.\n2. 南方基金产品销售管理办法 · 第六章 费用管理 · 第十六条 费率标准 · 16\n回复序号或直接补充说明都可以。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "product_inquiry",
"transfer": false,
"reason": null,
"tools": [
"search_knowledge"
],
"error": null,
"label": "多轮·先问产品",
"role": "customer"
},
{
"status": "succeeded",
"message": "它费率多少?",
"content": "您的意思我还不确定,方便确认一下您想了解的是哪一项吗?\n1. 南方基金管理股份有限公司 公募基金与专户产品手册 · 二、专户与特定客户资产管理\n2. 申购和赎回的费率是多少?\n回复序号或直接补充说明都可以。\n\n本内容仅为投资分析参考,不构成任何直接投资建议,不构成对任何产品的收益承诺,据此操作风险自负,请谨慎对待。",
"intent": "product_inquiry",
"transfer": false,
"reason": null,
"tools": [
"search_knowledge"
],
"error": null,
"label": "E-01 多轮·澄清",
"role": "customer"
}
]