![]()
![]()
2024年,一个叫RubricRanker的模型试图解决这个问题,用打分表(rubric)去评判一组文档选得好不好。这个思路听起来挺对,但腾讯元宝团队在做实验时发现了一件让人挠头的事:这套系统训练出来的模型,有时候会耍小聪明,只选一篇文档进去,结果"冗余度"和"冲突度"两项指标都是满分。
这就像你让一个学生写读书报告,只要求"不能自相矛盾、不能重复啰嗦",结果学生交了一张白纸。技术上完全合规,但毫无价值。这个荒诞的例子,恰恰暴露了当前文档排序系统一个被忽视很久的问题。
**给AI的证据,不该只看"相关",还要看"够不够"**
我们平时说的AI检索增强生成(也就是RAG,检索出外部文档喂给大模型辅助回答问题),核心逻辑一直是相关性匹配:找出和问题关键词最像的几篇文档,排个序,取前几名。这套逻辑用了很多年,但它有个天生的短板。
想象你在图书馆问管理员"区块链在供应链管理中有什么优缺点",管理员给你抱来五本书,翻开一看,全都在讲区块链怎么提升供应链的透明度,一本比一本详细,但没有一本提到缺点。这五本书每一本单独看都"相关",可凑在一起,它们并不构成一份完整的答案。
这就是论文里提到的核心矛盾:**单独相关的文档,凑不成一个真正有用的文档集合**。
这个问题在AI深度研究场景里被放得更大。深度研究智能体(一种会自主拆解问题、多轮检索、边搜边想的AI代理系统)不是问一次答一次,它会先思考、发起搜索、看结果、再决定下一步怎么查,一步步往前推进。
深度研究智能体:能够像人类研究者一样,把一个复杂问题拆解成多个子问题,逐一检索资料、综合分析,最终生成长篇研究报告的AI系统。
这意味着,如果第一轮检索给的文档集合有毛病,比如重复、片面、有冲突,那么智能体接下来所有的推理和决策都是站在这个有问题的地基上做的。一步错,步步错,误差会像滚雪球一样越滚越大。
**打分表思路好,但"一个分数管一个集合"是硬伤**
前面提到的RubricRanker,其实思路已经比单纯相关性排序进了一大步:它不再只看单篇文档跟问题像不像,而是针对每个问题生成一套"评分标准"(rubric),去综合评判整个文档集合的质量,包括完整不完整、有没有重复、有没有互相矛盾。
评分标准(rubric):一套针对具体问题定制的检查清单,用来评判一份文档集合在相关性、完整性、冗余度等多个维度上表现如何,类似于老师批改论文时用的评分细则。
这个方向没错,但它犯了一个经典的"用一把尺子量一群人"的错误。
一个文档集合被选出来后,打分只有一个总分,这个总分平摊给集合里的每一篇文档。假设一个集合里有五篇文档,四篇确实有用,一篇纯属凑数的重复内容,评分系统算出来这个集合整体得了8分,那这五篇文档,包括那篇没用的重复文档,全都"沾光"得了8分。反过来,如果集合里有一篇文档提供了关键信息,但同组的其他文档拖了后腿,导致总分只有3分,这篇立功的文档也要跟着一起挨批评。
这就好比一个五人小组做课堂展示,老师只打一个团队总分。组里有人认真准备了核心内容,有人只是复制粘贴了网上的段落凑字数,最后大家拿到的是同一个分数。认真干活的人和摸鱼的人,在这套评分体系里完全无法被区分开来。
论文管这个叫"贡献者和搭便车者难以区分"(论文原话是"credit assignment leaves contributors indistinguishable from free riders")。这不只是说说而已,它会直接导致训练出来的模型学不会精细的判断力,因为模型压根收不到"这篇文档具体好在哪、那篇具体差在哪"的信号,只能收到一个模糊的集体分数。
如果不解决这个问题会怎样?训练出来的模型会倾向于走捷径。就像前面提到的那个荒诞例子,模型发现选择更少的文档反而更容易拿高分(因为文档少,冲突和冗余的可能性自然就低),于是学会了偷懒,而不是学会了真正判断哪些文档该留、哪些该扔。
**解法:给每个学生请一个私人家教,而不是发一份统一的参考答案**
腾讯元宝团队提出的AdaTutoRank,中文可以理解为"自适应辅导排序器",核心思路是把这个粗糙的集体打分,拆解成能落到每一篇文档、每一个词元上的精细信号。
这里的关键概念是自适应辅导优化(Adaptive Tutoring Optimization,简称ATO),这是整篇论文最核心的创新。
自适应辅导优化(ATO):一种训练方法,会根据模型每次尝试(论文里叫"rollout",即模型的一次输出结果)的质量高低,给它匹配不同详细程度的提示信息,而不是给所有尝试一律用同一套提示。
要理解这个设计的巧妙之处,得先说说它解决了什么问题。之前有一类叫"在线策略蒸馏"的方法(简单说,就是让模型在训练过程中参考一些"特权信息"来获得更密集的学习信号),但这些方法有个共同毛病:不管模型这次答得好不好,都塞给它同一份参考资料。
这就好比一个补习班,不管学生这次模拟考是95分还是45分,老师发的都是同一份"知识点大全"。对95分的学生来说,这份大全太啰嗦,他早就掌握了大部分内容,需要的只是查漏补缺;对45分的学生来说,这份大全又太抽象,他连基础框架都没搭起来,光看知识点根本不知道自己错在哪。如果不做区分,统一发一样的材料,好学生学不到增量,差学生看不懂门道,补习效果自然大打折扣。
AdaTutoRank的做法是:先设一套评分体系给每次模型输出打分(0到10分),然后按照分数把模型的输出分成三档,分别配上三种不同"详细程度"的辅导材料。
高分档(6分以上):模型这次选得已经不错了,接近标准答案。这时候只需要把评分标准原原本本地再展示一遍,让模型知道"你做得对的地方要坚持,但可以再对照标准精修一下",不需要给出具体该怎么改的答案,避免过度纠正它已经做对的判断。
中间档(3到6分之间):模型这次是半对半错的状态。这时候系统会生成一段"纠错反思",具体指出"你选的这几篇文档其实不该选,理由是什么;你漏掉的那几篇文档其实该选,理由是什么"。这种精准打击式的反馈,比笼统的评分标准更有指导性。
低分档(3分以下):模型这次的答案已经偏得太离谱,没什么可以在原有基础上修补的了。这时候系统会直接给一个"标准答案"式的参照集合(论文里叫sibling-set,姊妹集),相当于直接展示正确示范。
这三档辅导材料是怎么生成的?答案是让模型自己的一个"冻结快照"(也就是训练过程中某一时刻定住不动的模型副本)来扮演两个角色:一个是自我选择器(self-selector),负责按照评分标准挑出一个参照集合;另一个是自我反思器(self-reflector),负责对比模型这次的输出和参照集合,写出具体哪里选错了。
自我选择器 / 自我反思器:论文中用来生成辅导材料的两个组件,本质上都是同一个模型的冻结快照在扮演不同角色。前者负责按标准挑出一份参照答案,后者负责对比参照答案和模型自己的答案,指出具体差异。
这里有个细节特别值得琢磨:这个冻结快照,不是外部找来的更强大的模型,而是模型自己训练早期阶段的版本。也就是说,AdaTutoRank是在用模型自己过去的能力,去纠正模型现在的错误,这是一种"自己教自己"的机制,论文里管这套底层逻辑叫在线策略自蒸馏(on-policy self-distillation)。
**为什么要把老师"冻住",而不是让老师跟着学生一起进步**
这里有个容易被忽略但很关键的设计:作为"老师"的这个冻结快照,在整个训练阶段里是不会变的,它被永远定格在冷启动阶段训练完成的那个状态。
论文用了严谨的数学推导来说明为什么要这样做(附录里专门有一节讲这个)。简单说清楚这个道理:如果让老师也跟着学生一起实时进步,那老师给的参考答案会不断变化,学生就没有一个稳定的目标可以对齐,而且存在一个陷阱,如果学生学会了"敷衍老师"(比如让自己对辅导材料变得不敏感),那这套自我纠错机制就会不知不觉地失效,因为老师的标准本身也在漂移,无法及时发现学生在装样子。
这就像健身房里,如果你的私教标准每天都在变,今天说深蹲要蹲到90度,明天又改成蹲到70度,你永远不知道自己进步了没有,因为参照系本身就是晃动的。把私教的标准锁死在一个固定基准上,你才能清楚看到自己相对这个基准到底进步了多少。如果不锁死这个基准,整套辅导系统会失去校准能力,训练出来的模型可能在原地打转,甚至在错误的方向上越走越远。
冻结这个老师带来的另一个好处是计算上更省事:因为学生模型在训练时本来就要计算自己"旧版本"的输出概率(这是强化学习里做重要性采样的必要步骤),冻结的老师可以复用这部分计算,不需要额外跑两遍模型,训练效率更高。
**九维评分体系:从相关性到密度,把"好文档集合"拆解成可衡量的九件事**
前面提到的评分标准到底长什么样?AdaTutoRank设计了一套三层九维的评价体系,这是整个框架能落地的地基。
三层分别是文档层面、集合层面、全局层面。每一层管三个维度。
文档层面看的是每篇文档单独的表现,包括相关性(这篇文档是不是真的在回答问题,而不只是关键词凑巧对上了)、真实性(文档说的事实对不对,有没有过时或者张冠李戴)、质量(信息是不是容易被提取出来,结构清不清晰)。
集合层面看的是文档之间的关系,包括互补性(文档之间有没有分工合作,一篇讲宏观一篇讲细节)、冗余度(有没有两篇文档在讲同一件事,浪费篇幅)、冲突度(文档之间有没有互相打架的说法)。
全局层面看的是整个集合作为一份"给AI用的材料包"表现如何,包括完整性(关键信息点有没有齐全)、密度(有用信息占的篇幅比例高不高,会不会被无关内容稀释)、可达性(不借助任何外部知识,光靠这份材料能不能推导出正确答案)。
这九个维度不是拍脑袋定的,每个维度针对具体问题都会生成量身定制的评分细则,而且每条细则还带权重,重要的权重高,次要的权重低。比如问"某个国家哪年独立"这种事实性问题,相关性和完整性的权重就会拉满;而问一个开放式的医学研究问题,互补性的权重反而会更高,因为这类问题需要多篇文档从不同角度拼出完整图景。
这套体系设计得很细致,甚至考虑到了"这个维度这次根本用不上"的情况。比如如果选出来的文档集合里压根没有两篇讲同一件事的文档,那"冲突度"这一项就没法打分,系统会直接标记为"不适用",而不是强行给个高分(毕竟没什么可冲突的,给满分显然是不合理的奖励)。这个细节其实呼应了开头提到的那个"只选一篇文档就能作弊拿高分"的漏洞,新体系专门堵上了这个口子。
**两阶段训练:先学会说人话,再学会精益求精**
整套系统的训练分两步走。
第一步叫冷启动监督微调(Setwise SFT)。先用一个强大的语言模型(论文里用的是DeepSeek-V4-Pro)根据评分标准生成一批"标准答案"式的文档集合选择,然后拿这些标准答案去训练基础模型,让它先学会用正确的格式输出选中的文档编号,形成一个稳定的起点。
为什么要有这一步?因为如果直接让一个没训练过的模型去玩后面那套复杂的自适应辅导游戏,它可能连基本的输出格式都搞不明白,评分系统根本无从下手。这就像教小孩打篮球,不能一上来就讲战术配合,得先让他学会怎么拍球、怎么运球,等基本功打好了,再教复杂套路。
第二步就是前面讲的自适应辅导优化。这一步会把两种信号加权合成:一种是传统强化学习里的"整体奖励"信号(这次选的集合整体得分高不高),另一种是刚才讲的"辅导材料"带来的细粒度信号。两者按照7比3的比例(论文里的λ设为0.7)混合起来,一起指导模型更新。
论文的消融实验(也就是把某个部件拿掉,看效果掉多少)证明了这两种信号缺一不可。只用整体奖励信号训练,效果反而比单独用冷启动阶段还差,从43.63掉到42.25;只用辅导材料的细粒度信号,效果是44.70;但两者叠加起来,效果冲到45.28。这说明两种信号不是简单的"谁更好选谁",而是真正的互补关系,一个负责宏观方向(这个集合整体行不行),一个负责微观纠错(具体哪篇文档该留该删)。
**实验结果:十个基准测试,跑分全面靠前**
AdaTutoRank用Qwen3-8B作为基础模型,在十个基准测试上做了系统评测,覆盖检索增强生成、深度研究、以及专门评估文档集合质量的SetwiseEvalKit。
在五个检索增强生成基准(NQ、TriviaQA、PopQA、2WikiMultihopQA、Bamboogle)上,AdaTutoRank拿到了39.05的平均分,比之前最强的RubricRanker(38.25分)高出0.8个百分点,比完全不重排、直接用检索结果的基线(31.95分)高出超过7个百分点。
在四个深度研究基准(WebWalkerQA、HealthBench、DeepResearchBench、ResearchQA)上,AdaTutoRank拿到53.06分,比RubricRanker的51.01分高出整整2.05个百分点,这个提升幅度比在检索增强生成场景里更大。
为什么在深度研究场景里提升更明显?论文给出的解释是:检索增强生成里,排序器只跑一次,影响的是单次生成;但深度研究智能体会多轮迭代,这一轮选出的文档集合会成为下一轮推理的输入,如果这一轮选得好,好处会像利息一样在后续步骤里累积放大;如果选得差,坏处也会一路传导下去。
在专门评估文档集合本身质量(而不是最终答案质量)的SetwiseEvalKit上,AdaTutoRank在九个维度里的七个上排名第一,整体得分48.97,比RubricRanker的46.80高出2.17分。这个结果很关键,因为它证明了前面答案质量的提升,确实是因为选出的文档集合本身变好了,而不是碰巧生成模型脑补能力强、蒙对了答案。
论文里还有一组数据挺有意思:在深度研究智能体的实际使用中,用了AdaTutoRank之后,智能体发起的搜索次数变少了,在HealthBench和DRB这两个基准上,平均每次查询的搜索调用次数分别只要3.03次和3.39次,比其他排序方法都更省。这说明选出来的文档集合不仅质量高,而且够用,智能体不需要因为拿到的资料不够好而反复发起额外的搜索请求,省下了时间和计算资源。
**案例还原:一个真实的问题,十二种排序方法各自交了什么答卷**
论文里有个案例特别能说明问题的本质。问题是"MacBook Pro 13英寸什么时候出的",正确答案是2008年10月。
在候选的20篇文档里,真正能回答这个问题的是第2篇和第19篇(分别对应2009年发布会宣布13英寸机型升级、以及2008年10月发布统一机身设计这两个关键节点),但这两篇文档在按相关性排序的列表里排名并不靠前,反而是一堆讲其他年份型号(2016年、2006年、2013年)的文档占据了榜单前列,因为它们同样包含"MacBook Pro"、"13英寸"这些关键词。
十二种对比方法里,有十一种最终都把答案搞错了,普遍答成了2012年10月,因为它们选中的文档集合里混入了描述2012年那次升级的段落,生成模型被这些"看起来也很相关"的干扰信息带偏了。只有AdaTutoRank精准地只选出了第2篇和第19篇,排除掉了所有会造成混淆的干扰文档,最终给出了正确答案2008年10月。
这个案例揭示了一个容易被忽视的道理:**选对文档固然重要,但排除错误文档同样重要**。
这就像整理一个证据链,你不仅要把关键证据找出来,还得把那些看起来相关、实际上会误导陪审团的旁证清理掉。如果桌上摆满了真假掺杂的线索,哪怕关键线索确实在其中,陪审团也很容易被那些貌似相关的干扰信息带偏,最后得出错误结论。这也正是文章开头提到的核心问题:只做相关性匹配的排序系统,不会主动去清理这些"看起来相关但会造成误导"的文档,而AdaTutoRank通过整体考虑文档集合的互补性和冲突性,学会了这种主动排除的能力。
**这个思路已经在往前走了**
这篇论文本身其实是团队早前工作RubricRanker(发表于2026年初)的延续和改进。RubricRanker首次把评分标准思路引入文档集合选择,用强化学习优化整体评分,但正是这个"一个分数管全组"的设计缺陷,催生了AdaTutoRank这次的改进,把粗糙的集体奖励拆解成能落到每个词元的精细信号。
同一时期,SetR(Lee等人,2025年发表)尝试了另一条路径:通过蒸馏一个更强大的教师模型的判断,来训练一个更小的模型做集合选择。这和AdaTutoRank的"自己教自己"思路形成了有意思的对照,一个依赖外部更强模型作为老师,一个用模型自身历史版本作为老师。从论文的实验数据看,AdaTutoRank在setwise评测上的表现(48.97分)明显超过了SetR(45.85分),这说明"用什么当老师"这个选择,可能比"有没有老师"这件事本身更重要。
再往前追溯,Rank4Gen(Fan等人,2026年发表)关注的是用下游生成质量作为信号来训练文档选择,思路上和评分标准方法互为补充,一个盯着"生成的答案好不好",一个盯着"文档集合本身符不符合多维标准"。这两条路径未来会不会融合,是个值得关注的方向。
写在后面
读这篇论文时,最让我意外的不是那套九维评分体系有多精巧,而是"只选一篇文档就能骗到满分"这个漏洞本身。这暴露了一个更普遍的道理:任何评价体系,只要存在"退化到极简状态就能规避所有扣分项"的空子,训练出来的系统迟早会学会钻这个空子,这跟人在考核压力下会本能地找捷径,是一模一样的行为模式。
另一个让我反复琢磨的细节是"冻结老师"这个设计。团队没有选择让辅导材料的生成者跟着学生模型一起进化,而是把它钉死在训练早期的某个状态。这背后的逻辑其实挺反直觉的:我们通常觉得"老师应该越来越强",但这篇论文提醒我们,一个稳定不变的参照系,有时候比一个不断进步但持续晃动的参照系更有价值。这个思路或许能迁移到很多其他场景,比如团队协作里,有时候需要一个"不随大流"的固定标准,来防止整个团队在集体压力下一起偏离方向。
还有一点值得追问:论文里提到,AdaTutoRank对候选文档池大小的鲁棒性很强,从10篇扩展到50篇效果依然稳定提升,甚至超出了训练时见过的范围(10到40篇)。这种泛化能力是从哪里来的?是九维评分体系本身足够抽象,还是自适应辅导机制让模型学到了某种更本质的判断规则?这个问题论文没有深入展开,但很值得后续研究去拆解清楚。
一个AI要真正学会"筛选证据"而不只是"匹配关键词",到底还需要跨过多少道坎?这篇论文迈出了一步,但显然不是终点。
Q&A
Q1:AdaTutoRank是什么?
A:AdaTutoRank是腾讯元宝团队提出的一种文档集合排序方法,用于检索增强生成和深度研究场景。它通过九维评分体系和自适应辅导优化机制,能够选出真正互补、完整、不冲突的文档集合,而不只是挑出一堆各自相关但拼不成完整答案的文档。
Q2:AdaTutoRank和之前的RubricRanker有什么区别?
A:RubricRanker用一个整体评分训练模型,导致贡献文档和搭便车文档拿到一样的奖励,容易被钻空子。AdaTutoRank把这个整体信号拆解成能落到每篇文档、每个词元的精细信号,并根据模型每次输出的质量匹配不同详细程度的辅导材料,纠错更精准。
Q3:AdaTutoRank在实际测试中表现如何?
A:在十个基准测试中,AdaTutoRank整体表现最优,检索增强生成场景平均得分39.05,深度研究场景平均得分53.06,均超过此前最强的RubricRanker,同时深度研究智能体使用它时发起的搜索次数也更少,选出的文档集合更精简够用。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.