Meta KDD Cup 2024 CRAG · Runner-up Solution

Routing-Based RAG:Meta KDD Cup 2024 CRAG 亚军方案

用两个轻量级路由器驱动 source selection、evidence fusion 与 conservative generation, 在动态、异构、多源的真实问答环境中,把 direct RAG 的负分结果拉升为稳定的正分系统。

中国科学技术大学 · 认知智能全国重点实验室

Jie Ouyang, Yucong Luo, Mingyue Cheng, Daoyu Wang, Shuo Yu, Qi Liu, Enhong Chen

TL;DR: 这项工作总结了 USTC 在 Meta KDD Cup 2024 CRAG 中的亚军方案。 核心不是更复杂的生成器,而是一个 routing-based RAG 框架: 先判断问题属于哪个 domain、事实变化有多快,再决定调用哪些外部资源、如何融合证据、何时采取保守拒答策略。 结果是在 Task 2 / Task 3 上把 baseline 的负分整体指标提升到了 31.22 / 31.66

项目简介

CRAG 是一个专门为现实世界动态问答设计的 benchmark。它把问题覆盖到 finance、sports、music、movies 和 open-domain 五个领域,并同时提供 web documents、mock knowledge graphs 和 mock APIs。和典型 open-domain QA 不同, 这里的难点不只是“找得到相关内容”,而是如何在 异构来源、时效性差异、噪声网页和部分过期证据 中做出可靠判断。

论文复盘的核心观点很明确:现实 RAG 的瓶颈往往不是模型会不会生成,而是系统是否知道 该查询什么、该展示什么、什么时候不该答。因此他们没有把重点放在更重的端到端模型上, 而是通过轻量级 routing、稳健的 API integration、multi-stage retrieval 和 conservative answer policy 去提升整体 correctness-hallucination tradeoff。

31.22
Task 2 Score
31.66
Task 3 Score
46.75%
Task 2 Accuracy
15.54%
Task 2 Hallucination

为什么这个比赛难

CRAG 的挑战不在于单一知识源的检索,而在于“动态世界中的多源问答”。同一个问题可能既需要网页证据,也需要结构化 API 返回; 有些问题依赖秒级变化的事实,有些问题则是长期稳定知识;还有些问题看似可答,但如果没有可靠实时来源,最好的策略其实是拒答。

Direct RAG
Routing-Based RAG
对问题的理解
默认把所有问题都当成统一检索任务
先判断 domain 和 dynamism,再进入下游流程
证据来源
直接拼接 web / API 内容
根据领域路由做 source selection 和差异化融合
动态事实处理
默认静态证据可用
对 fast-changing / real-time query 更保守
噪声控制
容易上下文过长、证据混杂
BM25 预筛 + dense retrieval + rerank 多阶段过滤
失败方式
更容易“有依据但仍然过时或错误”
接受更高 missing,换取更低 hallucination
整体目标
追求能答就答
平衡 correctness、hallucination 和 abstention

系统设计

整个方案可以概括为一个三阶段 RAG pipeline,加上两个非常关键的轻量级路由器。它们不是重模型, 但承担了整个系统的“控制平面”职责,决定下游应该走哪条检索和生成路径。

🧭

Domain Router

将问题划分到 finance、sports、music、movies、open-domain 五个领域,用于控制 API 选择、web-API 融合方式和 prompt 选择。

⏱️

Dynamism Router

预测问题底层事实变化速度,划分为 static、slow-changing、fast-changing、real-time,用来决定系统是否应该保守。

🌐

Web Retrieval

先用 Newspaper 把 HTML 转纯文本,再走 BM25 预过滤、bge-m3 dense retrieval 和 cross-encoder rerank,显式抑制噪声。

🔌

API Extractor

通过实体抽取、实体匹配、时间归一化和 domain-aware API 选择,把 JSON 输出转成可与文本证据自然融合的 Markdown 结构。

两个 Router 为什么重要

检索与生成策略

这篇工作的一个很实用的 insight 是:RAG 真正重要的不是“召回得越多越好”,而是最终允许模型看到什么证据。 因此他们把大量工程精力放在 evidence pruning 和 source-aware fusion 上,而不是一味扩大上下文。

Web 侧:先降噪,再做精排

API 侧:真正的瓶颈是参数质量

Entity Matching

从 surface form 对齐到 API 所需 canonical identifier,例如公司名到 ticker symbol。论文显示去掉这一项会明显掉分。

Time Information Extraction

把 “yesterday” 这类相对时间表达转成绝对时间戳。对动态事实问答,这一步几乎是 API 调用是否有效的前提。

生成侧:Few-shot + CoT + 保守后处理

最终答案生成采用强 instruction-tuned LLM,并结合 chain-of-thought prompting 与少量 domain-specific few-shot。 但真正决定稳定性的,是一层非常轻量却有效的后处理规则:对没有实时 API 支撑的 fast-changing / real-time 问题, 系统通过硬规则直接映射到 “I don’t know” 风格响应;对精确数值计算超出模型能力的问题同样拒答。

实验结果

论文最直接的结论是:在 CRAG 这种 heavily penalize hallucination 的评测里, 简单把外部内容拼进 prompt 的 direct RAG 并不够,甚至整体得分仍然是负数。 routing、evidence selection 和 conservative answer policy 才是把系统从“能检索”推进到“可靠可用”的关键。

System Score Accuracy Hallucination Missing
LLM Only -7.29 28.01 35.30 36.69
Direct RAG -6.78 34.79 41.58 23.63
Task 2 31.22 46.75 15.54 37.71
Task 3 31.66 48.21 16.56 35.23

Ablation Highlights

Task 2 Variant Score Accuracy Hallucination Missing
w/o Rerank 29.17 43.54 14.37 42.09
w/o EntityMatch 21.44 32.31 10.87 56.82
w/o TimeInfoExtract 18.45 28.45 9.99 61.56
w/o Fewshot & CoT 25.53 52.08 26.55 21.37
Ours 31.22 46.75 15.54 37.71
📉

把 hallucination 压下来是关键

Task 2 的 hallucination 从 Direct RAG 的 41.58% 降到 15.54%,说明比赛环境里“少错”比“多答”更值钱。

🧱

Rerank 是有效而不是可有可无

去掉 rerank 后 score 和 accuracy 都下降,证明高质量、紧凑证据比大量粗糙上下文更重要。

🕰️

时间抽取是动态 QA 的硬需求

去掉 time information extraction 后 score 从 31.22 掉到 18.45,missing 飙升到 61.56%。

🛡️

Few-shot 与 CoT 影响的是保守性

移除后 accuracy 会升,但 hallucination 明显恶化,说明这些 prompting 技术本质上在帮助模型学会更谨慎地回答。

经验总结

论文最后的总结很值得做成方法论。它不是单纯复盘一套比赛技巧,而是在说清楚:现实 RAG 系统的可靠性控制,应该被放到核心地位

引用

该页面内容依据本地 PDF FCS-251987-update-20260420.pdf 整理,核心来源是 Frontiers of Computer Science 2026 的短文版本。

@article{ouyang2026routingrag, title={Routing-Based RAG for Dynamic Question Answering: Lessons from Meta KDD Cup 2024 CRAG}, author={Ouyang, Jie and Luo, Yucong and Cheng, Mingyue and Wang, Daoyu and Yu, Shuo and Liu, Qi and Chen, Enhong}, journal={Frontiers of Computer Science}, year={2026}, doi={10.1007/s11704-026-51987-z} }