FinMCP-Bench 精读:当 MCP 遇上金融场景,模型的工具调用能力有多弱
阿里云通义点金团队联合盈米基金提出的金融 MCP 工具调用基准。613 个样本、65 个真实金融工具、10 大场景——最强模型的精确匹配率仅 25.92%,多轮对话几乎全军覆没。
一句话总结
阿里云点金团队从真实基金销售 APP 的 10,000 条用户交互日志出发,构建了一个评测 LLM 在金融场景下通过 MCP 协议调用工具能力的 benchmark。65 个真实工具、10 个场景、613 个样本。结论:最强模型(Qwen3-235B)的精确匹配率只有 25.92%,多轮对话场景下所有模型的 EMR 都接近于零。
论文信息
- 标题:FinMCP-Bench: Benchmarking LLM Agents for Real-World Financial Tool Use under the Model Context Protocol
- 作者:Jie Zhu, Yimin Tian 等(阿里云通义点金 + 盈米基金 + 苏州大学)
- arXiv:2603.24943
- 数据集:ModelScope
- 代码:github.com/aliyun/qwen-dianjin
为什么值得读
三个理由:
-
MCP 是 2026 年 Agent 生态的关键协议,但目前几乎没有 benchmark 评测模型在 MCP 协议下的工具调用能力。FinMCP-Bench 是第一个垂直领域的 MCP benchmark。
-
数据来自真实生产环境。不是合成场景,而是盈米基金旗下”且慢 APP”的真实用户查询和工具调用日志。这意味着任务分布反映了真实用户需求,不是研究者的想象。
-
暴露了一个被低估的能力缺陷。当前讨论 Agent 能力时,关注点通常在”模型能不能完成任务”。但 FinMCP-Bench 聚焦更底层的问题:模型能不能正确选择和组织工具调用? 答案是:远远不够。
基准设计
数据规模
| 维度 | 数值 |
|---|---|
| 总样本数 | 613 |
| MCP 工具数 | 65 个真实金融工具 |
| 主场景 | 10 个(市场分析、投资配置等) |
| 子场景 | 33 个 |
| 样本类型 | 单工具(145) / 多工具(249) / 多轮(219) |
| 难度分级 | Easy(343) / Medium(245) / Hard(25) |
三种样本类型
单工具:一次对话,调用一个工具。最简单的场景——查一下某只基金的净值。
多工具:一次对话,调用多个工具。工具之间有依赖关系——先查基金持仓,再查每个持仓股的行业分布,最后汇总风险暴露。这里有一个关键设计:同组工具可以并行执行,不同组之间有顺序依赖。
多轮:多轮对话,每轮可能调用不同工具。模拟用户渐进式提问——“帮我看看这个基金” → “跟同类比一下” → “如果换成 XX 基金呢” → “帮我做个投资方案”。
数据构建
这是论文最有意思的部分。
起点:10,000 条真实用户日志(且慢 APP 的 AI 助手)。但其中大部分是简单的单工具查询,不够有挑战性。
多工具样本的构建——工具依赖图法:
- 从现有日志中提取工具的共现关系,构建一个 65 节点、288 条边的有向依赖图
- 在图上采样路径,得到工具链
- 用 Qwen3-235B 为每条链生成合理的用户查询
- 再用 Qwen3-235B 连接真实 MCP 服务器执行,验证工具链可行性
- 人工审核筛选
多轮样本的构建——角色扮演法:
- 从用户画像池采样(年龄、收入、风险偏好)
- Qwen3-235B 同时扮演用户和助手,进行多轮对话模拟
- 自动验证 + 6 位专家人工审核(每个样本两人独立评分,5 点 Likert 量表,5 个维度)
质量门控:两轮筛选。自动验证器检查工具执行成功率;专家在 5 个维度上评分,两位审核者均 ≥4 分才保留。
评测指标
论文的指标设计有一个清醒的判断:金融咨询本质上是开放式的,没有标准答案。 所以不评估最终回答质量,只评估工具调用本身。
| 指标 | 含义 |
|---|---|
| TR(工具召回率) | 该调的工具,调了多少 |
| TP(工具精确率) | 调的工具里,有多少是该调的 |
| TF1 | 召回和精确的调和平均 |
| EMR(精确匹配率) | 工具调用的完整结构(包括分组和顺序)是否和标准答案完全一致。最严格的指标。 |
EMR 是核心。它不仅要求调对了哪些工具,还要求分组正确(哪些并行、哪些顺序)。
实验结果
整体表现
| 模型 | TF1 | EMR |
|---|---|---|
| Qwen3-235B-A22B | 64.27 | 25.92 |
| Qwen3-30B-A3B | 55.58 | 18.24 |
| Qwen3-4B | 50.08 | 18.82 |
| DeepSeek-R1 | 49.88 | 18.08 |
| Seed-OSS-36B | 39.34 | 13.86 |
| GPT-OSS-20B | 32.62 | 4.43 |
最强模型的 EMR 只有 25.92%——四次工具调用中只有一次能完全正确匹配结构。
多轮对话:几乎全军覆没
| 模型 | 多轮 EMR |
|---|---|
| Qwen3-30B-A3B | 4.10% |
| Qwen3-235B-A22B | 3.08% |
| Qwen3-4B | 2.26% |
| Seed-OSS-36B | 2.17% |
| DeepSeek-R1 | 0.00% |
| GPT-OSS-20B | 0.00% |
DeepSeek-R1 和 GPT-OSS-20B 在多轮对话中的 EMR 是 0。零。一个都没对。
这说明在多轮对话中维持正确的工具调用链,对当前模型来说几乎是不可能的。
反直觉发现:Hard 不一定更难
强模型(Qwen3-30B 和 235B)在 Hard 样本上的 TF1 反而高于 Easy 样本。论文的解释:Easy 样本只需要一个工具,但模型倾向于”过度调用”,多调了不需要的工具,拉低了精确率。Hard 样本工具多、约束强,反而给了模型更多”做对”的机会。
数据构建的启示
从训练数据角度,这篇论文有几个值得注意的点:
1. 工具依赖图是一种有效的数据增强方法。 从 183 条真实多工具日志出发,通过构建依赖图 + 路径采样 + LLM 生成,扩展到了 496 条多工具样本。依赖图保证了合成的工具链在逻辑上是合理的。
2. 角色扮演法生成多轮对话的质量出乎意料地好。 500 条生成 → 378 条自动过滤 → 219 条专家审核通过,通过率 43.8%。这个方法对构建其他领域的多轮工具调用数据也有参考价值。
3. 多轮对话数据是当前最稀缺的。 EMR 接近零说明模型在这方面严重缺乏训练数据。谁先解决多轮工具调用的训练数据问题,谁就在 Agent 竞争中获得优势。
局限性
- 规模偏小:613 个样本,Hard 只有 25 个。作为 benchmark 够用,但不足以暴露所有模式。
- 单一平台:仅覆盖且慢 APP 的 65 个工具,中国基金销售场景。跨市场泛化未验证。
- 评估盲区:只看工具调用,不看最终答案质量。工具调对了但回答整合得不好?不在评估范围内。
- 合成偏差:多工具和多轮数据由 Qwen3-235B 生成,然后又由 Qwen3 模型被评测。存在生成器-评测器同源偏差。
- 缺少闭源顶级模型:没有 Claude Opus、GPT-5 的结果。
关联工作
- MCP-Bench:通用 MCP 评测
- MCPAgentBench:MCP 任务级评测
- BFCL:函数调用评测
- ToolBench:工具使用评测