Files
group_fqcd_jr/开发文档/D1.4-知识源与品牌整改变更说明-2026-09-17.md
张胜宇 bc61d5c579 docs: 入库权威文档目录(客服agent/ 24 份 + 开发文档/ 50 份,替换旧命名的过期副本)
## 为什么做这一步

权威文档 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...`),
  末尾带省略号,是接口文档的示意值,**不是可用凭据**。
2026-09-20 15:03:15 +08:00

607 lines
67 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
# 知识源与品牌整改变更说明
> **体系编号**:`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**,但仍必须改,三条理由:
1. **演示会投屏** —— 客户 B 的对话记录是演示脚本的一部分,「我们代销的 XX 银行 R2 级稳享系列」会被现场看到;
2. **它们是研判规则的数据依据** —— 规则文档若以「银行理财」为样本,后续开发(画像标签、推荐策略)会照抄错误的产品分类;
3. **口径一致性** —— 同一段对话同时存在于 `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 为准** |