FinanceComplexQA:面向工业级金融文档的智能体推理基准测试

  • 关联论文:2607.19238
  • 作者:flyP
  • 更新:2026-07-25

一句话结论

本文发布 FinanceComplexQA:一个面向"工业级金融文档"的开放式智能体推理基准,包含 2,000 份合成的专业金融文档 + 6,000 个高质量问答对(另含 2,026 个深度研究任务),并配套 Finance-LaTeX Skill(基于 LaTeX 的专家级文档合成流程)与 Agent-as-a-Judge 多指标评估器;论文用它对主流 RAG 与 Agentic Reasoning 系统做了全面评测,定位了它们在数值计算、多跳推理、归纳、行业分析四类任务上的失败模式。

解决的真问题

金融领域是 Agentic Reasoning(智能体推理)最被看好的落地方向之一,原因很简单——金融分析天然是"大规模信息整合 + 数值计算 + 多跳推理 + 行业判断"的综合体。然而现有基准普遍有三个痛点:

  1. 文档过于简化:很多 benchmark 用单页财报或结构化 CSV,根本无法覆盖真实投行报告、研报、监管文件中复杂的版式(多列、嵌套表格、公式、交叉引用、注释脚注)。
  2. 任务过于单跳:多是"这一页找一句话"级别的 QA,没法测出真正的多跳 / 跨表 / 跨文档推理。
  3. 参考答案容易"过期":金融数据的数字会随公司披露更新,旧 QA 容易失效;缺乏相对稳定、可重测的参考答案。

FinanceComplexQA 想正面解决这三件事——专家级版式 + 复杂推理 + 稳定参考答案 + 智能体裁判

核心方法

整套方法由三部分组成。

1. Finance-LaTeX Skill:基于 LaTeX 的专家级文档合成

为了保证"工业级版式",作者团队没有用通用 LLM 自由生成文档,而是显式构建了一个 Skill(一个专家级 LaTeX 模板 / 工作流)

  • 用 LaTeX 表达金融文档中常见的复杂版式——多列表格、嵌套 cell、数学公式、附注、条件格式。
  • Skill 内部封装专家领域知识(财报口径、估值表、风险披露模板、行业研究框架等),合成出来的文档更接近真实卖方研报 / 上市公司公告。
  • 在这个 Skill 之上构建一个 agent workflow:agent 用 Skill 调用 + 模板 + 工具,组合生成 2,000 份"专业级"金融文档,并由它衍生 6,000 个高质量问答对。

Skill 这一层是这篇论文区别于一般 benchmark 工作的关键:作者把"如何写一份像样的金融文档"显式建模成可被 agent 调用的 Skill,而不是依赖一次性 prompt。

2. FinanceComplexQA 基准结构

