## 为什么做这一步 权威文档 74 份此前**只在本机**,评审者 clone 分支后看不到任何设计文档;而仓库里那两份同名目录 是 **2026-09-16 之前的过期副本,连文件名都是旧的**(无体系编号)。本次按「**权威覆盖过期**」入库。 ## 入库内容 | 目录 | 文件数 | 体积 | 说明 | |---|---|---|---| | `客服agent/` | 24 | 0.77 MB | `D2.1`~`D2.6` 对外交付四件套 + 演示脚本/答辩报告 + `_build` 构建工具 | | `开发文档/` | 50 | 2.16 MB | `D1.x` 索引与决策、`D3.x` 方案、`D4.x` 清除与重构留痕、`D5.x` 业务流程、`D6.x` 业务事实基座、`D7.x` 交付物、`D8.x` 规范 | **旧的过期副本整体移除**(`客服Agent执行Todolist.md` → `D2.1-客服Agent执行Todolist.md` 之类 的改名 + 新增 `D2.5`/`D2.6`),入库后目录内容与权威副本**逐文件一致(零差异,已复核)**。 ## 入库前的安全扫描(必须留痕) - 扫描规则:`sk-` 类密钥 / `Bearer` 长串 / `password=`、`api_key=` 赋值 / 会话中出现过的两把明文 key 片段。 - 结论:**真实密钥只出现在 `.env`**(已被 `.gitignore` 命中,未入库);`.env.example` 与 `config/risk.env.example` 只有**空占位**。 - 文档内唯一命中是 `D3.1` 里一处**截断的示例 JWT**(`Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...`), 末尾带省略号,是接口文档的示意值,**不是可用凭据**。
67 KiB
知识源与品牌整改变更说明
体系编号:
D1.4· 域:一、治理与索引 · 编号体系见D1.1§4.0
编号:CS-CONTENT-2026-016 | 版本:v1.0 | 日期:2026-09-17
上游依据:D1.2-南方基金业务事实基座与虚构数据规范-2026-09-17.md(CS-CONTENT-2026-015 v1.1)—— 本文所有「改成什么」均以该基座为准。
本文定位:对 15 份知识源 + 9 类代码/前端表面,逐项回答 改什么 / 为什么改 / 改了会影响谁。
本轮边界:只出方案与变更说明,不编写、不提交任何代码(用户 2026-09-17 明确指令)。本文中的 G-xx 项均为方案,非已执行。
0. 本文怎么读
0.1 三条总约定(来自用户指令)
| # | 约定 | 在本文中的落点 |
|---|---|---|
| 1 | 名称统一以「南方基金」为准 | §2 品牌替换矩阵(跨全部文件)+ 各文件「修改点」中的品牌项 |
| 2 | 所有数据虚构但贴合真实业务:字段结构、业务流程、逻辑须符合实际 | §1.1 R2/R3 两类根因 + 各文件的「业务改写」项;数据口径一律引 CS-015 §4.2 三分法 |
| 3 | 每处修改同步说明原因与影响范围 | 每个文件配「原因」与「影响范围」两栏 |
0.2 影响范围的五个标签
| 标签 | 含义 |
|---|---|
| RAG | 该改动会进入向量库、改变客服/访客的实际回答内容 |
| DEMO | 该改动会在演示或评审时被人肉眼看到 |
| XREF | 其他文档按「文件名 + 章节号 / 行号」引用了这里,改动会使其失效 |
| CODE | 该改动必须先有代码侧配合(见 §4),否则改完不生效或测试变红 |
| TEST | 该改动会改变既有测试断言或基线数字 |
0.3 一个必须先讲清的前提
本轮不是「改名工程」,是「改业务工程」。
D6.2.2-企业金融服务方案.md 通篇是流动资金贷款、固定资产贷款、票据贴现、供应链金融、内保外贷、结构性存款、结售汇。基金管理人依法不得办理这些业务。 如果只把 XX科技 换成 南方基金,产出的是「南方基金办理票据贴现」——这比留着 XX科技 更糟:XX科技 是明显的占位符,审阅者知道那是假的;而「南方基金的票据贴现业务」会被当成我们真的不懂自己的业务。
⇒ 因此 15 份文件的改写是「章节级替换 + 业务内核重写」,品牌替换只是其中一项(约 15% 的工作量)。
1. 变更总览
1.1 四类根因
| 根因 | 说明 | 涉及文件数 | 严重度 |
|---|---|---|---|
| R1 品牌不符 | 全项目并存 4 套品牌:XX科技(开发文档 7 份)、南方科技(入库语料 6 份)、南方财富(前端 24 份)、南方基金管理有限公司(少「股份」,3 处) |
15 份知识源 + 24 份前端 + 8 处代码 | 🔴 高(肉眼可见) |
| R2 身份越界 | 把「基金管理人」写成了「持牌综合财富管理机构 / 银行 / 代销机构 / 保险经纪 / 信托受托人」 | 8 份(含最重的 3 份) | 🔴 最高(一眼假) |
| R3 数据口径错误 | 占位符(XX / XXX-XXXX-XXXX / XX亿元);缩水量级;C1 风险等级内部矛盾(R1 vs R1—R2) |
9 份 | 🟠 中高 |
| R4 档位与合规 | 监管依据错引(引《银行业监督管理法》);visibility 档位判定与落地脱节 |
2 份 + 1 处代码 | 🟠 中高 |
1.2 15 份知识源总表
状态列:改写 = 章节级重写;修 = 局部修改;不手改 = 派生件。
| # | 文件 | 命中行数(品牌+占位) | 根因 | 影响范围 | 状态 |
|---|---|---|---|---|---|
| 1 | 开发文档\公司业务\D6.2.2-企业金融服务方案.md |
21 | R1 R2 R3 | RAG·DEMO·XREF | 改写 |
| 2 | 开发文档\公司业务\D6.2.1-个人理财产品手册.md |
9 + 占位 | R1 R2 R3 | RAG·DEMO | 改写 |
| 3 | 开发文档\公司业务\D6.2.3-高净值客户服务规范.md |
12 + 占位 | R1 R2 | DEMO·XREF | 改写 |
| 4 | 开发文档\公司信息\D6.1.4-公司新人指南.md |
28 + 占位 | R1 R2 R3 | RAG·DEMO | 改写 |
| 5 | 开发文档\公司信息\D6.1.1-南方基金-企业信息.md |
5 | R1 R2 R3 | RAG·DEMO·XREF | 改写 |
| 6 | 开发文档\公司信息\D6.1.2-南方基金-高频问答对.md |
1 | R2 R4 | RAG·DEMO | 改写 |
| 7 | 开发文档\用户研判规则\D6.4.3-用户信息数据示例.md |
1 | R2 R3 | DEMO(不入 RAG) | 修 |
| 8 | 开发文档\金融政策\D6.3.1-理财产品销售管理办法.md |
1 + 占位 | R4 | RAG | 修 |
| 9 | 开发文档\公司业务\用户测试数据\D6.5.2-客户B-普通投资者.md |
2 + 占位 | R2 R3 | DEMO(不入 RAG) | 修 |
| 10 | group_fqcd_jr\knowledge\company\企业信息.md |
93 | R1 R2 R3 | RAG | 改写 |
| 11 | group_fqcd_jr\knowledge\faq\高频问答对.txt |
20 | R1 R2 R4 | RAG | 改写 |
| 12 | group_fqcd_jr\knowledge\product\D6.2.1-个人理财产品手册.md |
31 | R1 R2 R3 | RAG | 改写 |
| 13 | group_fqcd_jr\knowledge\product\D6.2.3-高净值客户服务规范.md |
27 | R1 R2 | RAG(仅两章入库) | 改写 |
| 14 | group_fqcd_jr\knowledge\policy\D6.3.1-理财产品销售管理办法.md |
1 | R4 | RAG | 修 |
| 15 | group_fqcd_jr\knowledge\_chunks.jsonl |
314 | 派生 | RAG | 不手改(重跑灌库) |
🔴 #10—#14 与 #1—#8 是「同源不同版」:
knowledge\**用南方科技、开发文档\**用XX科技,两份内容各自独立、md5 不同。必须分别改写。方向:以「开发文档」侧为母本改写 → 再同步进knowledge\。
1.3 代码与前端表面(9 项,本轮只出方案)
| ID | 表面 | 文件数 | 一句话 |
|---|---|---|---|
| G-01 | tools\build_knowledge_chunks.py |
1 | 「四查门禁」当前并不存在,需新建 |
| G-02 | app\static\portal\** 前端品牌面 |
24 | 评审唯一会用眼睛看到的品牌 |
| G-03 | app\service\agent\governance.py:47 |
1 | 热线常量 = 手机号 15936583816 |
| G-04 | portal\employee-operations\promotion\promotion.js:29 |
3 | 南方基金管理有限公司(少「股份」) |
| G-05 | 风控 Agent 自我标识 | 5 | 南方财富风控智能助手 |
| G-06 | tests\unit\service\test_knowledge_keyword_recall.py:23-24 |
1 | 断言写死旧标题链 → 灌库后必红 |
| G-07 | app\service\knowledge_search_service.py:280 |
1 | 注释里的旧品牌 |
| G-08 | tools\build_knowledge_chunks.py(同 G-01 文件) |
1 | 🔴 visibility 全部硬编码 public,三档工程上未落地(本次新发现)→ ✅ 2026-09-18 已落地(见 §4.0) |
| G-09 | 同上(allow_chapters / 报告死代码) |
1 | 🔴 高净值仅入前两章;报告脚本残留反洗钱段(本次新发现) |
2. 品牌面:跨文件的公共改动
2.1 品牌替换矩阵(精确到值)
| 旧值 | 新值 | 精确出现位置 | 处置 |
|---|---|---|---|
XX科技有限公司 |
南方基金管理股份有限公司 | 5 份文件的一级标题与正文首句 | 全量替换 |
XX科技(简称) |
南方基金 | 开发文档\公司业务\*、公司信息\D6.1.4-公司新人指南.md、用户研判规则\* |
全量替换 |
南方科技 |
南方基金 | group_fqcd_jr\knowledge\**(6 份,_chunks.jsonl 314 行) |
全量替换后再改写 |
南方财富 |
南方基金 | app\static\portal\**(24 文件)+ risk_* 3 文件 |
见 G-02 / G-05 |
南方基金管理有限公司(少「股份」) |
南方基金管理股份有限公司 | promotion.js:29 + 2 处测试内联值 |
见 G-04 |
南方财富管理有限公司 |
同上 | 早期版本(已清) | 复核 0 命中 |
南方 2026(战略名) |
南方基金「2026 数智化」战略〔虚构〕 | D6.1.1-南方基金-企业信息.md §6.1 |
品牌项替换 |
2.2 热线:四种旧形态 → 统一 400-889-8899
| 旧形态 | 性质 | 精确位置 | 影响 |
|---|---|---|---|
400-XXX-XXXX |
占位符 | D6.5.2-客户B-普通投资者.md:284,293、D6.2.3-高净值客户服务规范.md:129、D6.1.4-公司新人指南.md:421,422、D6.3.1-理财产品销售管理办法.md 1 处、D6.2.2-企业金融服务方案.md 页脚 |
DEMO:占位符会被人一眼看到 |
XXX-XXXX-XXXX |
占位符 | D6.2.2-企业金融服务方案.md:385-387(3 处)、D6.2.3-高净值客户服务规范.md:454 |
DEMO |
15936583816 |
代码侧手机号(脱敏白名单依赖) | governance.py:47 |
CODE:见 G-03,不能只换常量 |
400-826-9518 |
旧虚构定值 | 开发文档\D3.4-客服Agent重构Todolist.md:178(底稿定值表) |
XREF:见 §5.3 |
🔴 热线替换有一个隐藏陷阱(G-03):
governance.py的脱敏正则用1[3-9]\d{9}(手机号)识别,并把CUSTOMER_SERVICE_HOTLINE加入放行白名单。一旦常量改成400-889-8899,该号码不再匹配脱敏正则,白名单条目变成永不命中的死规则——不报错、不告警,但正则会继续把400-889-8899识别为需要脱敏的号码。⇒ 必须同时把脱敏逻辑改为「放行热线常量本身」,而非「放行手机号形态」。
2.3 域名与邮箱
| 旧值 | 新值 | 出现位置 |
|---|---|---|
xxtech.com / mail.xxtech.com / advisor.xxtech.com / crm.xxtech.com / wiki.xxtech.com / learn.xxtech.com / kpi.xxtech.com |
nffund.com + 对应子路径(内部系统域名建议改为 nffund.com 子路径形式,不再虚构独立域名) |
D6.1.4-公司新人指南.md:181,182,188,194,198,216,428-434 |
@xxtech.com 部门邮箱 |
@nffund.com |
D6.1.4-公司新人指南.md:181,417,418;D6.2.2-企业金融服务方案.md:385-387;D6.2.3-高净值客户服务规范.md:454;D6.2.1-个人理财产品手册.md:487 |
nanfangwm.com / complaint@nanfangwm.com |
nffund.com / service@nffund.com |
底稿定值表(D3.4-客服Agent重构Todolist.md:180)+ G-01 白名单定义 |
2.4 系统名
| 旧名 | 新名 | 影响 |
|---|---|---|
智能财富管家系统 |
南方基金·智能服务系统 | D6.1.4-公司新人指南.md(标题 §4.3、§7.3 链接表)、D6.1.1-南方基金-企业信息.md §6.1/§6.2、D7.4-开发引导.md、_docbuilder.py(模板已含替换规则) |
⚠️ 注意内外有别:
D6.1.4-公司新人指南.md的 §4.3 描述的是员工内部工作台(原advisor.xxtech.com)。品牌统一为「南方基金·智能服务系统」后,必须补一句区分「对外客服系统」与「员工内部工作台」,否则两处同名会造成 README/演示口径混乱。 依据:项目长期记忆 §6「复用版式外壳会继承旧品牌」——<title>/<h1>/ sidebar 必须单独核对。本次已复核客服agent\侧干净(旧值仅存在于_build\_docbuilder.py的替换规则表与文档内的「禁止清单」正文,属正常);未清的是group_fqcd_jr\knowledge\**与app\static\portal\**。
2.5 为什么不能只做替换(三个必须改业务的例子)
| 文件 | 只换品牌会产出的句子 | 为什么是硬伤 |
|---|---|---|
D6.2.2-企业金融服务方案.md |
「南方基金为企业提供流动资金贷款、票据贴现与供应链融资」 | 基金管理人无放贷与贴现资格 |
D6.1.2-南方基金-高频问答对.md Q28 |
「公司不发行公募基金,代销 126 家基金管理人旗下 8,600 余只产品」 | 本公司就是基金管理人,且平台定位为官方直销 |
D6.2.1-个人理财产品手册.md 第三章 |
「南方基金代销 XX 福享年金保险、XX 传世增额终身寿险」 | 本公司无保险中介资格 |
⇒ 改写规则:凡属 CS-015 §3.2「本公司不得开展」清单的业务,一律删除或改为边界声明;凡属 §3.1「可开展」的,按 §3.3 映射表重建。
3. 逐文件变更说明
3.1 开发文档\公司业务\D6.2.2-企业金融服务方案.md(388 行,最重)
现状与病灶:文档共 6 章,5 章越界,1 章部分越界。是「银行业务手册」而非「基金公司机构业务手册」。
修改点
| 行号 | 原文(节选) | 改为 | 原因 | 影响范围 |
|---|---|---|---|---|
| 1 | XX科技有限公司 企业金融服务方案 |
南方基金管理股份有限公司 机构客户服务方案 |
R1 品牌;标题须反映真实业务性质 | DEMO·XREF |
| 20—116 | 一、企业信贷服务(1.1 流贷 / 1.2 固贷 / 1.3 票据贴现) | 一、机构直销业务总览(1.1 机构客户准入与开户 / 1.2 机构客户分层与画像 / 1.3 机构专属服务通道) | R2:删除放贷与贴现;保留「客户分层—准入条件—方案设计」结构 | RAG·DEMO |
| 117—195 | 二、供应链金融(应收/存货/预付) | 二、指数化与 ETF 机构配置方案(2.1 宽基 ETF / 2.2 行业主题 ETF / 2.3 债券与货币 ETF 现金替代) | R2:删除供应链融资;保留「围绕客户现金流做方案」思路 | RAG·DEMO |
| 196—238 | 三、企业理财(对公定期存款 / 结构性存款 / 对公理财) | 三、机构定制专户方案(3.1 一对一专户 / 3.2 一对多专户 / 3.3 费率与业绩报酬) | R2:删存款与理财;保留期限/风险等级/起投门槛表格结构 | RAG·DEMO |
| 239—289 | 四、现金管理服务(4.1 概述 / 4.2 功能 / 4.3 收费 / 4.4 接入) | 四、机构资金流动性管理方案(货币基金 + 短债基金组合;T+0/T+1 申赎;费率;直销柜台/API 接入) | 章名越界,内核可改;保留资金归集划转的业务流程描述 | RAG·DEMO |
| 290—351 | 五、跨境金融服务(结算 / 外汇交易 / 跨境投融资 / 跨境资金池) | 五、跨境投资与 QDII 机构服务(QDII 产品线与投资范围 / 香港子公司(南方东英)业务 / 额度与申赎 / 汇率风险对冲说明) | R2:删结售汇与跨境资金池;保留币种、结算周期字段结构 | RAG·DEMO |
| 352—384 | 六、综合服务案例(案例1 制造业 / 案例2 贸易企业跨境) | 六、机构服务案例(案例1 制造业上市公司的闲置资金与年金管理 / 案例2 外贸企业的跨境资产配置) | 案例须落在可开展业务内 | DEMO |
| 385—387 | 3 处 XXX-XXXX-XXXX + corporate@xxtech.com / scf@xxtech.com / global@xxtech.com |
400-889-8899 + 机构业务部@nffund.com;删除「供应链金融团队」 |
R1 R3 | DEMO |
| 全篇 | 21 处 XX科技 |
南方基金 |
R1 | RAG·DEMO |
原因:本文件是唯一一份逐章越界的文档,也是「只换品牌会更糟」的典型。R2 为主因。
影响范围:① RAG —— 该文件与 knowledge\ 侧副本独立,两边都要改;② XREF —— D6.1.4-公司新人指南.md §3.2「企业服务业务」在叙同一套业务,须同步;③ DEMO —— 全文 21 处旧品牌 + 6 处占位符,是评审翻到就会质疑的文件。
3.2 开发文档\公司业务\D6.2.1-个人理财产品手册.md(488 行)
现状与病灶:第二章整章是银行理财产品(含结构性存款),第三章整章是保险产品;第五章 §5.3 是「银行理财申购流程」;§6.2 写「通过 XX科技 APP 申购所有代销基金」。产品名为 XX货币市场基金 等占位。
修改点
| 行号 | 原文 | 改为 | 原因 | 影响范围 |
|---|---|---|---|---|
| 1 | XX科技有限公司 个人理财产品手册 |
南方基金管理股份有限公司 公募基金与专户产品手册 |
R1 + 产品范围须与真实一致 | DEMO |
| 22 | 「XX科技与XXX家基金公司建立了代销合作关系,平台可销售基金产品超过X,XXX只」 | 「本公司自主管理公募基金 835 只(数据截止 2026-06-30),本平台只销售本公司管理的产品」 | R2:删「代销 + 合作家数」;口径改官方直销 | RAG·DEMO |
| 20—225 | 一、基金类产品(1.1—1.6:XX货币市场基金 / XX稳健增利债券A / XX平衡优选混合 / XX科技创新股票 / XX全球精选QDII / XX红利价值股票) |
保留 6 只的章节骨架,全部改为虚构产品:名称用「南方 + 主题/策略」结构,代码统一取 9xxxxx 段并标「示例代码」;结构按 CS-015 §6.1 必备字段补齐 |
R1 R3:XX 是占位符;且 1.4 与真实产品 南方科技创新混合A(007340) 名称过近,必须改名避免张冠李戴 |
RAG·DEMO |
| 226—296 | 二、银行理财产品(2.1 季季盈90天 / 2.2 年年盈365天 / 2.3 结构性存款) | 二、专户与特定客户资产管理(封闭期 / 业绩比较基准 / 合格投资者条件 / 面签与冷静期) | R2:基金管理人不代销银行理财、无结构性存款;保留字段结构 | RAG·DEMO |
| 297—352 | 三、保险产品(3.1 福享年金保险 / 3.2 传世增额终身寿险) | 三、本公司不涉及的产品与服务(边界声明):明确列出不代销保险、不代销银行理财、不代销第三方基金、不办理存贷款与票据业务 | R2:无保险中介资格 | RAG·DEMO |
| 353—394 | 四、产品对比表与推荐策略(4.1 对比 / 4.2 按客户类型推荐) | 保留结构,产品集合替换为「虚构公募基金 + 专户」;推荐策略的 C—R 映射按 CS-015 §4.4(C1 可买 R1—R2) | R3:与 FAQ Q40 口径对齐 | RAG·DEMO |
| 395—440 | 五、申购赎回操作流程(5.1 基金申购 / 5.2 基金赎回 / 5.3 银行理财申购流程) | 5.1、5.2 保留;5.3 改为「专户申购流程」(合格投资者认定 → 面签 → 合同 → 冷静期 → 成立) | R2 + CS-015 §6.2 流程闭环 | RAG |
| 441—484 | 六、费率说明 | 保留结构;费率区间改按 CS-015 §4.3;459「申购费率1折优惠:通过XX科技APP申购所有代销基金」→「通过南方基金官方直销平台申购,认/申购费率 1 折」 |
R1 R2 | RAG·DEMO |
| 485—487 | 「本手册由XX科技零售金融事业部产品中心编制…分机 XXXX…product_training@xxtech.com」 | 品牌与邮箱替换;分机号改为虚构的完整工号体系(不留 XXXX) |
R1 R3 | DEMO |
原因:R1(品牌)+ R2(两整章越界)+ R3(占位符)。
影响范围:① RAG —— 该手册是 product 集合的两大来源之一,直接决定客服对产品问题的回答;② knowledge\product\D6.2.1-个人理财产品手册.md 是独立副本,须按同一映射重写;③ §4.2「按客户类型推荐策略」与 D6.4.3-用户信息数据示例.md、客户B 的产品适配段落互相引用,须同批改。
3.3 开发文档\公司业务\D6.2.3-高净值客户服务规范.md(457 行)
现状与病灶:第三章「家族信托服务」通篇以受托人视角写(3.2 信托类型、3.4 收费标准、3.5「合作信托公司」),而本公司不是信托公司、不能作为受托人。§1.2 认定范围含「保险产品市值」「私募产品、信托产品」,§2.4 私行权益含占位热线。
修改点
| 行号 | 原文 | 改为 | 原因 | 影响范围 |
|---|---|---|---|---|
| 1 / 25 / 456 | XX科技有限公司 / 「解释权归XX科技有限公司所有」 |
南方基金管理股份有限公司 / 品牌替换 |
R1 | DEMO |
| 34—47 | §1.2 可投资资产认定范围:「通过XX科技持有的基金、理财、保险产品市值」「私募产品、信托产品」「需托管在XX科技」 | 改为「本公司管理的公募基金与专户产品市值」「本公司投顾组合」「场内 ETF 份额(托管在证券公司)」;删除「保险产品市值」与「私募、信托产品」 | R2:本公司不代销保险/私募/信托 | DEMO·XREF |
| 59—140 | 二、各层级专属权益(金卡/白金/钻石/私行) | 保留分层骨架;删除保险、银行理财、信托类权益,替换为「专户配置额度 / 投顾服务次数 / 南方东英跨境配置通道 / 机构级研究报告」 | R2 | DEMO |
| 129 | 7×24小时私人银行专线:400-XXX-XXXX 转 8 |
400-889-8899(分机号作为虚构值补齐) |
R3 占位符 | DEMO |
| 141—211 | 三、家族信托服务(3.1 概述 / 3.2 信托类型 / 3.3 服务流程 / 3.4 收费标准 / 3.5 合作信托公司) | 改章名为 「三、传承规划与信托对接咨询」;删除「受托人」表述、信托类型与收费标准;流程改为「需求诊断 → 出具配置建议 → 对接持牌信托公司 → 陪同尽调与合同审阅」;§3.5 保留合作机构列表但加注「本公司不作为受托人,不收取信托报酬」 | R2:非信托公司,不得作为受托人 | DEMO |
| 212—273 | 四、资产配置服务流程(4.1 五步法 / 4.2 配置模型) | 保留;§4.2 配置模型的产品池限定为「本公司公募基金 + 专户 + 投顾组合」 | R2 | DEMO |
| 276 | §5.1 人员资质「基金销售资格」 | 改「基金从业资格」(本公司为管理人,非销售机构) | R2 术语准确性 | DEMO |
| 333—376 | 六、VIP活动与增值服务(6.3 XX私行俱乐部) |
品牌替换;§6.2 增值服务商须加注「非金融类服务」 | R1 R2 | DEMO |
| 454 | 举报热线 XXX-XXXX-XXXX + compliance@xxtech.com |
400-889-8899(合规举报分机)+ compliance@nffund.com |
R1 R3 | DEMO |
原因:R1 + R2(信托受托人身份越界)。
影响范围:① ✔ RAG 影响有限 —— 灌库脚本 SOURCES["product/D6.2.3-高净值客户服务规范.md"] 设了 allow_chapters: ["一、", "二、"],第三章本就不入库(见 §4 G-09)。但 §1.2、§2.x 在入库范围内,且文档本身会被审阅,仍须改;② XREF —— 第三章的「合作信托公司」列表与 §3.5 在 D6.1.1-南方基金-企业信息.md §3.1 与 FAQ Q29/Q46 有对应表述,须同批改;③ DEMO。
3.4 开发文档\公司信息\D6.1.4-公司新人指南.md(450 行,28 处旧品牌)
现状与病灶:§1.1 写「持有基金销售、保险经纪、证券投资咨询三块核心金融牌照,是一家持牌综合财富管理机构」;§2.1 六大事业部含「机构金融事业部 / 私人银行事业部」;§3 业务线全景(零售理财 / 企业服务 / 私人银行);§5.2 写「C1 → 只能购买 R1」;§7 全是占位符与旧域名。
修改点
| 行号 | 原文 | 改为 | 原因 | 影响范围 |
|---|---|---|---|---|
| 1 / 7 / 447 / 449 | XX科技有限公司 新人入职指南 / 「欢迎加入XX科技有限公司」 |
南方基金管理股份有限公司 员工手册 / 品牌替换 |
R1 | DEMO |
| 15—20 | §1.1 「成立于 20XX 年 X 月…注册资本 X 亿元…持有三块核心金融牌照」 | 按 CS-015 §2 真值:1998-03-06 成立、注册资本 3.6172 亿元、深圳福田益田路 5999 号基金大厦 32-42 楼、统一社会信用代码 91440300279533137K;牌照改为 §2.0 的基金管理人资质序列(1998 公募 / 2002 社保 / 2005 年金 / 2007 首家 QDII / 2008 专户 / 2012 保险资金 / 2016 养老 / 2019 投顾试点 / 2020 REITs) |
R1 R2 R3:这是「三项代销类牌照」最集中的一处 | RAG·DEMO |
| 21—29 | §1.2 发展历程(20XX-20XX + 「XX20XX」数字化战略) |
用 CS-015 §2 的真实大事记 + 2023—2026 的虚构数智化节点(须与 D6.1.1-南方基金-企业信息.md §8 一致) |
R1 R3 | RAG·DEMO·XREF |
| 40—125 | §2.1 组织架构图 / §2.2 部门职能详解(含私人银行事业部、机构金融事业部) | 改为基金管理人真实部门结构:投资研究部 / 权益投资部 / 固定收益部 / 混合资产投资部 / 数量化投资部 / 指数投资部 / 机构业务部 / 养老金业务部 / 市场服务部 / 运营部 / 风险管理部 / 合规稽核部 / 信息技术部 / 人力资源部 | R2:删除「私人银行事业部」等银行式建制 | RAG·DEMO·XREF(与 §1.5 的 D6.1.1-南方基金-企业信息.md §4 须完全一致) |
| 126—168 | §3.1 零售理财业务 / §3.2 企业服务业务 / §3.3 私人银行业务 | 改为 3.1 公募基金零售(官方直销) / 3.2 机构与养老金业务 / 3.3 专户与基金投顾 | R2 | RAG·DEMO |
| 140 | 「线上:XX科技APP、微信小程序、官网」 | 「线上:南方基金 APP、官方微信服务号、官网 nffund.com」 |
R1 | DEMO |
| 171—209 | §4.1 账号开通:xingming@xxtech.com、mail.xxtech.com、advisor.xxtech.com、crm.xxtech.com、wiki.xxtech.com |
nffund.com 域内子路径形式;邮箱改 @nffund.com |
R1 | DEMO |
| 210—255 | §4.3 「智能财富管家系统使用指南」+「登录地址:https://advisor.xxtech.com」 | 系统名改 南方基金·智能服务系统;登录地址改内部形式;补一句区分「对外客服系统」与「员工内部工作台」 | R1 + §2.4 的歧义风险 | RAG·DEMO |
| 269—282 | §5.2 投资者适当性「C1 → 只能购买 R1」 | 改为「C1 → R1—R2」 | R3:与 CS-015 §4.4 已裁决口径矛盾(FAQ Q40 已写 R1—R2) | RAG |
| 369 | §6 Q9 客户投诉处理 | 热线改 400-889-8899,服务时间保持 7:00—22:00 |
R1 R3 | RAG |
| 403—446 | §7.1 总部 / §7.2 联系方式(占位热线)/ §7.3 系统链接(8 个旧域名) / §7.4 周边生活指南 | 全部替换;总部地址改为真实地址(深圳福田益田路 5999 号基金大厦 32-42 楼);周边生活指南须重写为深圳福田版(原为「某市高新区」) | R1 R3 | DEMO |
原因:R1(28 处)+ R2(三牌照 + 银行式组织)+ R3(占位符 + C1 口径)。
影响范围:① RAG —— 若该文件入库,客服会直接引用「我们持有保险经纪牌照」;② XREF —— §1.2 发展历程、§2.1 组织架构必须与 D6.1.1-南方基金-企业信息.md §4/§8 逐条一致,否则两个文件互相打架;③ DEMO。
3.5 开发文档\公司信息\D6.1.1-南方基金-企业信息.md(377 行)🔴 最危险的错误源
现状与病灶:品牌名对(南方基金),但身份是代销机构——「公司不自行发行公募基金」(§1.1、§2.6)、「合作基金公司 126 家」(§2.1)、「营业收入 38.6 亿、手续费及佣金 26.8 亿」(§3.4)、「员工 1,268 人、营业网点 56 家」(§3.1、§九)、「成立于 2013 年 4 月,杭州滨江」(§8)。这些全部是「第三方基金销售机构」的画像。 它被当作「已正确的参照物」使用,是最大的传染源——knowledge\company\企业信息.md、D6.1.2-南方基金-高频问答对.md、D6.1.4-公司新人指南.md 都在向它对齐。
| 行号 | 原文 | 改为 | 原因 | 影响范围 |
|---|---|---|---|---|
| 3 | 「公司名称、牌照编号、人员姓名、地址、财务数据等均为虚构」 | 改按 CS-015 §4.1 三分法:「公司名称、工商登记信息与公开披露业务资质取自公开渠道,产品业绩、规模、费率、人员名单与客户数据均为虚构」 | R3:声明本身已与事实不符(名称现在是真值) | DEMO·合规 |
| 15—39 | 一、公司基本信息 | 按 CS-015 §2 真值表替换(信用代码 / 成立日期 / 注册资本 / 地址 / 法定代表人周易 / 总经理杨小松 / 总机 / 官网 / 客服邮箱 / 股权结构 / 分公司 6 地 / 南方东英 / 南方资本) | R1 R3 | RAG·DEMO |
| 40—50 | §1.1 主营业务「零售财富业务(公募基金、银行理财、保险产品代销)、私人银行服务、机构金融业务、基金投顾业务」+「公司不自行发行公募基金」 | 改为基金管理人四项经营范围:基金募集、基金销售、资产管理、中国证监会许可的其他业务;平台定位 = 本公司产品的官方直销平台 | 🔴 R2 核心:这是「不发行公募基金」的第一个源头 | RAG·DEMO·XREF |
| 51—68 | §1.2 经营数据速览(截至 2026-06-30) | 按 CS-015 §4.2 B 类真值:AUM 约 1.43 万亿元、公募基金 835 只、基金经理 106 人、员工 1,109 人、客户超 1.7 亿、累积分红超 1,500 亿元;统一标注截止日 | R3:v1.0 曾写 4,860 亿 / 780 人 / 218 只,量级偏低 | RAG·DEMO |
| 69—129 | 二、金融牌照与资质(2.1 基金销售业务资格 / 2.2 保险经纪业务许可证 / 2.3 证券投资咨询业务资格 / 2.4 私募基金管理人登记 / 2.5 QDII) | 整章替换为 CS-015 §2.0 的基金管理人资质序列(9 项,按获批年份);删除 2.2 保险经纪、2.3 证券投资咨询、2.4 私募管理人登记;2.5 QDII 保留但改为「2007 年业内首家」 | 🔴 R2:「五项代销类牌照」是第二个源头(FAQ Q06 抄的它) | RAG·DEMO·XREF |
| 122—129 | §2.6 合规声明(含「不自行发行公募基金」) | 改为:「本公司为公募基金管理人,只销售本公司管理的产品,不代销其他管理人的基金、银行理财与保险产品」 | 🔴 R2 | RAG·DEMO |
| 132—140 | §3.1 业务覆盖「营业网点 56 家 / 28 个城市」 | 删除「营业网点」概念(基金公司无银行式网点);改为「6 家分公司(北京上海深圳南京成都合肥)+ 6 个客户服务中心(北京上海广州深圳成都杭州)〔虚构〕」,并明确二者不是同一概念 | R2 + CS-015 §4.2 脚注 | RAG·DEMO·XREF(FAQ Q07 抄的它) |
| 153—164 | §3.3 资产管理规模 | 按 B 类真值(约 1.43 万亿元,截止 2026-06-30) | R3 | RAG |
| 165—176 | §3.4 财务表现(2025 年度)「营业收入 38.6 亿 / 手续费及佣金 26.8 亿」 | 改为基金管理人的收入结构(管理费为主 + 专户业绩报酬 + 投顾服务费),金额按虚构值但结构与行业一致 | R2 R3:手续费佣金为主是代销机构的收入结构 | RAG·DEMO |
| 197—239 | §四 组织架构(零售财富 / 私人银行 / 机构金融事业部) | 改为与 D6.1.4-公司新人指南.md §2 完全一致的基金管理人部门结构 |
R2 + XREF 一致性 | RAG·DEMO |
| 274—308 | §六 数字化转型(「南方 2026」战略 / 智能财富管家系统 / 关键技术指标) | 品牌与系统名替换;技术指标(虚构)须与代码侧能力口径一致(1024 维 embedding、Milvus 三集合) | R1 R3 | RAG·DEMO |
| 332—355 | §八 发展历程(「2013 年 4 月成立于杭州滨江」+ 2023/2025 智能财富管家系统上线) | 改为真实大事记起点(1998-03-06 深圳)→ 按 CS-015 §2.0 资质年份铺陈 → 2023—2026 虚构数智化节点;须与 D6.1.4-公司新人指南.md §1.2 一致 |
🔴 R2 R3:「2013 年杭州」与「1998 年深圳」不能并存 | RAG·DEMO·XREF |
| 351—355 | §九 常见关联信息速查(56 家网点等) | 逐条按上述真值刷新 | R3 | RAG·DEMO |
原因:R1(品牌仍对,但同族值不一致)+ R2 最重(身份整体错位)+ R3(成立地/时间/规模/收入结构全错)。
影响范围:🔴 这是「源头文件」 —— 它的错误被 D6.1.2-南方基金-高频问答对.md、knowledge\company\企业信息.md、D6.1.4-公司新人指南.md 三处复制。改它必须最先做,且改完要回扫下游三处。
3.6 开发文档\公司信息\D6.1.2-南方基金-高频问答对.md(+ .txt)
现状与病灶:64 组问答。品牌已对,但身份沿用了 §3.5 的代销机构画像。已定位的病灶:
| 行号 | 原文(节选) | 改为 | 原因 |
|---|---|---|---|
| 3 | 「本文件为智能财富管家系统实训项目使用的虚构企业资料…三者数据口径完全一致」 | 系统名替换;声明改三分法口径 | R1 R3 |
| 38(Q05) | 「主营四块业务:零售财富业务(公募基金、银行理财、保险产品代销)…公司不自行发行公募基金,所有基金产品均为代销」 | 改为基金管理人业务口径(公募募集与官方直销 / 专户 / 养老金 / 投顾 / QDII) | 🔴 R2 |
| 42(Q06) | 「共持有五项资质:基金销售业务资格(JX2015-0316)/保险经纪业务许可证(BJ-2016-1187)/证券投资咨询业务资格(ZX2018-0271)/私募基金管理人登记(P1072386)/QDII(2021-03)」 | 整答替换为 CS-015 §2.0 资质序列(1998 公募 → 2020 REITs);删除保险经纪、证券投资咨询、私募登记 | 🔴 R2 |
| 46(Q07) | 「营业网点共 56 家,覆盖全国 28 个城市…一线 18 / 新一线 21 / 二线 17」 | 改为「6 家分公司 + 6 个客户服务中心」,删除网点数量 | 🔴 R2 |
| 82(Q28) | 「公募基金(代销 126 家基金管理人旗下 8,600 余只产品)、银行理财、保险产品(合作 21 家保险公司)、私募与信托类产品…公司不发行公募基金」 | 「本公司管理公募基金 835 只(截止 2026-06-30);只销售本公司管理的产品;不代销银行理财、保险、其他管理人产品」 | 🔴 R2 |
| 204—206(Q45) | 「基金公司或理财子公司想与南方开展代销合作,流程是什么?」+ 六步代销引入流程 | 改为「机构客户定制专户的受理流程」或「本公司产品在其他渠道上架的合规流程」;删除「代销协议」「产品引入申请」 | 🔴 R2:本公司无「代销引入」环节 |
| 296—312 | 分类索引表 + 速查表(「营业网点 56 家 / 28 城市」) | 按上述改写同步刷新 | R3 XREF |
| 全篇 | 其余 58 组 | 逐条核对是否含产品参数、档位是否正确 | R4 |
档位重算(R4):改写前(V1.0)标注 public 55 / registered 9(registered = Q15/17/20/21/27/28/29/30/33);按 CS-015 §5 的唯一判据(答案是否含具体数值型产品要素)逐条重算后,现行(V2.0)= public 54 / registered 10(registered = Q17/20/21/27/28/29/30/33/47/53)——即 Q15 降为 public(−1),Q47、Q53 升为 registered(+2)。三条边界(概念解释、交易时限、C—R 匹配规则必须 public)在重算中保持不变。✅ 已完成,与 D6.1.2 §四、D2.2、D2.4、D3.1、D3.2 口径一致。
🔴 但重算档位在本轮是「白做工」 —— 见 §4 G-08:灌库脚本把 FAQ 的
visibility全部硬编码为public,.md里的档位标注根本不会生效(真正入库的是faq/高频问答对.txt)。⇒ 档位重算必须与 G-08 同批完成,否则只是纸上标注。
影响范围:① RAG —— FAQ 是 fin_faq_collection 与访客/客服问答的主来源;② DEMO —— Q05/Q06/Q07/Q28 是「公司介绍」类问题的标准答案,评审必问;③ 改写后 knowledge\faq\高频问答对.txt 须同批重写(格式硬约束:每行恰 1 个制表符、末尾不留空行)。
3.7 开发文档\用户研判规则\D6.4.3-用户信息数据示例.md(548 行)
现状与病灶:5 个客户画像(A 白领 / B 企业主 / C 退休教师 / D 医生 / E 程序员)。问题集中在客户 C/D/E 的产品口径与 C1 风险等级。
| 行号 | 原文 | 改为 | 原因 |
|---|---|---|---|
| 81(客户A 建议方案) | 「R2 级银行理财 + 债券基金为主」 | 「R2 级债券型基金 + 货币基金为主」 | R2:本公司体系内无「银行理财」 |
| 181—187(客户B) | 「缺少固收类和保险类资产的安全垫」+「保险传承这个方案可以详细说说吗」 | 改「固收类与养老目标基金」;「保险传承」对话改为「传承规划与信托对接」(与 §3.3 第三章章名一致) | R2 + XREF 一致性 |
| 230 / 248 / 255—256(客户C) | 「约 120 万元(银行理财 60 万 + 国债 30 万 + 存款 20 万 + 基金 10 万)」「低风险银行理财(R1-R2)」「关注方向:养老理财产品、储蓄型保险」 | 区分**「客户在其他机构持有」与「通过本公司持有」**两类。本公司口径改为:货币基金 / 纯债基金 / 二级债基 / 指数基金;「关注方向」删「养老理财、储蓄型保险」,改「养老目标基金(Y 份额)、投顾组合」 | 🔴 R2:客户可以在银行有存款国债(这是客户事实),但不能写成「本公司销售银行理财」 |
| 277(客户C 对话) | 「以我们代销的 XX 银行 R2 级"稳享"系列为例」 | 「以本公司管理的 R2 级债券型基金为例」 | 🔴 R2:「代销 XX 银行」直接违反官方直销定位 |
| 309 / 315 | 画像「偏好产品类型: 银行存款/国债/银行理财」「产品关注度: 银行存款>国债>银行理财」 | 加注「(存款与国债为客户在他行/柜台持有的存量资产,非本公司业务)」 | R2:避免误读为本公司产品线 |
| 338 / 363(客户D) | 「保险现金价值 30 万」「保险配置:定期寿险、重疾险、子女教育年金」 | 保留(客户自有保单,属客户事实);但须加注「非本公司业务」 | R2 |
| 391(客户D) | 「可以投资专属的养老基金、养老理财、养老保险等产品」 | 「可以投资**养老目标基金(Y 份额)**等产品」 | R2 |
| 498(客户E) | 「①XX科技——密码学和数字安全领域龙头;②XX信息——分布式数据库…」 | 改为泛指(如「某信息安全领域上市公司」),避免使用真实个股名称,且避免 XX 与旧品牌占位符混淆 |
R1 R3 |
| 客户C 全段 | 风险等级 C1,但产品口径与「C1 只能买 R1」隐含一致 | 统一按 CS-015 §4.4:C1 可买 R1—R2 | R3 |
| 530—547 | 六、数据汇总对比表 | 按上述改写同步刷新;「核心产品」列避免出现银行理财/保险/加密 | R2 |
原因:R2(本公司产品线口径)+ R3(C1 等级)。R1 仅 1 处(客户E 对话里的 XX科技 是股票占位,易误读)。
影响范围:✔ 不入 RAG(用户研判规则\* 属入库禁区)⇒ 不影响客服回答。但它是研判规则/演示数据的依据,且客户 B/C 的数据与 D6.5.2-客户B-普通投资者.md 高度重叠(对话逐字相同)⇒ 必须与 §3.9 同批改,否则同一段对话在两份文件里出现两套口径。
3.8 开发文档\金融政策\D6.3.1-理财产品销售管理办法.md(506 行)+ 同名 knowledge\policy\ 副本
现状与病灶:9 章制度文。核心问题是监管依据错引与术语主体错位。
| 行号 | 原文 | 改为 | 原因 |
|---|---|---|---|
| 12—35 | 第一章 总则:依据《银行业监督管理法》《商业银行理财业务监督管理办法》 | 改《证券投资基金法》《公开募集证券投资基金销售机构监督管理办法》《证券期货投资者适当性管理办法》 | 🔴 R4:本公司是证监会监管的基金管理人,不是银保监会监管的商业银行 |
| 第二章 销售机构与人员资质 | 「销售机构」「销售人员」 | 区分**「基金管理人直销」与「代销机构」两种主体;本公司为直销** | R2 R4 |
| 全篇 | 「理财产品」 | 视语境改「基金产品」;若保留广义「理财产品」须在总则加定义条款(含公募基金与专户) | R2 术语准确性 |
| 占位热线 1 处 | 400-XXX-XXXX |
400-889-8899 |
R3 |
| 407—448 | 第七章 投诉处理机制 | 保留;须与 MVP「发工单」能力对齐(CS-015 §6.2) | RAG |
文档头(knowledge\ 副本配置) |
SOURCES 里 tags: "理财产品销售,双录,冷静期,费率,投诉" |
建议改「基金销售,双录,冷静期,费率,投诉」 | R2 术语 |
原因:R4(监管依据)+ R2(主体与术语)。
影响范围:① RAG —— 该文件是 fin_policy_collection 的来源之一,依据错引会被客服直接引用给客户(「根据银行业监督管理法…」对基金客户是明显的专业错误);② ✔ 与 knowledge\policy\D6.3.1-理财产品销售管理办法.md 是独立副本,须同批改;③ ⚠️ SOURCES 注释明确反洗钱合规操作手册不入库(业务不涉及转账划付),本次不动该文件。
3.9 开发文档\公司业务\用户测试数据\D6.5.2-客户B-普通投资者.md(370 行)
现状与病灶:客户 B(退休教师,C1)的金融资产全部是银行存款 / 定期 / 银行理财 / 国债;对话与 D6.4.3-用户信息数据示例.md 客户 C 逐字重复;2 处占位热线。
| 行号 | 原文 | 改为 | 原因 |
|---|---|---|---|
| 26 / 21 | 138XXXXXXXX / 330102196411XXXXXX |
保留占位形态(这是数据脱敏的常规写法,非品牌占位) | — |
| 61—66 / 73—81 | 金融资产明细:银行存款 3 万 / 定期存款 20 万 / 银行理财 R1 30 万 / 银行理财 R2 30 万 / 国债 30 万 | 保留「客户在他行持有的存量资产」表述;新增一段「通过南方基金持有的资产」(货币基金 / 纯债基金 / 二级债基),体现「客户正在从银行渠道迁移到官方直销平台」的合理业务场景 | R2:不能把银行理财写成本公司在售 |
| 166—170 | 4.3 产品适配分析:「银行定期存款 ✅」「储蓄国债 ✅」「R1/R2 银行理财」 | 「银行存款/国债 ✅(客户他行存量,本公司不参与)」;本公司产品线改为「货币基金 ✅ / 纯债基金 ✅ / 二级债基 ⚠️(需充分解释非保本)」 | R2 |
| 189 / 198—206 | 对话1 建议方案含「R2 级银行理财」「大额存单 + 定期存款」 | 改为本公司产品方案(货币基金 + 纯债基金 + 短债基金组合);保留「先风险揭示、后客户确认」的对话结构 | R2 + 红线② |
| 227—235 | 对话2 国债购买咨询:「到就近的 XX 银行或 XX 银行柜台购买」 | ⚠️ 本公司不代销国债 ⇒ 改为「国债 ETF(场内)」或「引导客户到银行柜台办理」并明确「本公司不代销储蓄国债」 | R2 |
| 284 / 293 | 400-XXX-XXXX ×2 |
400-889-8899 |
R3 |
| 327 / 333 / 361 | 画像标签「银行存款/国债/银行理财」「咨询渠道: 电话+网点」「过度集中在银行体系,可适度推荐国债」 | 标签改为含「本公司货币基金/纯债基金」;渠道删「网点」;第 8 条验证点改为「可适度引入货币基金与短债基金做流动性分层」 | R2 R3 |
原因:R2(资产结构口径)+ R3(占位热线)。
影响范围:① ✔ 不入 RAG(用户测试数据\* 属入库禁区);② DEMO —— 客户 B 是演示脚本用的测试账号画像,对话记录会被直接投屏;③ XREF —— 与 D6.4.3-用户信息数据示例.md 客户 C 重复率高,两者必须同批改、口径一致。
3.10 group_fqcd_jr\knowledge\company\企业信息.md(276 行,93 处命中)—— 真正入库的那一份
现状与病灶:这是最终进向量库的文件(SOURCES 的 company/企业信息.md,collection = fin_faq_collection,prefix = COMP)。品牌是 南方科技(×16),身份是完整 8 章的代销机构画像。
| 修改点 | 说明 | 原因 |
|---|---|---|
| 一级标题与全篇 | 南方科技 → 南方基金(16 处) |
R1 |
| 全篇 8 章 | 以 §3.5 改写后的 D6.1.1-南方基金-企业信息.md 为母本整体替换(含 §1.1 主营、§二 资质序列、§2.6 合规声明、§3.1 业务覆盖、§3.4 财务、§八 发展历程) |
🔴 R2:不能只换品牌,否则入库语料会继续告诉客服「本公司不发行公募基金」 |
| 占位符 | 清 0(现有 93 处命中中含大量 XX) |
R3 |
| 免责声明 | 改三分法口径(同 §3.5 第 3 行) | R3 合规 |
影响范围:🔴 RAG 直接影响 —— 该文件的每一块都会成为客服回答「你们公司是做什么的 / 你们发行基金吗 / 你们有多少网点」的依据。且这是访客(visitor)可召回的范围(visibility: public)⇒ 错的答案会直接对游客说出。
⚠️ _chunks.jsonl 里对应的 COMP-* 块必须在改完源文件后重跑灌库才会更新(见 §3.15)。
3.11 group_fqcd_jr\knowledge\faq\高频问答对.txt(45 行,20 处命中)
现状与病灶:南方科技 ×18;Q1—Q11 等叙述「代销机构」身份。这是真正被灌库的 FAQ 源(脚本第 277 行读的就是它,.md 版本不参与灌库)。
| 修改点 | 说明 | 原因 |
|---|---|---|
| 全篇品牌 | 南方科技 → 南方基金(18 处) |
R1 |
| Q1—Q11、Q20、Q30、Q32、Q35、Q36 | 按 §3.6 的改写口径逐条重写(业务范围、资质、网点、产品来源、合作流程) | 🔴 R2:入库语料 |
| 格式 | ⚠️ 硬约束:每行恰 1 个制表符(Q + \t + A)、末尾不留空行 —— 脚本 chunk_qa() 按此切分,多一个制表符或末尾空行会改变块数与 doc_id 序 |
工程约束 |
| 档位 | ⚠️ 见 §4 G-08:脚本第 287 行硬编码 visibility: "public" ⇒ 该文件的块全部是 public。若需 registered 档,必须改脚本 |
🔴 R4 |
影响范围:🔴 RAG 直接影响 + 访客可召回。Q05/Q06/Q07/Q28 类问题的答案就是演示时被问到的内容。
⚠️ 改完后块数可能变化 ⇒ FAQ-xxxx 的 doc_id 序会漂移 ⇒ 若其他文档按 doc_id 引用,需同步(当前未见此类引用,建议改后 grep 复核)。
3.12 group_fqcd_jr\knowledge\product\D6.2.1-个人理财产品手册.md(488 行,31 处命中)
3.13 group_fqcd_jr\knowledge\product\D6.2.3-高净值客户服务规范.md(457 行,27 处命中)
现状与病灶:#12 与 §3.2、#13 与 §3.3 是「同源不同版」 —— md5 不同,南方科技 与 XX科技 各写一套,章节结构相同、内容各自独立。
| 修改点 | 说明 | 原因 |
|---|---|---|
| #12 | 以 §3.2 改写后的手册为母本,整体替换内容 + 品牌(南方科技 → 南方基金) |
R1 R2 R3 |
| #13 | 以 §3.3 改写后的规范为母本,整体替换内容 + 品牌 | R1 R2 |
| ⚠️ #13 入库范围 | SOURCES 设 allow_chapters: ["一、", "二、"] ⇒ 只入「一、客户分层标准」与「二、各层级专属权益」两章;第三章家族信托、第四章配置流程、第五章考核指标、第七章隐私预案本就不入库 |
工程约束(见 G-09) |
SOURCES 元数据 |
product/D6.2.1-个人理财产品手册.md 的 tags 仍是 "基金,银行理财,保险,费率,申赎" ⇒ 须改为 "基金,专户,费率,申赎";两个文件的 version(V2.8 / V2.1)与 effective_date 须刷新 |
R2 R4 |
影响范围:🔴 RAG 直接影响(fin_product_collection 的两大来源)。tags 会被写入每个块,旧 tags 会把「银行理财」「保险」作为检索标签,即使正文改干净了,标签仍在误导检索。
3.14 group_fqcd_jr\knowledge\policy\D6.3.1-理财产品销售管理办法.md
同 §3.8。与 开发文档\金融政策\ 版是独立副本,须同批改;SOURCES 中该文件的 tags: "理财产品销售,双录,冷静期,费率,投诉" 建议同步改「基金销售」。
3.15 group_fqcd_jr\knowledge\_chunks.jsonl(派生件,不手改)
| 项 | 说明 |
|---|---|
| 性质 | 由 tools\build_knowledge_chunks.py 从 knowledge\ 的 5 个 SOURCES 文件 + faq/高频问答对.txt 生成的派生结果(314 行命中,含旧品牌与占位符) |
| 处置 | 🔴 禁止手工编辑。手工改会让「源文件 ↔ 向量库」失去可追溯性,且下次灌库即被覆盖 |
| 正确路径 | 改完 §3.10—§3.14 的源文件 → 补上 G-01 门禁 → 停机 Worker → 重跑 build_knowledge_chunks.py → 重新灌库 |
| 前置 | G-01(门禁)、G-08(档位)必须先完成,否则重跑会把新错误原样灌进去而无声通过 |
| 校验 | 重跑后核对:已生成 N 块 与 _chunks_report.txt 的块数分布;旧品牌 grep = 0 |
4. 代码与前端表面(只出方案,本轮不动代码)
| ID | 文件 | 数量 | 改什么 | 为什么必须改 | 依赖顺序 |
|---|---|---|---|---|---|
| G-01 | tools\build_knowledge_chunks.py |
1 | 🔴 新建「四查门禁」:(a) 占位符检查(XX / X{3,} / XXX-XXXX-XXXX);(b) 品牌白名单 = 南方基金 + nffund.com(不是 南方财富 + nanfangwm.com);(c) 禁止类目(银行理财 / 保险 / 票据贴现 / 供应链 / 信托受托 / 内保外贷);(d) 每块 visibility 必须显式声明(禁止缺省) |
当前文件只有 assert_no_duplicate_contents 一个守卫;Todolist B-01 与 重构报告 把它当作已实现引用,实为虚构。不补上,重跑灌库会静默通过所有错误 |
最先 |
| G-02 | app\static\portal\** |
24 | 南方财富 → 南方基金:18 个 index.html 的 <title> + 导航栏品牌名(app-shell.js:64 <strong>南方财富</strong>)+ brandmark.svg 的 aria-label + products.js / product-detail.js 的 document.title |
🔴 评审唯一会用眼睛看到的品牌面。文档改得再干净,打开页面还是「南方财富」= 前功尽弃 | 与 G-01 并列优先 |
| G-03 | app\service\agent\governance.py:47 |
1 | 常量 15936583816 → 400-889-8899,且脱敏逻辑改为「放行热线常量」而非「放行手机号形态」 |
只改常量会让脱敏白名单变死规则(§2.2),不报错、不告警 | G-01 后 |
| G-04 | portal\employee-operations\promotion\promotion.js:29 |
3 | 南方基金管理有限公司 → 南方基金管理股份有限公司;另 2 处测试内联值 |
与 CS-015 §1 全称冲突 | 可并行 |
| G-05 | risk_analysis_service.py:27、risk_agent.py:1/192/364、employee-risk\dashboard\index.html:80/139、risk_scan_scheduler.py:173 |
5 | 南方财富风控智能助手 → 南方基金风控助手 |
风控 Agent 自我标识,会在界面/日志里被看到 | 与 G-02 同批 |
| G-06 | tests\unit\service\test_knowledge_keyword_recall.py:23-24 |
1 | 断言写死 PRODUCT_TITLE = "南方科技有限公司 个人理财产品手册 · …" → 改成新标题链 |
灌库后标题链变化 ⇒ 测试必然失败 | 必须与灌库同批 |
| G-07 | app\service\knowledge_search_service.py:280 |
1 | 注释中的 南方科技有限公司 个人理财产品手册 → 新标题 |
仅注释,但属品牌残留 | 可并行 |
| G-08 | tools\build_knowledge_chunks.py(同 G-01) |
1 | 🔴 三档落地:SOURCES 的 visibility 由「每源一个值」改为「按块判定」(如按章节/按是否含数值型产品要素);FAQ 分支取消第 287 行的硬编码 "public",改为从源文件的档位列读取 |
本次新发现:SOURCES 5 个条目 + FAQ 分支全部 visibility: "public"(脚本第 25/33/38/45/51/287 行)⇒ CS-015 §5 的三档规则在工程上完全没落地。这也解释了长期记忆里的「三档已接通无法证伪」——不是难证伪,是根本没实现 |
与 G-01 同批 |
| G-09 | 同上 + PORT- 报告段 |
2 | (a) allow_chapters: ["一、", "二、"] 使高净值规范只入前两章,需确认是有意为之并写入方案(若第三章改写后需入库,须放开);(b) 报告脚本第 319—322 行仍统计 POL-AML(反洗钱手册块),但该文件已不在 SOURCES ⇒ 死代码,应删 |
本次新发现:避免改写后出现「改了的没入库、入库的没改」错配 | 与 G-01 同批 |
4.0 ✅ 2026-09-18 状态更新(T1 落地回写)
本节上表的
G-01/G-08/G-09三项均已落地,以下为可举证口径,证据文件:group_fqcd_jr\docs\evidence\20260918-t1-rebuild.json。
| 项 | 落地事实 |
|---|---|
G-08(三档落地) |
tools\build_knowledge_chunks.py 已改为按块判定档位:新增 FAQ_REGISTERED_QIDS(10 条:FAQ-0017/0020/0021/0027/0028/0029/0030/0033/0047/0053),FAQ 分支取消硬编码 "public";product\高净值客户服务规范.md 整篇由 public 改 registered。两道硬守卫:FAQ 条数 ≠ 64 或 registered ≠ 10 即 SystemExit(防止再次静默退化) |
| 切片件重生 | knowledge\_chunks.jsonl 由 2026-09-16 陈旧件(617 行、含 南方科技 441 处)重新生成为 628 块(faq 149 / policy 288 / product 191);visibility = public 603 / registered 25;南方科技 0 处、奶龙 0 处 |
| 集合重建 | 三集合已按 H-05 ④ 收敛后的唯一权威 schema(tools\setup_milvus_knowledge_collections.py)drop + 重建 + 重灌;visibility 为分区键(num_partitions = 16)、全字段 NOT NULL |
| 分区键实测修正 | 🔴 「档位值变更 = 建分区」的说法作废——Milvus v2.5.3 在 partition key 模式下禁止手工 create_partition(disable create partition if partition key mode is used),改为「无需动作,引擎按哈希自动路由」;已回写 D2.4 / D3.1 / D3.2 三份文档 |
| 门禁 | pytest 7 failed / 1441 passed / 2 skipped,与 T0 基线逐项相同;ruff 22 / mypy 3 / 文档与 schema 审计 0 —— 相对基线 0 回归 |
✅ 2026-09-18 第二轮已补做:family_id / param_class / intent 已补入切片件并重建重灌(18 字段),D2.4 附录F 的「同族合并 / 计算型参数位 / 意图标签」三条能力自此有数据支撑;另含会签批准的 tiers 档位改造(登录客户可见 registered),逐项见 D1.6 §4.9 与 docs\evidence\20260918-t1b-tiers-and-fields.json。
✅ 2026-09-19 第三轮(语料一致性修订 · 最小改动):单只产品 1.6 南方红利价值股票的赎回费行原为 持有<7 天:1.5%;7—365 天:0.50%;…(7—30 天档 = 0.50%),与 §6.1 总表股票列(7—30 天 = 0.75%)不一致,已补齐为 7—30 天:0.75%;30—365 天:0.50%;两处源文同改(repo 侧 knowledge\product\个人理财产品手册.md:247 + 文档体系 D6.2.1 :249)。产品 1.5(QDII)同形行明确保留(其 7—365 天:0.50% 与总表 QDII 列数值等价)。修订后重建切片 + 重灌集合:块数仍 628(faq 149 / policy 288 / product 191)、档位仍 public 603 / registered 25,变化仅 2 块(PROD-006 / PROD-006-16);Milvus 自检 7/7。证据 docs\evidence\20260919-t3m-h02d1d2-corpus-fix.json。
🔴 但发现一个改变计划前提的事实:客服 Agent 未在 AgentFactory 注册(agent_type=customer_service 实测返回 404 AGENT_TYPE_NOT_FOUND),客服业务层已于 2026-09-16 整体清除 ⇒ D2.1 的 T2/T3 中「改造 implementations/customer_service.py」类任务实际是「从零重建」,详见 D1.6 §4.9。
4.1 推荐顺序
G-01 + G-08 + G-09 ← 门禁与档位先立(同一文件,一次改完)
↓
G-02 + G-05 + G-07 ← 品牌面(评审肉眼可见)
↓
源文件改写 §3.1—§3.14 ← 内容
↓
G-06 + 重跑灌库 ← 同批,否则测试红
↓
G-03 + G-04 ← 可穿插,不阻塞主链
⚠️ G-01 与 G-02 是两条必经之路:G-01 决定「新语料能不能被正确灌进去」,G-02 决定「评审看到什么」。
5. 影响范围与依赖
5.1 串行约束
| ID | 约束 | 违反后果 |
|---|---|---|
| S-1 | 先改源文件,再灌库 | 灌库会把手改的结果覆盖 |
| S-2 | 先做 G-01 门禁,再灌库 | 错误语料静默通过(无任何告警) |
| S-3 | G-06 与灌库同批 | 关键字召回测试必然失败,误判为「改坏了」 |
| S-4 | 先改 D6.1.1-南方基金-企业信息.md(§3.5),再改下游三处(高频问答对 / knowledge\company\企业信息.md / D6.1.4-公司新人指南.md) |
下游抄到的仍是错的 |
| S-5 | D6.4.3-用户信息数据示例.md 与 D6.5.2-客户B-普通投资者.md 同批改 |
同一段对话出现两套口径 |
| S-6 | 开发文档\ 侧与 knowledge\ 侧同批改 |
改了母本但入库的是旧副本 |
| S-7 | 灌库要求 Worker 停机 | 灌库期间被写入不一致 |
5.2 改写完成后的验收清单
| # | 检查项 | 通过标准 |
|---|---|---|
| 1 | 品牌三查 | 全仓 grep:XX科技 / 南方科技 / 南方财富 / nanfangwm.com / 400-XXX-XXXX / 400-826-9518 / 智能财富管家 = 0(_docbuilder.py 的替换规则表与文档内「禁止清单」除外) |
| 2 | 身份四禁 | grep:代销 / 保险经纪 / 票据贴现 / 供应链金融 / 存款 / 网点 在知识源中只出现在边界声明或禁止清单里,不出现于业务叙述 |
| 3 | 热线一致 | app/ tests/ tools/ knowledge/ 内 15936583816 = 0;热线处处为 400-889-8899 |
| 4 | 占位符 | 知识源内 XX / X{3,} 形态的品牌与数据占位 = 0(身份证/手机号的脱敏掩码允许保留) |
| 5 | 数据量级 | AUM / 产品数 / 员工数落在 CS-015 §4.2 B 类同一量级,且标注截止日 |
| 6 | 档位 | 每条入库内容可判定 public / registered;概念解释、交易时限、C—R 匹配规则仍为 public |
| 7 | 流程图闭环 | 申购(T+1 确认)/ 赎回(T+N 到账)/ 专户(面签+冷静期)/ 投诉(受理→分级→处置→反馈→回访→归档)四流程齐全 |
| 8 | 页面品牌 | 打开任一 portal 页面,<title>、导航栏、favicon 均为南方基金 |
| 9 | 交叉一致 | D6.1.4-公司新人指南.md §1.2/§2.1 与 D6.1.1-南方基金-企业信息.md §4/§8 逐条一致 |
| 10 | 灌库 | _chunks_report.txt 块数合理;旧品牌 grep = 0;G-06 测试绿 |
5.3 需要校正的既有基线数字与交叉引用
| 项 | 位置 | 现状 | 处置 |
|---|---|---|---|
| 热线定值 | 开发文档\D3.4-客服Agent重构Todolist.md:178 |
400-826-9518 |
⚠️ 底稿定值表仍是旧值;G-01 实现门禁时不可照抄底稿,须用 CS-015 §6.3 的 400-889-8899 |
| 域名与邮箱 | 同上 :180 |
nanfangwm.com、complaint@nanfangwm.com |
同上 |
| 品牌白名单定义 | 开发文档\D4.1-客服Agent重构报告-2026-09-16.md:209 |
南方财富 + 南方基金 + nanfangwm.com |
🔴 白名单含 南方财富 ⇒ 若照抄,G-01 会放行 南方财富,与目标完全相反 |
| 旧值基线 | 报告:180 「语料 308 块自称南方科技、66 块含 400-XXX-XXXX」 |
✅ 与本次实测吻合(_chunks.jsonl 314 行命中) |
可作改写前后对照基线 |
| 测试内联值 | test_knowledge_keyword_recall.py:23-24 |
写死旧标题链 | 见 G-06 |
| 版本号 | SOURCES 各文件的 version / effective_date |
V2.8 / V2.1 / V3.0 / V3.2 |
内容大改 ⇒ 须递增版本号并填 effective_date,否则用户拿到的仍是「旧版」标注 |
✅ 已复核:
客服agent\侧品牌是干净的 —— 旧值只出现在两处合法位置:_build\_docbuilder.py的替换规则表(第 84—92 行),以及四份交付文档里的**「旧值一律不得出现」禁止清单**(需求文档:756、知识库设计方案:487、_body_requirements:410/579)。不需要再改。
5.4 为什么「不入库」的文件也必须改
用户研判规则\*、D6.4.3-用户信息数据示例.md、用户测试数据\* 不进面向客户的 RAG,但仍必须改,三条理由:
- 演示会投屏 —— 客户 B 的对话记录是演示脚本的一部分,「我们代销的 XX 银行 R2 级稳享系列」会被现场看到;
- 它们是研判规则的数据依据 —— 规则文档若以「银行理财」为样本,后续开发(画像标签、推荐策略)会照抄错误的产品分类;
- 口径一致性 —— 同一段对话同时存在于
D6.4.3-用户信息数据示例.md(C)与D6.5.2-客户B-普通投资者.md,只改一份会让两份文件互相矛盾。
5.5 清单外残余(需后续处置)
| 位置 | 内容 | 建议 |
|---|---|---|
开发文档\D7.4-开发引导.md |
标题「智能财富管家系统 — 开发实施引导」+「《XX科技·智能财富管家系统 — 项目开发需求文档》v1.0」 | 属早期系统文档(文档规整方案 D-2 待决);本轮不改,但须在 D-2 处置时一并处理 |
开发文档\D3.4-客服Agent重构Todolist.md / 重构报告-2026-09-16.md |
底稿中的旧值定值表与白名单定义 | 见 §5.3 —— 不是改底稿,而是 G-01 实现时以 CS-015 §6.3 为准 |
group_fqcd_jr\docs\** |
8 份含旧品牌的历史记载 | 已是既定边界(CS-015 §7.3):由 F-05 回写 |
6. 本次不做(边界声明)
| 不做 | 原因 |
|---|---|
| 编写、修改、提交任何代码 | 用户 2026-09-17 明确指令 |
改 app\static\portal\**、app\service\**、tests\** |
同上 ⇒ 仅出方案(§4) |
改写 group_fqcd_jr\docs\** |
历史记载,文档规整方案 §6.3 已定「由 F-05 回写」 |
| 重跑灌库 / 重建向量 | 需先完成 G-01 + G-08 + 语料改写,且要求 Worker 停机(S-2 / S-7) |
手工编辑 _chunks.jsonl |
派生件(§3.15) |
删除 advisor_* 21 张表 / 15 个 alembic 迁移 |
AGENTS.md 规则 3 禁删表 |
改动 fin_product.fund_manager = '南方基金' |
✅ 该口径本来就对,是本次的立足点(CS-015 §0.2 问题三) |
| 改动 C1—R 映射(CS-015 §4.4) | 已裁决,本次只做对齐不做变更 |
处置 D6.3.3-反洗钱合规操作手册.md |
SOURCES 注释明确其不入库,业务不涉及转账划付 |
7. 建议执行顺序
| 阶段 | 内容 | 前置 | 产出 |
|---|---|---|---|
| P0 | 确认本文与 CS-015 v1.1 | — | 用户签字 |
| P1 | G-01 + G-08 + G-09(同一文件一次改完) | P0 | 门禁可运行;档位可落地 |
| P2 | 改写 D6.1.1-南方基金-企业信息.md(§3.5) |
P1 | 母本 |
| P3 | 下游三处对齐(§3.6 / §3.10 / §3.4) | P2 | S-4 解除 |
| P4 | 公司业务三份(§3.1 / §3.2 / §3.3)+ knowledge\ 对应副本 |
P2 | 内容层完成 |
| P5 | 政策 / 研判 / 测试数据(§3.7—§3.9 / §3.14) | P4 | 全量完成 |
| P6 | G-02 + G-05 + G-07(品牌面) | 可与 P4 并行 | 肉眼可见品牌正确 |
| P7 | G-06 + 重跑灌库 + 验收 §5.2 | P5 + P1 | 语料入库 |
| P8 | G-03 + G-04 + 复核 §5.3 基线数字 | P7 | 收尾 |
8. 待用户确认项
| # | 待确认 | 选项 | 建议 |
|---|---|---|---|
| C-01 | D6.1.4-公司新人指南.md 是否入库? |
(a) 入库(属 公司信息\,规则允许)/(b) 不入库(含薪酬、考勤、晋升等内部 HR 信息) |
⚠️ 建议 (b) 不入库或只入 §1—§3 —— 现行 SOURCES 未包含它,说明它本来就不入库;本文按「手册本身的正确性」要求改写,是否入库另行决定 |
| C-02 | 高净值规范 第三章改写后是否入库? | (a) 维持只入「一、二」两章/(b) 放开第三章 | 建议 (a) —— 家族信托/传承属咨询类,客户高频问题少,且边界声明性内容入库收益低 |
| C-03 | 三档(G-08)本轮是否实现? | (a) 现在做/(b) 与 D-01/D-02/D-04 同批 | 建议 (a) —— 不做则 CS-015 §5 的档位规则无法生效,访客问答范围不可控 |
| C-04 | 数据量级取真值还是脱敏近似? | (a) 用 CS-015 §4.2 B 类真实公开口径+截止日/(b) 用同量级的虚构值 | 建议 (a) —— 公开可查,写错比写虚构更致命 |
| C-05 | 用户测试数据\D6.5.1-客户A-高净值.md、D6.5.3-访客-未注册意向客户.md 是否同批修订? |
(a) 同批(口径一致性)/(b) 后续 | ⚠️ 本文只精查了 客户B;另两份未逐行核对,建议同批以避免口径分裂 |
| C-06 | 底稿定值表(§5.3)是否回改? | (a) 只修 G-01 用到的白名单与热线,底稿保持原样(历史记载)/(b) 底稿也改 | 建议 (a) —— 底稿是「当时的事实」,改了会破坏溯源;但必须在 G-01 里显式注明以 CS-015 §6.3 为准 |
9. 取证记录
| 结论 | 取证方式(2026-09-17) |
|---|---|
| 15 份知识源清单与品牌残留量 | Grep 全量扫描 开发文档\**\*.md + group_fqcd_jr\knowledge\** |
| 各文件章节结构(本文修改点行号) | Grep "^#{1,3}\s" 逐文件取标题与行号(企业金融 39 个标题、个人理财 36、高净值 41、新人指南 41、企业信息 46、研判 46、客户B 26、政策 9) |
| 代销机构病灶精确行号 | Grep 代销|不发行|保险经纪|证券投资咨询|网点|第三方 → D6.1.2-南方基金-高频问答对.md:38/42/44/46/82/204/206/296/312 |
| 占位符与旧品牌分布 | Grep 400-XXX-XXXX|XXX|XX科技|xxtech 全量 |
| G-01「四查门禁」不存在 | 通读 tools\build_knowledge_chunks.py 全文 326 行:仅 assert_no_duplicate_contents(第 198 行)一个守卫 |
G-08 visibility 硬编码 public |
读 build_knowledge_chunks.py:23-55(SOURCES 5 条全 "visibility": "public")+ :272(取 config["visibility"])+ :287(FAQ 分支字面量 "public") |
| G-09 高净值仅入前两章 | 读 :44-49 的 allow_chapters: ["一、", "二、"];死代码见 :319-322(POL-AML 统计,而该文件已不入 SOURCES,注释见 :29-31) |
客服agent\ 侧品牌已干净 |
Grep 客服agent\** → 仅命中 _build\_docbuilder.py:84-92(替换规则表)与文档内禁止清单(需求文档:756、知识库设计方案:487、_body_requirements:410/579) |
| 底稿定值表仍为旧值 | Grep → 开发文档\D3.4-客服Agent重构Todolist.md:178(400-826-9518)、:180(nanfangwm.com);重构报告-2026-09-16.md:209(白名单含 南方财富) |
前端 24 文件用 南方财富 |
Grep -c 南方财富 app/ → 24 文件命中(CS-015 §7.2 G-02) |
10. 关联文档
| 文档 | 关系 |
|---|---|
D1.2-南方基金业务事实基座与虚构数据规范-2026-09-17.md(CS-CONTENT-2026-015 v1.1) |
上游:本文「改成什么」的唯一口径来源 |
D1.3-文档规整方案与开发前待决事项-2026-09-17.md(CS-DOC-2026-014) |
D-1~D-5 决策台账;D-5 = 本文的直接来源 |
客服agent\D2.4-客服Agent知识库设计方案.html v1.2 |
三集合三档的工程承载(G-08 对齐目标) |
客服agent\D2.2-客服Agent需求文档.html v2.4 |
§1.10 MVP 必守项;品牌口径出处 |
客服agent\D2.1-客服Agent执行Todolist.md v5.2 |
批次 B(B-01~B-05)是本次内容改写的工程承载 |
D4.1-客服Agent重构报告-2026-09-16.md(CS-010) |
⚠️ §209 的 B-01 白名单定义含 南方财富,须以本文 §4 G-01 为准 |