微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 JevGPT:给AI研究员装一双快眼睛和一个慢脑子

JevGPT:给AI研究员装一双快眼睛和一个慢脑子

2026-11-12 15:34
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-11-12 15:34 • 科技行者

2026年的秋天,一群在KAUST做研究的人遇到了一个挺奇怪的现象。

他们让AI агent去做一件听起来很简单的事情:给它一个问题,让它在一堆文档里找答案。结果发现,很多时候AI明明把相关的文档都搜出来了,这些文档就安静地躺在检索结果列表里,AI却压根没去翻开看。

这就好比你去图书馆查资料,管理员帮你把十本相关的书都推到了桌子上,你却只翻了前两本就开始写论文了。剩下八本书不是没找到,是找到了没打开。

这篇论文要解决的,就是这个"找到了却没用上"的问题。

**检索覆盖率不等于证据利用率**

这是整篇论文最核心的洞察。你可能会觉得,AI搜索能力越强,表现应该越好吧?但事实是,搜得多不代表看得过来,看得过来不代表看得仔细,看得仔细也不代表能把看到的东西用在刀刃上。

论文里提到一个很说明问题的发现:有研究显示,即便在"预览召回率"已经饱和的情况下,继续加深检索深度仍然能提升候选文档的召回率。什么意思呢?就是说你能找到更多相关文档,但这些新找到的文档往往因为排在后面,根本没被真正打开读过。

这就引出了一个矛盾。

AI研究agent的工作流程是这样的:搜索、检查候选文档、决定下一步怎么搜。每一步都要花时间去"看"文档,而看文档这件事本身就是有成本的。如果每看一篇文档都要调用一次大语言模型去理解它,那在有限的研究预算(时间、金钱、API调用次数)里,agent能看的文档数量就非常有限。看得越仔细,看得就越少;看得越快,理解就可能越浅。

**那怎么办?研究团队的答案是:把"看文档"这件事和"做研究决策"这件事拆开,用不同的脑子去处理。**

这个思路其实来自一本很有名的心理学书,丹尼尔·卡尼曼的《思考,快与慢》。书里讲人脑有两套系统:系统一负责快速、直觉式的判断,比如你看到一张脸立刻知道这人是不是生气了;系统二负责慢速、费力的深度推理,比如你解一道数学题。

JevGPT就是照着这个思路搭的一套双系统架构。

系统二(System Two):用GPT来做,负责制定研究计划、决定下一步搜什么、整合各方证据、最后给出答案或排序结果。这是那个"慢脑子",想得深但想得慢。

系统一(System One):用一个叫Jev的模型来做,负责快速检查某个文档片段是否包含所需证据、给文档打分、决定要不要接着往下读。这是那个"快眼睛",扫得快但扫得准。

两者怎么配合?系统二提出一个明确的"证据目标"(比如"这篇文档有没有提到某个人的生日"),系统一就带着这个目标去快速扫描大量候选文档,把真正相关的原文片段抓回来,交给系统二去综合判断。

这里有个关键设计:系统一的判断是并行独立进行的。

每个文档的判断互不干扰,可以同时跑。这就好比你雇了十个助理,每人分一本书去找某一页内容,而不是你一个人把十本书依次翻一遍。如果没有这种并行机制,agent得排队一本本看,时间全耗在等待上;有了并行,十本书的检查时间约等于看一本书的时间。

**Jev模型:三种判断方式撑起快速扫描能力**

要理解系统一怎么工作,得先说说Jev这个模型本身能干什么。

Jev给出三种类型的判断结果:

Noul判断:返回一个概率,表示某段文本是否满足某个特定属性。比如"这段话里是否包含能回答问题的证据",返回的是一个0到1之间的概率值。

Choice判断:从一堆选项里返回一个概率分布。比如一篇长文档被切成好几个文本块,Choice判断会告诉你每个块包含所需信息的可能性有多大。

Score判断:给出一个等级评分的分布,比如对一篇文档相关性评级为"不相关、部分相关、相关、高度相关"四个档位里的哪一档。

这三种判断方式听起来有点像考试的选择题、填空题和评分题的组合。它们的共同点是:判断的范围都被严格限定在一个明确的目标之内,不需要模型自己去理解"我现在到底要干什么"这种开放式的问题。这正是系统一能跑得快的原因,因为它不需要做复杂推理,只需要针对一个具体问题给出判断。

