ORDER按问题动态路由多源索引,档案Recall@3从37.7提到53.7

ORDER: Task-Conditioned Routing for Retrieval-Augmented Generation

Aurélien Pellet, Julien Perez, Marie Puren

LRE

cs.AI

2026-09-15

ORDER用问题聚类选分块、用分类器QRe选来源、用UMS均分检索配额,在1887年法文档案的438道多跳题上把Recall@3从37.7提到53.7,端到端准确率从31.0提到48.1。

这篇在解决什么

专家域RAG很少是「一个索引打天下」。历史研究的问题彼此不可互换:有的要报纸对读,有的必须进议会辩论,分块粒度、元数据过滤、该不该碰某个馆藏,都会随问题变。固定切法和固定检索,会让体量大的馆藏挤占配额,或把不相关的议会片段灌进top-k。

近期工作开始重做分块,但仍常把分块、检索、问题三件事拆开优化。ORDER的立场是:离线按文档和问题族发现策略,线上用极低成本把新问题路由到对应配置。

方法

语料是HistoriQA-ThirdRepublic里1887年的三套来源:议会速记录Les Débats,以及两份日报Le Gaulois与L'Intransigeant。875道史家校验过的多跳题对半切成437训练、438测试。嵌入一律Cohere embed-v4.0,三个独立Chroma集合。答案生成和LLM裁判都是Cohere Command-A,看top-10相对金标文档。

三条机制共用「离线发现、线上路由」。

任务条件分块只动Les Débats,报纸保持篇级。14种切法按边界信号分成基线窗口、发言人轮次、程序标记、议程主题。训练题经UMAP降到10维、HDBSCAN聚类,每个簇(含噪声簇)用Coverage@3挑最好切法,预建索引。推理时新问题投到同一UMAP空间,找最近质心,读对应索引。

任务条件元数据复用同一套簇,在基线10000hierarchical索引上选过滤、重排或二者混合。

结构化检索里,QRe是问句嵌入上的三分类逻辑回归,标签是来源对{G+I, I+D, G+D}。路由表把三类收成一个二元决策:要不要把Les Débats加进两个报纸。UMS再把检索预算在存活集合上均分,避免大馆藏吃光槽位。

线上每个问题:一次嵌入、一次线性路由、最多|C|次近邻检索、一次生成。没有索引期的LLM过语料。

结果

三分类准确率80.1%,误差几乎全在两个「含Débats」类之间,对检索无感;真正要不要碰议会的二元决策准确率98.9%。287道需要Débats的题里只有2道被错赶到报纸-only,151道报纸题里只有3道被多放进议会。

系统Recall@3Recall@10跨报@3报↔议会@3
Naive Retriever37.756.216.648.8
BM2523.539.54.633.3
HippoRAGv231.753.011.642.7
LinearRAG18.740.16.225.1
ORDER QRe48.770.448.748.8
ORDER UMS52.170.344.456.1
ORDER QRe+UMS53.773.149.056.1

跨报题上朴素检索被议会片段污染,QRe把@3从16.6拉到48.7;报↔议会题上UMS靠配额把@3从48.8拉到56.1。两者合在一起全面最好。同一套路由加到BM25上,Recall@5从30.7到57.0。端到端准确率从31.0到48.1,绝对值不高,因为问题是长问答、常带解释,裁判看的是金标文档而非短答案字符串。

分块轴在朴素检索上有帮助,一旦QRe+UMS打开,增益会被路由吃掉;元数据轴在UMS下还能加强议会配额。

为什么重要

多馆藏、体量失衡、OCR噪声的档案,失败常常发生在馆藏之间,而不是一篇文档切得够不够细。ORDER把「这个问题该查哪几个库、配额怎么分」从生成循环里抽出来,变成一次分类和一次均分。对法律、政务、多知识库客服,前置条件很具体:集合大小失衡,以及「该查哪库」能从问句里预测。两条都能在上线前用小样本量出来。

局限与存疑

迁移被论证,没有被演示:只有1887年法文这一刀,簇、策略表、路由器都是语料绑定。只评了多跳,单跳流量上这套策略是帮是害不知道。题目由Command-A从配对段落起草再经史家过滤,可能偏爱与原文字面接近的问法,部分解释了BM25的惨。嵌入全家桶都是embed-v4.0。端到端是同一模型既生成又裁判、单次划分、无人终审。UMS用覆盖换精度,论文没有把上下文噪声和答案增益拆开。路由器只吃几百条标注,小簇会抖。

术语

原文与代码

社区讨论

相关论文

全部论文解读