4. 金融RAG的失败模式总览

在金融场景中,RAG系统并非“接上向量库就能用”。一份研报问答、一条合规审查、一次投顾回复,背后是检索、融合、生成、数据供给与工程成本五条链路同时工作。任何一条链路失效,都会以“答非所问”“引用错年份”“编造财务指标”等形式暴露在用户面前。本节建立一套可复用的失败模式分类体系,帮助你在可观测性建设中快速定位问题归属。

核心原理:五类失败模式的成因与边界

金融RAG的失败模式可归纳为五类:检索失败、生成失败、融合失败、数据漂移、延迟与成本超支。它们并非孤立,而是沿数据流形成因果链。

  • 检索失败:召回内容与问题不相关、遗漏关键文档,或排序把噪声顶到前列。金融语料中大量表格、脚注、PDF跨页内容,切分不当会直接破坏语义单元。
  • 生成失败:检索结果正确,但模型输出幻觉、数值篡改、口径混淆(如把“归母净利润”写成“净利润”),或违反合规话术约束。
  • 融合失败:多路召回(向量、关键词、图谱)结果冲突时,融合策略未能正确加权或去重,导致上下文自相矛盾。
  • 数据漂移:财报更新、公告发布、监管规则调整后,索引未同步,模型仍基于过期数据作答。
  • 延迟与成本超支:重排序模型过大、上下文窗口过长、多轮Agent循环,导致P99延迟飙升或成本失控。

关键判断原则:先看“检索到的上下文是否正确”,再看“生成是否忠于上下文”。若上下文正确而输出错误,归为生成失败;若上下文本身错误,则向上游追溯检索或数据漂移。

方法流程:失败模式诊断的四步定位法

  1. 采集链路埋点:记录query、召回文档ID与分数、重排序分数、最终上下文、模型输出、消耗、各阶段耗时。
  2. 分层断言:对检索层检查Recall@K与MRR;对生成层检查引用一致性(是否每个数字都能在上下文中找到出处);对融合层检查多路结果冲突率。
  3. 归因分类:将失败样本映射到五类标签,统计分布,识别主要矛盾。
  4. 闭环修复:针对高频失败类型调整切分策略、重排序模型、提示词约束或索引刷新机制。
# 诊断日志示例:一次金融问答的链路追踪
trace_id: fin-qa-20240612-0087
query: "2023年宁德时代归母净利润同比增速"
retrieval:
  - doc_id: annual_report_2023_p45  score: 0.82  source: vector
  - doc_id: news_20240115_earnings  score: 0.79  source: bm25
rerank_top1: annual_report_2023_p45
context_contains_answer: true
generation:
  output: "同比增长43.58%"
  citation_match: true
latency_ms: {retrieval: 120, rerank: 380, generation: 2100}
_cost: {prompt: 3200, completion: 45}
verdict: PASS

案例场景:一次“数字正确但口径错误”的复盘

某券商投研助手被问及“某银行2023年不良贷款率”。检索层召回了年报第32页,上下文同时包含“不良贷款率1.25%”和“拨备覆盖率245%”。生成层输出“不良贷款率为245%”,数字确实出现在上下文中,但口径张冠李戴。该案例表面是生成失败,根因却是上下文组织缺乏字段标签,属于融合失败与生成失败的叠加。修复方式是在上下文注入时保留表格表头与指标名称,并在提示词中强制“指标名与数值必须成对引用”。

金融RAG的失败往往不是单点,而是“检索召回正确文档 + 融合丢失结构 + 生成错误绑定”的链式反应。诊断时要沿链路逐段验证,而非只盯最终输出。

误区与复盘:常见认知偏差

  • 误区一:把一切错误归为“模型不行”。 实际上大量金融问答失败源于PDF切分破坏表格结构,检索阶段就已丢失关键信息。
  • 误区二:只看平均延迟,忽视P99。 金融用户对响应敏感,长尾延迟往往由个别超长上下文或重排序触发。
  • 误区三:索引一次构建长期使用。 财报季、监管新规发布后,数据漂移会迅速累积,必须建立增量刷新与版本校验。
  • 误区四:用通用评测集衡量金融RAG。 金融需要领域评测集,覆盖数值精度、口径一致性、时效性与合规话术。

下表给出五类失败模式的对照清单,可作为可观测性看板的设计依据。

失败类型典型表现关键观测指标优先修复方向
检索失败召回无关文档、遗漏关键财报页Recall@K、MRR、命中率切分策略、嵌入模型、混合检索
生成失败幻觉、数值篡改、口径混淆引用一致率、事实准确率提示词约束、引用校验、解码策略
融合失败多路结果冲突、上下文自相矛盾冲突率、去重率、加权命中率融合权重、结构保留、冲突消解
数据漂移引用过期财报、旧监管规则索引新鲜度、版本偏差率增量刷新、时效校验、版本管理
延迟与成本超支P99飙升、费用失控P99延迟、/请求、缓存命中率模型分级、上下文压缩、缓存与限流
金融RAG失败模式沿数据流的分布 用户Query 最终回答 检索召回 融合重排 上下文组织 生成输出 检索失败 召回无关/遗漏 切分破坏表格 融合失败 多路冲突 权重失衡 生成失败 幻觉/数值篡改 口径混淆 数据漂移 索引过期 规则变更 延迟与成本超支(贯穿全链路) 重排序过大 · 上下文过长 · Agent多轮循环 · 缓存缺失 过期数据污染检索与融合

建立分类体系的目的不是贴标签,而是让每一次失败都能被归因、被度量、被修复。建议在可观测性平台中为五类失败分别设置告警阈值,并将失败样本自动归档,形成持续迭代的金融RAG质量闭环。