论文里有句话点出了这个设计的根本逻辑:研究规划和局部证据判断需要的信息范围是不一样的。

规划需要的是整个调查过程积累下来的全部历史,而对单篇文档的判断只需要一个明确的证据目标就够了。这意味着两种任务天然适合用不同的模型、不同的计算资源去处理。如果强行用同一个重型模型去做所有事情,就像让一个每次开会都要深思熟虑的决策者去亲自翻看每一份文件,决策者的时间会被大量浪费在不需要深度思考的环节上。

**三大核心机制:证据定位、相关性评估、证据发现**

JevGPT的系统一具体做三件事,分别对应问答任务和排序任务的不同需求。

证据定位(Evidence Localization),用于问答任务。

当系统二提出一个局部的证据问题(比如"这个村庄的别名是什么"),系统一会检查候选文档的每个区域,用Noul判断估计这个区域是否回答了这个问题,再用Choice判断定位到具体是哪个文本块。如果概率达到设定的阈值(论文里设的是0.5),这个文本块就会被选中并返回原文。

这里有个很细腻的设计叫"自适应阅读":如果当前找到的证据还不够,系统一可以自己决定要不要去检查更多候选文档,或者去读周围的上下文来补全信息。这个决策也是由一个Choice判断来做的。

论文里有个特别生动的案例。一个问题问的是某个苏格兰村庄Ancrum的"别名"是什么。系统二明确问了一句"这个小村庄有什么别称或昵称",系统一就在另一篇不相关的文档(标题叫Jedburgh)里找到了一句原话:"Ancrum是个美丽的地方,有时被称为'Little Lovely'。"

而对照组Pi-Serini没有提这种精确的局部问题,只是笼统地去读了村庄历史协会的主页,结果主页上最显眼的一句宣传语是"一个拥有辉煌历史的小村庄",Pi-Serini就把这句话当成答案交上去了,结果是错的。

这个对比特别能说明问题。

如果没有明确的局部证据目标,AI就很容易被文档里"看起来重要"的句子误导,因为宣传语往往写得又醒目又像是答案。而一个具体到"别名是什么"的问题,能帮助系统一在一堆文字里精准捕捉到"sometimes known as"这种明确表示"这就是别名"的语言标记。证据目标越具体,噪音干扰就越小。

相关性评估(Relevance Assessment),用于文档排序任务。

这里系统一要做的是给每个文档的各个区域打分,用Score判断给出"不相关、部分相关、相关、高度相关"四档概率分布,然后取期望值最高的那一档作为文档的代表评分。只有达到一定阈值(论文设的是0.25,这是个相对宽松的门槛)的文档才会被保留下来进一步处理。

为什么要设置得这么宽松?

因为宁可多留一些可能相关的文档让系统二后续去判断,也不要在局部判断阶段就把真正有用的文档筛掉了。这是个"先别急着下结论"的策略,有点像面试初筛的时候,面试官会倾向于多留一些候选人进入下一轮,而不是在简历关就把人刷掉,因为简历关信息太少,容易误判。

证据发现(Evidence Discovery),这是三个机制里最主动的一个。

前两个机制都是"系统二问,系统一答"的被动模式,证据发现则是系统一主动去检查更多候选文档,不等系统二明确提出要求。它会设定一个"候选检查深度K",每次搜索之后,排名在K以内的候选文档都有资格被这个分支主动检查。

对于问答任务,这个分支会把原问题拆成几个小的"线索"(按句子和从句边界切分),然后看哪些文档命中了这些线索。命中线索数量多、而且这个线索在其他文档里出现得越少(即越具体、越稀缺),这篇文档的优先级就越高。这个打分公式其实暗含了一种信息论的直觉:罕见的线索往往信息量更大,比常见的泛泛而谈更值得优先处理。

对于排序任务,优先级直接就是前面相关性评估给出的那个概率分数。

证据发现找到的候选文档会异步地被送回研究历史记录里,供系统二在下一步搜索或阅读时参考。这种"后台悄悄干活,结果随时可取用"的设计,让系统二不需要每一步都停下来等待所有检查完成,提高了整体效率。

**候选检索:混合BM25,兼顾文档和段落两个维度**

在系统一开始判断之前,得先有候选文档可供检查,这就是检索环节。

JevGPT用的是一种叫"混合BM25"(Hybrid BM25)的检索方法。

