1. 课程导入
在金融行业落地检索增强生成(RAG)系统时,团队往往先关注“答得准不准”,却容易忽略一个更致命的问题:答得对不对人。同一句提问,普通柜员、风控专员、分行行长、外部审计人员所能看到的信息边界完全不同。如果RAG系统把高敏感内容返回给了无权限用户,即使答案事实正确,也构成一次严重的数据泄露事件。本章作为全课程导入,先建立问题意识、明确学习目标,并给出贯穿30章的实战项目框架。
一、核心原理:金融RAG的三重权限断层
通用RAG的典型链路是“文档切分→向量化→相似度检索→拼接上下文→大模型生成”。这条链路默认所有文档对所有用户可见,但在金融场景中,权限断层至少出现在三个位置:
- 数据层断层:知识库中同时存在公开产品说明书、内部风控规则、客户身份信息、交易流水、投研未公开报告,敏感级别从L1到L4不等。
- 检索层断层:向量相似度只计算语义距离,不感知用户身份。一条“某客户逾期原因”的查询,可能同时召回该客户经理有权查看的记录和其他客户经理无权查看的记录。
- 生成层断层:大模型在拼接上下文时,可能把多个片段交叉推理,即使每个片段单独看都合规,组合后仍可能推断出敏感结论,形成“聚合泄露”。
因此,金融RAG的权限隔离不是简单加一个“登录校验”,而是要在检索前过滤、检索中约束、生成后审计三个环节同时设防。下图展示了用户请求进入RAG系统后,权限与敏感信息防护的关键控制点分布。
二、方法流程:从“能答”到“合规地答”
要解决上述断层,需要建立一套可落地的工程流程。本课程将贯穿以下六步方法:
- 资产盘点:梳理知识库文档来源、敏感级别、所属部门、可访问角色,形成数据资产清单。
- 标签体系设计:为每个文档块打上
sensitivity_level、department、role_scope等元数据标签。 - 检索前过滤:在向量检索请求中注入用户权限过滤条件,确保无权文档不进入候选集。
- 检索中隔离:利用向量数据库的命名空间、分区或集合隔离,实现物理或逻辑层面的数据分域。
- 生成后防护:对模型输出进行敏感信息识别、脱敏、引用溯源与水印标记。
- 审计与复盘:记录每次查询的用户、召回文档、生成结果,支持事后追溯与策略调优。
关键原则:权限过滤必须发生在检索阶段之前或之中,而不是在生成之后“打补丁”。一旦敏感片段进入大模型上下文,即使最终答案被截断,泄露风险已经产生。
三、案例/场景:一次跨部门查询引发的告警
某银行构建了面向客户经理的RAG助手,知识库包含全行产品资料、风控规则和客户交易记录。某日,一位支行客户经理提问:“帮我查一下最近三个月逾期超过30天的客户名单。”系统未做权限过滤,直接召回了全行数据,并生成了一份包含其他支行客户姓名和逾期金额的清单。虽然该客户经理只负责本支行客户,但答案中出现了大量无权查看的信息,触发了数据安全告警。
复盘发现三个问题:第一,客户交易记录未按branch_id打标签;第二,向量检索未注入部门过滤条件;第三,生成结果未做敏感字段脱敏。修复方案是在文档入库时增加branch_id和role_scope标签,检索时强制拼接过滤表达式,并在输出层对客户姓名、身份证号、金额进行掩码处理。
# 检索前过滤示例(伪代码)
filter_expr = {
"sensitivity_level": {"$lte": user.clearance},
"branch_id": {"$in": user.authorized_branches},
"role_scope": {"$contains": user.role}
}
results = vector_store.search(query_vector, top_k=8, filter=filter_expr)
四、误区/复盘:三个常见认知陷阱
| 误区 | 表现 | 正确做法 |
|---|---|---|
| “登录即权限” | 只校验用户是否登录,不区分角色和数据范围 | 建立角色-数据域映射,检索时动态注入过滤条件 |
| “生成后脱敏就够了” | 敏感片段已进入模型上下文,存在聚合推断风险 | 检索前过滤为主,生成后脱敏为辅,双层防护 |
| “向量库不支持过滤” | 放弃元数据过滤,仅靠提示词约束模型 | 选择支持元数据过滤的向量库,或采用分区/多集合隔离 |
特别提醒:提示词约束(如“请不要回答无权内容”)不能替代工程层面的权限隔离。大模型可能被诱导绕过指令,金融场景必须假设模型不可信,把控制点放在数据检索和系统架构上。
五、学习目标与课程整体框架
完成本课程后,你将能够:
- 理解金融RAG系统中权限断层与敏感信息泄露的成因;
- 设计文档级、块级、字段级的敏感标签体系;
- 在主流向量数据库中实现检索前过滤与命名空间隔离;
- 构建生成后的敏感信息识别、脱敏与审计链路;
- 完成一个可运行的金融RAG权限隔离实战项目。
课程整体分为五个模块:基础认知(第1-5章)、标签与权限模型(第6-12章)、检索隔离工程(第13-19章)、生成防护与审计(第20-25章)、实战项目与复盘(第26-30章)。
实战项目介绍:课程将围绕一个“银行客户经理RAG助手”展开,知识库包含产品文档、风控规则、客户交易记录三类数据,敏感级别从L1到L4。你将逐步实现:文档打标→权限过滤检索→命名空间隔离→输出脱敏→审计日志,最终交付一个可演示的权限隔离RAG系统。
金融RAG的价值不仅在于“答得快、答得准”,更在于“答得合规、答得安全”。从本章开始,我们将把权限隔离与敏感信息防护作为一条主线,贯穿每一个技术决策和工程实现。