一、客服 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 生成的本地产物
236 lines
12 KiB
JSON
236 lines
12 KiB
JSON
{
|
||
"evidence_id": "20260919-t4b-f1f2-decisions",
|
||
"generated_at": "2026-09-19T14:54:35+08:00",
|
||
"session": "D1.6 §4.27 / D2.1 v6.14",
|
||
"what": "F-1(B 组判据对齐 DEC-I8)+ F-2(转人工只由显式要求触发)落地后的真实复验",
|
||
"how": "进程内复用生产链路:get_agent_factory() → create(customer_service) → resolve_config → classify_intent(真实 IntentClassifier)→ _route_and_answer(真实 Milvus 三集合 + 嵌入端点 + DeepSeek)",
|
||
"cases": [
|
||
{
|
||
"case": "D-05",
|
||
"message": "南方基金客服现在方便联系吗?",
|
||
"roles": [
|
||
"visitor"
|
||
],
|
||
"classified_intent": "transfer_human",
|
||
"classified_confidence": 0.9,
|
||
"exits": [
|
||
"E4"
|
||
],
|
||
"transfer_required": false,
|
||
"transfer_reason": null,
|
||
"clarification_required": false,
|
||
"text": "可以。客服热线为 400-889-8899,服务时间为每日 7:00—22:00。",
|
||
"param_search": [],
|
||
"tool_call_count": 1
|
||
},
|
||
{
|
||
"case": "B-01",
|
||
"message": "基金的起投金额是多少?",
|
||
"roles": [
|
||
"visitor"
|
||
],
|
||
"classified_intent": "product_inquiry",
|
||
"classified_confidence": 0.9,
|
||
"exits": [
|
||
"E4"
|
||
],
|
||
"transfer_required": false,
|
||
"transfer_reason": null,
|
||
"clarification_required": false,
|
||
"text": "南方现金添利货币市场基金〔示例〕:起投金额 1 元",
|
||
"param_search": [],
|
||
"tool_call_count": 1
|
||
},
|
||
{
|
||
"case": "B-02",
|
||
"message": "基金申购和赎回有哪些费率?",
|
||
"roles": [
|
||
"visitor"
|
||
],
|
||
"classified_intent": "faq",
|
||
"classified_confidence": 0.95,
|
||
"exits": [
|
||
"E4"
|
||
],
|
||
"transfer_required": false,
|
||
"transfer_reason": null,
|
||
"clarification_required": false,
|
||
"text": "公募基金费率总表列示的费率如下(均为年费率或按对应区间收取):\n\n申购费率(原费率):货币基金 0;纯债基金 0.80%;混合基金 1.50%;股票基金 1.50%;QDII 基金 1.60%。\n申购费率(官方直销 1 折):货币基金 0;纯债基金 0.08%;混合基金 0.15%;股票基金 0.15%;QDII 基金 0.16%。\n\n赎回费率(<7 天):货币基金 0;纯债基金 1.50%;混合基金 1.50%;股票基金 1.50%;QDII 基金 1.50%。\n赎回费率(7—30 天):货币基金 0;纯债基金 0.75%;混合基金 0.75%;股票基金 0.75%;QDII 基金 0.50%。\n赎回费率(30—365 天):货币基金 0;纯债基金 0.10%;混合基金 0.50%;股票基金 0.50%;QDII 基金 0.50%。\n赎回费率(1—2 年):货币基金 0;纯债基金 0;混合基金 0.25%;股票基金 0.25%;QDII 基金 0.25%。\n赎回费率(>2 年):货币基金 0;纯债基金 0;混合基金 0;股票基金 0;QDII 基金 0。\n\n管理费/年:货币基金 0.15%;纯债基金 0.30%;混合基金 1.20%;股票基金 1.20%;QDII 基金 1.50%。\n托管费/年:货币基金 0.05%;纯债基金 0.10%;混合基金 0.15%;股票基金 0.20%;QDII 基金 0.25%。\n\n费用计算示例:申购南方平衡优选混合〔示例〕10 万元,原申购费 100,000 × 1.50% = 1,500 元;官方直销 1 折后申购费 100,000 × 0.15% = 150 元;实际参与申购金额 100,000 − 150 = 99,850 元。持有 30 天后赎回 10 万元,赎回费 100,000 × 0.50% = 500 元,实际到账 100,000 − 500 = 99,500 元。持有满 2 年以上赎回,赎回费为 0,到账金额 = 赎回份额 × 当日基金份额净值。\n\n另据销售管理办法,赎回费率 <7 天为 1.50%(惩罚性费率,全额计入基金资产)。",
|
||
"param_search": [],
|
||
"tool_call_count": 1
|
||
},
|
||
{
|
||
"case": "B-04",
|
||
"message": "南方基金投顾服务起点是多少?",
|
||
"roles": [
|
||
"visitor"
|
||
],
|
||
"classified_intent": "product_inquiry",
|
||
"classified_confidence": 0.9,
|
||
"exits": [
|
||
"E4"
|
||
],
|
||
"transfer_required": false,
|
||
"transfer_reason": null,
|
||
"clarification_required": false,
|
||
"text": "### 1.3 南方平衡优选混合〔示例〕\n\n| 项目 | 详情 |\n|------|------|\n| 产品代码 | 900503(示例代码) |\n| 基金类型 | 偏股混合型基金 |\n| 风险等级 | R3(中风险) |\n| 成立日期 | 2013-06-11 |\n| 起投金额 | 5,000 元 |\n| 基金经理 | 周砚(虚构) |\n| 基金规模 | 约 92 亿元(截至 2026-06-30,虚构) |\n| 近一年收益率 | 9.35%(虚构) |\n| 近三年收益率 | 24.10%(虚构) |\n| 近五年收益率 | 61.20%(虚构) |\n| 最大回撤 | -11.80%(近一年,虚构) |\n| 夏普比率 | 0.94(虚构) |\n| 股票仓位 | 50%—70% |\n| 基金管理费 | 1.20%/年 |\n| 托管费 | 0.15%/年 |\n| 申购费率 | 0.15%(1 折优惠,原费率 1.50%) |\n| 赎回费率 | 持有<7 天:1.5%;7—30 天:0.75%;30—365 天:0.50%;1—2 年:0.25%;>2 年:0 |\n\n**投资策略**\n\n采用「核心 + 卫星」策略:核心仓位(约 60%)配置沪深 300 与中证 500 成分股中的优质蓝筹,卫星仓位(约 40%)捕捉科技、消费、医药等高成长行业的结构性机会。基金经理注重估值安全边际,动态调整股债比例。\n\n**适合人群**\n\n- 风险承受能力为平衡型(C3)及以上的投资者\n- 追求资产中长期稳健增值的投资者\n- 能承受 10%—15% 短期回撤的投资者\n- 资金闲置期限在 3 年以上的投资者\n- 作为资产配置中「攻守兼备」的核心持仓\n\n---",
|
||
"param_search": [],
|
||
"tool_call_count": 1
|
||
},
|
||
{
|
||
"case": "D-01",
|
||
"message": "买 10 万股票基金,申购费大概多少?",
|
||
"roles": [
|
||
"visitor"
|
||
],
|
||
"classified_intent": "product_inquiry",
|
||
"classified_confidence": 0.9,
|
||
"exits": [
|
||
"E2a"
|
||
],
|
||
"transfer_required": false,
|
||
"transfer_reason": null,
|
||
"clarification_required": false,
|
||
"text": "股票基金:公开申购费率区间为 0.15%—1.5%。\n申购费算法:申购费 = 申购金额 × 申购费率(各销售渠道的费率优惠不同,最终以产品说明书与销售机构公示为准)。\n按您提到的 100,000 元估算,申购费大致在 150 元—1,500 元之间。",
|
||
"param_search": [
|
||
{
|
||
"query": "公募基金费率总表 股票基金 申购费率 赎回费率",
|
||
"hits": [
|
||
{
|
||
"doc_id": "PROD-016-01",
|
||
"score": 0.8337,
|
||
"param_class": "rate",
|
||
"title": "南方基金管理股份有限公司 公募基金与专户产品手册 · 六、费率说明 · 6.1 公募基金费率总表 · 申购费率(原费率)"
|
||
},
|
||
{
|
||
"doc_id": "POL-SPM-032-01",
|
||
"score": 0.7693,
|
||
"param_class": "rate",
|
||
"title": "南方基金产品销售管理办法 · 第六章 费用管理 · 第十六条 费率标准 · 16.1 申购费率 · 股票型基金"
|
||
},
|
||
{
|
||
"doc_id": "PROD-001-14",
|
||
"score": 0.753,
|
||
"param_class": "rate",
|
||
"title": "南方基金管理股份有限公司 公募基金与专户产品手册 · 一、公募基金产品 · 1.1 南方现金添利货币市场基金〔示例〕 · 赎回费率"
|
||
},
|
||
{
|
||
"doc_id": "POL-SPM-033-01",
|
||
"score": 0.7359,
|
||
"param_class": "rate",
|
||
"title": "南方基金产品销售管理办法 · 第六章 费用管理 · 第十六条 费率标准 · 16.2 赎回费率 · <7 天"
|
||
},
|
||
{
|
||
"doc_id": "POL-SPM-034",
|
||
"score": 0.7253,
|
||
"param_class": "rate",
|
||
"title": "南方基金产品销售管理办法 · 第六章 费用管理 · 第十六条 费率标准 · 16.3 其他费用"
|
||
},
|
||
{
|
||
"doc_id": "COMP-001-06",
|
||
"score": 0.5961,
|
||
"param_class": "threshold",
|
||
"title": "南方基金管理股份有限公司 企业信息 · 一、公司基本信息 · 注册资本"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"tool_call_count": 1
|
||
},
|
||
{
|
||
"case": "D-02",
|
||
"message": "我持有 20 天赎回混合基金,赎回费多少?",
|
||
"roles": [
|
||
"customer"
|
||
],
|
||
"classified_intent": "faq",
|
||
"classified_confidence": 0.9,
|
||
"exits": [
|
||
"E2a"
|
||
],
|
||
"transfer_required": false,
|
||
"transfer_reason": null,
|
||
"clarification_required": false,
|
||
"text": "混合基金:按您提到的持有 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赎回费算法:赎回费 = 赎回金额 × 赎回费率。",
|
||
"param_search": [
|
||
{
|
||
"query": "公募基金费率总表 混合基金 申购费率 赎回费率",
|
||
"hits": [
|
||
{
|
||
"doc_id": "PROD-016-01",
|
||
"score": 0.8344,
|
||
"param_class": "rate",
|
||
"title": "南方基金管理股份有限公司 公募基金与专户产品手册 · 六、费率说明 · 6.1 公募基金费率总表 · 申购费率(原费率)"
|
||
},
|
||
{
|
||
"doc_id": "FAQ-0027",
|
||
"score": 0.779,
|
||
"param_class": "rate",
|
||
"title": "申购和赎回的费率是多少?"
|
||
},
|
||
{
|
||
"doc_id": "POL-SPM-032-02",
|
||
"score": 0.7786,
|
||
"param_class": "rate",
|
||
"title": "南方基金产品销售管理办法 · 第六章 费用管理 · 第十六条 费率标准 · 16.1 申购费率 · 混合型基金"
|
||
},
|
||
{
|
||
"doc_id": "PROD-003-16",
|
||
"score": 0.7717,
|
||
"param_class": "rate",
|
||
"title": "南方基金管理股份有限公司 公募基金与专户产品手册 · 一、公募基金产品 · 1.3 南方平衡优选混合〔示例〕 · 申购费率"
|
||
},
|
||
{
|
||
"doc_id": "POL-SPM-033-01",
|
||
"score": 0.725,
|
||
"param_class": "rate",
|
||
"title": "南方基金产品销售管理办法 · 第六章 费用管理 · 第十六条 费率标准 · 16.2 赎回费率 · <7 天"
|
||
},
|
||
{
|
||
"doc_id": "POL-SPM-034",
|
||
"score": 0.7106,
|
||
"param_class": "rate",
|
||
"title": "南方基金产品销售管理办法 · 第六章 费用管理 · 第十六条 费率标准 · 16.3 其他费用"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"tool_call_count": 1
|
||
},
|
||
{
|
||
"case": "G-05",
|
||
"message": "我就要人工",
|
||
"roles": [
|
||
"visitor"
|
||
],
|
||
"classified_intent": "transfer_human",
|
||
"classified_confidence": 0.98,
|
||
"exits": [],
|
||
"transfer_required": true,
|
||
"transfer_reason": "explicit_request",
|
||
"clarification_required": false,
|
||
"text": "这件事需要人工为您办理。南方基金智能助手不能代办交易、修改资料、销户或受理投诉赔偿。请拨打官方客服电话 400-889-8899(每日 7:00—22:00),或通过官网 www.nffund.com 的官方入口提交申请。",
|
||
"param_search": [],
|
||
"tool_call_count": 0
|
||
},
|
||
{
|
||
"case": "F-2b",
|
||
"message": "我想找个人问问",
|
||
"roles": [
|
||
"visitor"
|
||
],
|
||
"classified_intent": "transfer_human",
|
||
"classified_confidence": 0.95,
|
||
"exits": [
|
||
"E4",
|
||
"E5a"
|
||
],
|
||
"transfer_required": false,
|
||
"transfer_reason": null,
|
||
"clarification_required": true,
|
||
"text": "您的意思我还不确定,方便确认一下您想了解的是哪一项吗?\n1. 怎么联系我的专属客户经理?\n2. 南方基金产品销售管理办法 · 第七章 投诉处理机制 · 第十八条 投诉渠道 · \n3. 如果对投诉处理结果不满意怎么办?\n回复序号或直接补充说明都可以。",
|
||
"param_search": [],
|
||
"tool_call_count": 1
|
||
}
|
||
]
|
||
} |