BM25*:一种经典的文本检索算法,根据查询词在文档中出现的频率和文档长度等因素给文档打分,是信息检索领域用了几十年的基础方法,没有用到任何深度学习。

传统做法是要么对整篇文档打分,要么把文档切成段落分别打分。JevGPT两个都要:先算整篇文档的BM25分数,再算文档里最高分段落的BM25分数,然后把两个分数各自归一化(映射到0到1区间)之后取平均,作为这篇文档的最终得分。

为什么要这么麻烦?

因为一篇长文档可能整体和查询词的关联度不算特别高,但某一个段落却高度相关,比如一篇介绍某地区历史的长文章,可能只有中间一段专门讲了某场战役的细节。只看整篇文档的得分,这种"藏在角落里的黄金段落"容易被埋没;只看段落得分,又可能忽略文档整体的语境相关性。两者结合,相当于既看整体印象,也不放过局部亮点。

这就像招聘时既看一个人的简历整体履历,又看他在某个具体项目里的突出表现。只看履历,可能错过一个某方面特别强但整体经历平平的人才;只看某个项目,又可能被一次偶然的亮眼表现误导。两者结合才能给出相对靠谱的判断。

**实验结果:又快又省又准**

说了这么多设计,效果到底怎么样?论文在两个基准测试上做了验证。

第一个是BrowseComp-Plus,一个固定语料库上的问答测试集,总共830道题。

第二个是NeuCLIRBench,一个文档排序测试集,覆盖105个检索主题,涉及英语查询检索英语、波斯语、俄语、中文文档的英译版本。

在BrowseComp-Plus上,JevGPT达到了90.48%的准确率,是所有对比方法里最高的。

比它跑得慢的方法包括BCP/ReAct(77.11%)、Pi-Serini(82.05%)、Agentica(84.46%)、AtlasNav(89.16%)、RISE(89.88%)、Reason-ColBERT(90.00%)。注意Reason-ColBERT的准确率已经非常接近JevGPT了,但代价是每道题的研究时间要136.2秒,而JevGPT只要91.7秒,快了近三分之一;每道题的API成本是1.609美元,JevGPT只要0.668美元(两套系统加起来),成本降了一半还多。

在NeuCLIRBench上,JevGPT的nDCG@20达到0.5390,同样是所有方法里最高的。

nDCG@20*:一种评估排序质量的指标,综合考虑排名靠前的20个结果里相关文档的位置和相关程度,数值越高说明排序越好,1.0是满分。

对照组里表现最好的Pi-Serini是0.5240,而JevGPT每个主题只需要158K token(系统二消耗),Pi-Serini需要708K,差了四倍多;时间上JevGPT平均79.3秒,Pi-Serini要177秒。

这组数据传达出一个挺关键的信息:JevGPT不是靠堆更多计算资源硬刚出来的高分,而是用更少的时间和更少的钱拿到了更好的结果。这在实际应用里意义很大,因为没有人愿意为了提升1%的准确率去花十倍的钱。

**证据分析:到底多看了多少文档**

光看最终得分还不够说明问题,论文还专门做了一组"证据获取"的分析,追踪一篇文档从被检索出来,到被inspection(检查)、到被delivery(原文送达系统二)、再到最终被citation(引用进答案)的整个过程中,有多少"金标准"相关文档在每一步存活了下来。

结果显示,在候选文档池(Candidate Pool)这一步,JevGPT和Pi-Serini的覆盖率其实差不多,都接近100%左右。但从"检查"这一步开始,两者就拉开差距了。JevGPT的检查环节召回率明显更高,到"原文送达"这一步,差距进一步放大。

这说明了什么?

说明JevGPT和Pi-Serini在"能找到多少相关文档"这件事上差别不大,真正的差距出在"找到之后能不能真正看进去、读出来"这一步。这正好印证了文章开头那个核心观察:**检索覆盖率和证据使用率之间,隔着一道鸿沟,而JevGPT要解决的正是跨越这道鸿沟的问题。**

**消融实验:每个模块到底贡献了多少**

为了搞清楚JevGPT里每个组件到底起了多大作用,研究团队做了一组逐步叠加的消融实验,从Pi-Serini的基础版本出发,依次加上混合BM25、证据定位、证据发现这三个组件,每次测试都保留之前加上的所有组件。

结果显示:

