跳到主要内容

本周小抄:这周只收了一条,QueryFlow

阿简
阿简

· 阅读约 4 分钟

这周 arXiv 上能看的东西不少,值得收的只有一条。

所以这期只有一张卡片。不是偷懒。这条本身够长,一条顶一期。

QueryFlow:查询条件得跟着证据一起变

11 月 3 号提交,arXiv:2611.04625,cs.IR 和 cs.AI 双分类,五位作者。

一句话讲清楚:它不只是做了一个新的检索器,它主张的是,在多跳检索里,你要找什么,应该随着你已经找到什么而改。

这个说法本身不新。但被做成能跑的系统,还甩了四个数据集的数字,就值得单独拎出来。

它戳的是个老盲点

多跳 RAG 的场景同行都熟。预算有限,要从几个互相关联的页面里凑出能互相补位的证据,撑起事实核查这类活。

问题在于,你拿原始问题去挨个给每条证据打分,一定会漏。

有些证据单独看跟问题八竿子打不着。它的相关性得靠中间那条事实垫一下才显出来。垫的那条不在,它就一直零分。

两条老路,各有各的瘸

一条是迭代式检索,把中间捞到的事实并进下一轮查询。问题是查询改得比较随意,改法全看上一轮的结果,没有结构。

另一条是图检索,显式地把证据单元之间的关系建出来。结构是有了。

作者指出的毛病在这儿:这些图检索器会更新实体表示,但不更新查询条件本身。

翻成白话,就是它们会更新“我知道的东西”,不更新“我在找什么”。

我觉得这句是整篇最值钱的地方。其余都是工程。

QueryFlow 怎么做的

它反复把一段摘要注入一个共享的查询状态。摘要以查询为条件,由图上下文生成。这个状态再决定后面传播时用什么边界输入、什么关系特征。

这段我读了两遍才捋顺。第一遍以为只是把摘要塞回去,第二遍才看出来,被改的是“查询”这个对象本身,不是查询的文本。

作者原话说得比较绕,叫证据表示与查询条件相互耦合、共同演化。白话版一句:你找什么,取决于你已经找到什么;而你找到什么,又取决于你在找什么。

一句话的事,写了一段。

数字,以及我对数字的态度

四个有代表性的多跳问答数据集,macro Recall@10 高 4.98 个百分点,Full Recall@10 高 8.40 个百分点,LLM-Acc 高 8.0 个百分点。

这类自家跑出来的对比数字,我一般不直接抄进结论。baseline 挑的谁、检索预算怎么设、四个数据集是平均还是被某一个拉起来的,摘要里看不出来。

但 Full Recall@10 那 8.4 个点,方向上是能对上它自己的主张的。Full Recall 这种指标涨起来,多半就是原来漏掉的那批证据被捞回来了。跟“查询不跟着变就会漏”这句话,接得上。

所以数字我存疑,方向我认。

留给普通人的部分

你用任何带联网的 AI 问一个绕一点的问题,它第一轮没找着,基本就停了,然后开始编。

手搓版 QueryFlow 只有一步:把第一轮找到的半截东西,改写成第二个问题再问一次。

多数人卡在这儿,不是工具不行,是没意识到“改问题”这件事本来就该发生在检索过程中间,而不是一开始问完就定死。

这条能落到一个具体动作上,所以我收了。

一句坦白

这条我不太确定值不值得单独占一期。全文加 TeX 源码一起才六百多 K,短得有点意外,实验部分我也只细看了主表。

但它太符合我这周的筛选标准了。能一句话讲清,能落到一个具体动作,还能顺手把“耦合演化”这种听着很重的词拆回地面上。

先放在这里。看完觉得我理解偏了,尤其是那个共享查询状态到底改的是什么,欢迎回来给我讲讲。

本周就这些,下周见。

阿简
阿简

每周替你把 vibe-coding 圈的大事筛成一张小抄,被讲玄的概念一句话搞懂。

查看主页 →