数据集规模与构成:

  • 2,000 份专业金融文档(合成但版式专业);
  • 6,000 个高质量问答对(文档级 QA);
  • 2,026 个深度研究任务(Deep Research tasks),覆盖 1,009 份文档
  • 覆盖六大主流场景 × 七类任务(⚠️ abstract 中未列出具体场景 / 任务清单,以下为解读方推测:六大场景可能包含财报分析 / 估值 / 风险 / 行业 / 投资策略 / 监管披露;七类任务可能包含数值抽取、计算、对比、归纳、多跳、表格推理、观点分析。具体清单应以 PDF 原文第 3 节为准。

3. Agent-as-a-Judge:多指标智能体裁判

为开放式生成做评测,作者构建了一个 Agent-as-a-Judge

  • 用一个具备工具调用能力的评估 agent,对候选答案在多个维度上同时打分(数值准确性、引用忠实度、推理完整性、表达清晰度等);
  • 配合"相对稳定和永久的参考答案"——意指答案在生成时通过 LaTeX Skill 锁定了真实数值与推理路径,不会随外部数据漂移;
  • 双语(中/英)支持,覆盖中文与英文金融文档场景。

伪代码大致为:

qa_pair = Skill.synthesize(doc=latex_doc, mode="complex")
ref     = Skill.ground_truth(qa_pair)        # 锁定参考答案
agent_ans = candidate_agent.run(doc, qa_pair)

scores = JudgeAgent.evaluate(
    agent_ans, ref, doc,
    metrics=["numeric", "faithfulness", "reasoning", "clarity"]
)

关键实验与数据

论文用 FinanceComplexQA 做了 主流 RAG 系统 + 主流 Agentic Reasoning 工具的全面评测。能力维度聚焦四类:

  1. 数值计算:从表格 / 附注中抽取数据并做加减乘除、年化、同比 / 环比等运算;
  2. 多跳推理:跨表 / 跨文档 / 跨页脚注,串联多个事实得出结论;
  3. 内容归纳:把多份片段压缩成投资观点或风险提示;
  4. 行业分析:在行业层面做横向对比、趋势判断、政策影响。

主要发现(按 abstract 表述)

  • 不同 Agent 在"复杂真实问题"上性能差异显著——不是"大家都差不多",而是真有梯队。
  • Agentic Reasoning 整体上比传统 RAG 更强,但在"精确数值计算"上仍有明显错误,反映出 LLM 在金融场景下"数字稳健性"不足。
  • 多跳推理上,Agent 的工具使用 / 检索链越长,越容易在中间环节漂移。
  • Agent-as-a-Judge 相比字符串匹配或单一指标,能更准确捕捉到"答案看似合理但其实算错"或"答案算对但漏掉了限定条件"这类失败模式。

⚠️ 事实核查注记:abstract 未给出任何具体性能数字或系统排名。解读中"性能差异显著"、"比传统 RAG 更强"均来自 abstract 定性描述,无量化数据支撑。"具体哪些 RAG / Agent 表现最好、分数差多少",以 PDF 原文第 5 节表格为准。

亮点与局限

亮点

  • Skill-first 的合成思路:用 LaTeX Skill 把"工业级版式"显式建模,避免了 LLM 自由生成文档时常见的版式粗糙问题。
  • 2,000 份 + 6,000 + 2,026 任务的复合规模:覆盖文档级 QA + 深度研究两类任务。
  • 稳定参考答案 + Agent-as-a-Judge:解决了金融 QA 的"答案漂移"和"开放式答案难评"两个老大难。
  • 失败模式分析的价值:不只给分数,还具体拆解四类典型失败,对工程团队调优 Agent 非常实用。

局限

  • 合成数据 vs 真实分布:2,000 份文档由 LaTeX Skill 合成,再真实也是合成,与真实市场研报 / 监管文件的"语气、模糊度、合规措辞"仍有差距。
  • Agent-as-a-Judge 的偏差风险:用 LLM 当裁判本身有偏,与人类评估的一致性(Cohen's κ 等)原文未明确给出
  • 多跳推理的"链长上限":复杂推理链超过 5~6 跳后,金融 Agent 是否仍稳定,本基准可能尚未充分覆盖。
  • 覆盖场景:六大场景的清单 / 七类任务的清单在 abstract 中未给出,原文未明确列出,解读方做了合理推测,需以 PDF 原文为准。
  • 任务是否随时间真正"永久稳定":金融模板和估值方法会演化,Skill 的可维护性是一个长期问题。

对工程落地的启发

  1. 把"领域知识"显式建模成 Skill:金融、法律、医疗这种"版式 + 表达"重的领域,把专家知识做成可调用的 Skill,比纯靠 prompt 工程靠谱得多。
  2. LaTeX / 模板驱动 + Agent 调用是一个被低估的范式:模板保证结构与质量边界,Agent 保证灵活性。
  3. 金融 Agent 的"数值稳健性"是核心短板:就算逻辑写得通,数字算错就废了——后续应该在工具链里强制把计算 offload 给 Python / 代码解释器,而不是让 LLM 内部算。
  4. 多跳推理链要做"中间结果校验":金融多跳推理的关键不是答案生成,而是中间环节的可验证性。
  5. Agent-as-a-Judge 可以引入但需做偏差评估:建议同时跑一次小规模人类评估,校准 judge 的偏差。

与同方向工作的关系

  • DocVQA、ChartQA、InfographicsVQA:通用文档理解基准,版式远没这么复杂。
  • TAT-QA、FinQA、ConvFinQA:金融数值 / 对话 QA 主流基准,本文与之形成"难度阶梯"——本文更接近真实投行场景。
  • FinGPT / BloombergGPT:金融 LLM 训练视角,本文与之互补——本文是评测视角,关心的是系统级表现而非模型微调。
  • OpenAI Deep Research、Anthropic Computer Use、Gemini Deep Research:通用 Agentic Reasoning 系统,本文把它们作为被评测对象。
  • 金融 RAG(FinReportRAG 等):传统检索增强方案,本文的对比对象。

适合谁读

  • 做金融 AI、智能投顾、研报自动化的研究 / 工程师团队。
  • 想为自家 Agent 找一个"贴近真实金融场景"压力测试的负责人。
  • 做 Agentic Reasoning 评测方法(Agent-as-a-Judge)方向的人。
  • 在合成数据 + Skill 工程上有兴趣的研究者。

工程落地与核查(Jay)

事实核查摘要

核查项 状态 说明
2,000 份文档 + 6,000 QA + 2,026 深度任务规模 ✅ 原文一致 abstract 明确给出
LaTeX Skill 合成文档方案 ✅ 方法合理 Skill = 模板 + agent workflow,方法学上可复现
Agent-as-a-Judge 多指标评测 ✅ 合理推断 方法有别于传统字符串匹配,与 Auto-J 等对齐评估研究一致
六大场景 / 七类任务清单 ⚠️ 原文未明确 abstract 无具体清单,解读方做了合理推测,需以 PDF 原文第 3 节为准
具体系统性能排名 ⚠️ 原文未给出 abstract 只做定性描述("差异显著"),无量化数字
Agent-as-a-Judge 与人类一致性(Cohen's κ) ⚠️ 原文未明确 需查阅 PDF 原文第 5 节
双语支持(中/英) ✅ 原文一致 abstract 明确提到

实际系统怎么用

FinanceComplexQA 的工程价值主要在两个方向:

方向一:作为内部评测基准(直接参考)

论文的 Skill-first 合成范式可以被工程团队直接借鉴——把自家金融场景的文档格式做成可配置的 LaTeX Skill,生成一批内部测试文档,用于持续追踪 Agent 质量:

Finance-Skill(内部版)
  ├── 财报 Skill:三大表、附注、MD&A 模板
  ├── 研报 Skill:行业分析框架、估值模型模板
  ├── 监管 Skill:监管文件格式规范
  └── 合规 Skill:信息披露规范模板

这套 Skill 的核心价值是版式可配置 + 数值可注入,可以针对自家产品的垂类场景定制,不依赖外部数据的时效性。

方向二:构建 Agent-as-a-Judge 评测流水线

Judge Agent 的核心思路(多维度打分 + 工具调用的评估者)可以直接迁移到金融 Agent 的 CI/CD 流程:

from finance_judge import JudgeAgent

judge = JudgeAgent(model="gpt-4o", metrics=["numeric", "faithfulness", "reasoning"])
result = judge.evaluate(
    agent_output=agent_answer,
    reference=ground_truth,
    document=source_latex_doc,
)
# result.scores: {"numeric": 0.85, "faithfulness": 0.92, "reasoning": 0.78}
# result.flags: ["漏掉脚注注#3的风险披露"]

关键前提:需要先在内部小规模人工评测上建立 judge 的偏差基线(见下节坑位)。

工程坑位一览

  1. Agent-as-a-Judge 的系统性偏差:Judge agent 在"数值计算"和"忠实度"两个维度上评估能力取决于底层 LLM 的工具调用能力与数学稳健性。如果 judge 本身也算错数字,整个评测结果就失去了意义。建议每个月用一批已知答案的人工标注样本来校准 judge 的准确率。

  2. LaTeX Skill 的维护成本被低估:Skill 依赖的模板和领域知识需要持续更新——如果金融监管口径或估值方法变了(比如 IFRS 新准则),Skill 需要同步更新,否则合成的"参考答案"本身就会过时。

  3. 深度研究任务(2,026 个)的评测成本极高:每个 Deep Research 任务需要跑完整的 Agent 推理链路 + Judge 评估,成本是普通 QA 的 10-50 倍。如果每日要跑全量评测,需要评估基础设施投入是否值得。

  4. 合成数据与真实金融文档仍有分布差距:即使 LaTeX Skill 能复现版式,金融文档中的模糊性(如"管理层认为"、"预计"等软性措辞)、非结构化附注、跨机构勾稽关系,在合成数据中覆盖不足。不能把 FinanceComplexQA 的分数直接等同于真实场景表现。

  5. 六大场景 / 七类任务清单缺失:abstract 未给出,解读方做了合理推测但不能当作事实直接引用。若工程团队要针对特定场景(如"财报分析 × 数值计算")做专项优化,需要从 PDF 原文中找到完整清单再做计划。

  6. Cohen's κ 等一致性指标未披露:这是 Agent-as-a-Judge 最核心的可信度指标。如果未给出,说明 judge 的可靠性本身还未经过严格验证,工程团队在使用前应自行做一次小规模人工评测对比。

最小可跑验证路径

# 1. 确认论文是否开源(截稿时未标注)
open https://arxiv.org/abs/2607.19238

# 2. 若开源,克隆
git clone https://github.com/xxx/finance-complex-qa  # 待确认仓库地址
cd finance-complex-qa && pip install -e .

# 3. 准备金融 LaTeX Skill 环境(需 LaTeX 发行版)
apt-get install texlive-full  # 约 5GB,首次安装耗时较长
python -m finance_complex_qa.list_skills  # 列出可用场景模板

# 4. 生成内部测试文档
python -m finance_complex_qa.generate \
  --skill财报 --num-docs 50 --output ./test_docs

# 5. 运行 Judge Agent 评测示例
python -m finance_complex_qa.judge \
  --doc ./test_docs/sample_001.tex \
  --agent-answer "答案文本" \
  --ref "参考答案" \
  --metrics numeric faithfulness reasoning

# 6. 建立 judge 偏差基线(关键!)
python -m finance_complex_qa.calibrate \
  --gold-set ./human_annotated_100.json \
  --judge-model gpt-4o
# 输出 Cohen's κ 及各维度偏差报告

⚠️ 警告:若论文未开源 LaTeX Skill 工程代码,以上路径仅作参考。FinanceComplexQA 的核心价值是 benchmark 设计理念,Skill 工程需工程团队自行建设,预计工作量 3-6 人月。