混合BM25带来的准确率提升最大,从72.05%跳到79.52%,提升了7.47个百分点。证据定位带来的提升相对温和,从79.52%到81.20%,提升了1.68个百分点,但同时把搜索次数从8.70次降到7.17次,说明局部证据定位帮AI减少了无谓的重复搜索。证据发现带来了第二大的提升,从81.20%跳到86.51%,提升了5.31个百分点,同时还把研究时间从75.6秒降到70.2秒。

这组数字背后有个很朴素的道理:更好的检索能力先把地基打好,更智能的局部阅读机制再把地基上的东西挖得更深更快。两者缺一不可。

**不同的"慢脑子"表现差异也很大**

论文还做了一组对照实验,固定系统一(Jev)不变,只换系统二用的大语言模型,测试了GPT-5.2、GPT-5.4、GPT-5.4 mini、GPT-5.5、GPT-5.6 Terra、GPT-6.1 Sol六个版本。

结果很有意思:GPT-5.5准确率最高,达到92.29%,但成本也最高,每题0.60美元;GPT-6.1 Sol准确率88.43%,成本只要0.132美元,性价比相当突出;GPT-5.4 mini成本最低,只要0.071美元,但准确率只有79.76%,掉得比较明显;GPT-5.6 Terra用时最短,82.9秒。

这组数据说明一件事:选哪个系统二模型,没有标准答案,得看你更在意速度、成本还是准确率。

这就像买车,有人要最快的,有人要最省油的,有人要最便宜的,没有哪一辆车能同时在所有维度上都第一。论文把这个权衡画成了一条帕累托前沿曲线,让读者自己根据需求去挑。

**这个架构为什么重要**

回到最开始那个问题:检索到的文档为什么会被闲置?

论文给出的答案,本质上是说agent的注意力资源是有限的,而传统架构没有专门机制去保护和优化这份有限的注意力。所有的判断,无论是深度推理还是快速检查,都用同一个大模型去完成,结果就是深度推理占用了本该留给广泛检查的资源,广泛检查又挤占了深度推理的时间。

JevGPT的做法是把这两类任务显式地分给两个专门的系统,让擅长快速局部判断的模型去做局部判断,让擅长复杂推理和规划的模型去做规划。这不是什么全新的理论突破,更像是一种"术业有专攻"的工程智慧,但效果是实打实的:准确率提升、成本下降、速度加快,三个指标同时改善,这在机器学习领域并不常见,通常你得在这几个维度之间做取舍。

论文里提到,这个思路还和其他几个研究有呼应关系。比如Jev-Mem用类似的快速判断机制去控制AI的记忆系统,Mnemon把LLM规划和Jev判断结合起来处理对话记录,SwiftSage把快速动作模型和LLM规划器结合起来处理复杂交互任务。这说明"快系统管局部,慢系统管全局"这个思路正在被越来越多的研究者验证和拓展,不是一个孤立的实验结果。

写在后面

读完这篇论文,让我印象最深的不是那张漂亮的准确率对比表,而是那个"别名"案例里的细节对比。

两个系统面对同一篇文档,一个带着明确问题去读,一个漫无目的地读,结果一个找到了藏在另一篇文档里的关键句子,一个被主页上的宣传语带偏了。这个案例说明一件事:AI检索系统的问题常常不是"找不到信息",而是"不知道自己在找什么"。

这让我想起一个很朴素的道理,不管是人还是AI,带着明确问题去读书和漫无目的地翻书,效果天差地别。很多时候我们以为AI的瓶颈在于计算能力不够强,但这篇论文提醒我们,瓶颈也可能出在"任务定义"这个更基础的层面上。

论文里还有一个细节值得单独说一说,就是证据发现机制里那个优先级公式,用线索在候选文档里出现的稀缺程度来加权。这个设计暗含了一种信息检索的古老智慧:越罕见的证据,信息价值越高。这个原理其实和TF-IDF(词频-逆文档频率)这种检索领域的经典方法异曲同工,说明有些底层逻辑是跨越时代、跨越技术栈都成立的。

论文没有解决的问题也挺明显。现在系统一和系统二是两个独立训练好的模型拼接在一起,论文自己也在"局限性"部分提到,理想情况下应该有一个统一的模型,能自己学会什么时候该用快系统、什么时候该用慢系统,而不是靠人工设计的规则去切换。

这让我好奇一件事:如果未来真有这样一个统一模型,它学出来的"切换策略"会和这篇论文里人工设计的架构相似吗,还是会发展出完全不同的分工方式?

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-