跳到主要内容

FinanceBench:为什么基于向量存储的 RAG 在真实财务文档上表现不佳

· 阅读需 6 分钟
Mike Thrift
Mike Thrift
Marketing Manager

FinanceBench 的出现正值各大企业级 AI 厂商竞相宣称其系统能够“根据您的财务文档回答问题”之际。这篇来自 Patronus AI 的论文利用真实的 SEC 备案文件和精心策划的开卷问题,对这些说法进行了严峻的测试。对于任何正在构建财务 AI 的人来说,结果都令人不安。

论文概览

2026-05-12-financebench-open-book-financial-qa-benchmark

Islam 等人推出了 FinanceBench:一种新型财务问答基准测试 (arXiv:2311.11944),这是一个包含 10,231 个关于上市公司的测试套件,问题源自真实的 SEC 备案文件——包括 10-K 年度报告、10-Q 季度报告、8-K 现况报告和业绩说明会转录。与早期的财务问答数据集(如 FinQA、TAT-QA)不同,后者提供的是预先提取的表格和段落,而 FinanceBench 要求系统在回答之前必须从完整文档中检索证据。这才是真实的场景。这些问题被设计成在事实上毫无歧义,正如作者所言,这是“最低性能标准”。

团队评估了涵盖 GPT-4-Turbo、Llama2 和 Claude2 的 16 种配置,涉及四种检索策略:闭卷(无检索)、共享向量存储、单文档向量存储,以及输入整个相关页面的长上下文提示。人工标注员手动审查了 150 个开源案例中的全部 2,400 条回答。

核心观点

  • 检索不是瓶颈。 即使给 GPT-4-Turbo 提供金标准段落(包含答案的确切页面),准确率也只能达到 85%。长上下文提示(自动输入正确页面)的分数为 79%。完美的检索只能带来 6 个百分点的提升。
  • 向量存储 RAG 才是真正的难题。 使用单文档向量存储的 GPT-4-Turbo:50% 正确,39% 拒绝回答。在跨公司的共享向量存储下:19% 正确,68% 拒绝回答。那条“81% 的失败率”的新闻头条就出自这种共享存储配置——而这正是大多数企业演示中实际使用的配置。
  • 模型的失败方式各异。 Llama2 产生严重幻觉(54–70% 错误);GPT-4-Turbo 则倾向于拒绝回答(39–68% 的拒绝而非错误回答)。在生产环境中,这两种失败模式都是不可接受的,但它们所代表的风险并不等同。
  • 66% 的问题需要数值推理。 增长率、利润率、同比差异。这是模型最容易出错的地方——计算错误、单位混淆、正负号错误。
  • 长上下文几乎能解决问题。 Claude2 长上下文:76% 正确。GPT-4-Turbo 长上下文:79%。这是目前最实用的数据,通过跳过检索并直接输入整个相关页面来实现。
  • 即使有金标准也会出错。 在拥有完美证据的情况下,上限是 85% 而非 100%。15% 的失败纯粹是推理失败,与检索组件无关。

哪些结论成立,哪些存疑

该基准测试的设计是合理的。坚持使用真实文档而非预先提取的片段是正确的方法论选择——它测试了部署中真正重要的能力。对 2,400 条回复的人工评估虽然成本高昂,但极具可信度。

我发现不太有说服力的是根据 n=150 的样本得出排名。在这样的样本量下,Claude2 长上下文 (76%) 和 GPT-4-Turbo 长上下文 (79%) 之间的差异在统计上没有意义,但论文将其呈现为一种排名。完整的 10,231 个问题的基准测试虽然存在,但并未公开评分,这限制了独立复现的可能性。

金标准的结果也是最重要却最缺乏分析的发现。如果模型在手握正确页面的情况下仍有 15% 的失败率,那么问题在于推理和算术,而非检索。论文将计算器工具和思维链 (Chain-of-Thought) 标记为未来的研究方向——这些实验本应成为本文的核心,而非脚注。

该基准测试还承认其目标是“最低性能”:包含明确答案的单文档问题。跨文档推理、多年趋势分析和公司间对比均被排除在外。引用 79% 长上下文准确率的论文很少会提到这一限制条件。

为什么这对财务 AI 至关重要

Beancount 的回写 (write-back) 使用场景几乎可以直接映射到 FinanceBench 的失败模式。一个检索交易条目并检查金额是否与银行对账单相符的智能体,正在执行与该基准测试相同的“检索后计算”任务。金标准上限(即使有完美上下文也只有 85%)是相关的设计约束:即使智能体找到了正确的分类账条目,仍有很大可能性会算错对比结果、混淆正负号或读错单位。

Llama2 与 GPT-4 的失败差异对于智能体架构至关重要。拒绝回答是可以补救的(路由到人工审核);而提交到分类账的幻觉匹配则是灾难性的。这表明,与其追求自信的幻觉,不如选择保守的拒绝行为,哪怕这会降低表面上的成功率。

长上下文优势(79% 对比 50%)在账目应用中实际上令人沮丧。多年的 Beancount 文件太大,无法完整输入。在密集的数值文档上解决检索问题——而不仅仅是文本检索——仍然是一个悬而未决的难题。

延伸阅读

  • FinQA: A Dataset of Numerical Reasoning over Financial Data (Chen et al., EMNLP 2021, arXiv:2109.00122) —— FinanceBench 明确改进的前置基准测试;对于理解在需要真实文档检索之前该领域取得了哪些成果非常有用。
  • DocFinQA: A Long-Context Financial Reasoning Dataset (Reddy et al., ACL 2024) —— 扩展了 FinanceBench,增加了更难的多跳问题,要求在单个备案文件内进行跨章节推理。
  • PAL: Program-Aided Language Models (Gao et al., arXiv:2211.10435, ICML 2023) —— 将算术运算卸载给 Python 解释器,直接解决 FinanceBench 中 66% 失败于数值推理的问题。