1. 问题与动机
SIRA 针对的不是“LLM 会不会推理”,而是搜索 Agent 与检索系统之间的接口错位。主流 Agent 往往把检索器当成黑盒:发出一个查询、阅读片段、再依据片段中的实体与词汇改写下一轮查询。后续轮次因此享有一种“检索上下文优势”,但代价是调用次数、延迟、噪声与长上下文负担同步上升。论文指出,随着搜索界面从链接列表转向对话式答案,点击监督会变得稀疏、延迟且有偏;同时,用户查询越来越长,包含必须满足、必须排除和多跳组合约束,单个稠密向量又很难提供可审计的结构控制。
作者把搜索重新表述为比较排序问题:关键词在语义上“像答案”还不够,它必须能让目标证据压过数百万个混淆文档。BM25 的文档频率和 IDF 恰好提供这种语料对比信号,但传统 BM25 缺少生成别名、缩写和领域术语的能力。SIRA 因而提出一个反常识目标:不靠更多搜索轮次学习语料,而让冻结 LLM 在读取任何结果前,先形成对证据的预期,再用索引统计把预期编译成一次可控的检索动作。论文还构造 BrowseComp-Wikipedia:232 个间接、难定位的问题,对应 25,587,229 篇英文 Wikipedia 文档,以避免只在十万量级的小语料上高估 Agent 搜索能力。
2. 方法详解
SIRA 由语料侧离线增强、查询侧在线增强、文档频率过滤和加权 BM25 四部分组成。它不训练检索器,也不使用相关性标签;BEIR 实验中,语料侧与查询侧均调用冻结的 Qwen3.6-35B-A3B-FP8,模型总参数 35B、每次激活约 3B。论文没有报告优化器、batch size、训练步数或训练硬件,因为整个方案没有参数训练;主要计算成本来自离线逐文档 LLM 增强、在线一次 LLM 推理、轻量 DF 查询和倒排检索。
第一步是语料侧增强。LLM 读取文档,预测“用户可能用来寻找这篇文档、但原文没有出现”的词,包括别名、缩写、同义表达和领域短语。提示词随任务变化:事实核验强调实体别名与事实线索,论点检索强调对立立场词,重复问题检测强调意图不变的改写。候选短语通过文档频率上界过滤,过于常见、IDF 贡献很低的词被丢弃;保留短语再拆成滑动窗口 n-gram,以原子 posting-list 条目的方式写入 BM25 索引。这个设计不是给文档追加大段生成文本,而是增加少量可区分的词法入口。
第二步是查询侧增强。LLM 先生成 expected-response sketch,即与目标证据可能共同出现的概念、实体和稀有短语,但被明确禁止直接猜答案。对于事实型问题,它生成答案周围的语境词;对于多跳问题,它让扩展覆盖各个实体和推理跳;对于重复问题,它寻找意图保持的同义词。查询侧候选必须同时满足“在增强索引中实际存在”和“文档频率不超过上界”,这一步能过滤 LLM 幻觉词以及过度常见的专家词。
最后,系统把原查询 q 与通过过滤的扩展词 e 合并为一个加权 BM25 程序,可理解为 score(d)=BM25(q,d)+λ·BM25(e,d)。BM25 每个词的贡献由 IDF 与饱和后的词频相乘,稀有词获得高权重,文档长度通过标准归一化控制。作者强调,原查询绕过增强过滤,避免有效原始约束被误删;扩展权重 λ 则控制 LLM 先验对排序的影响。检索后取 top-k 候选,再按与原查询的相关性选取最终结果。这里最关键的非显然选择,是让 LLM 操纵“关键词权重、排除条件、组合方式”等可解释原语,而不是生成一个新向量,也不是先读结果再试错。
在 BrowseComp-Wikipedia 上,作者刻意移除了昂贵的逐文档 LLM 增强,改用 Wikipedia 类别作为语料侧结构。类别以 category:1927_births 一类原子特征写入索引;LLM 提出的类别必须先经 category graph 工具验证,错误类别直接丢弃。这样可以测试核心机制是否来自“语料可见结构 + 受约束查询程序”,而不是来自离线生成成本。虽然该评测允许在 100 个唯一页面预算内发出多个定向 BM25 查询,但每个查询都必须先用真实类别和具体页面词汇通过门控,不能依赖随意编造的类别。
3. 核心技术贡献
第一,论文把 Agentic Retrieval 从“多轮阅读后的查询改写”转成“读取证据前编译检索程序”。其作用机制是先用 LLM 提供领域语义先验,再用 DF/IDF 把先验约束到真实语料,减少黑盒搜索中的盲目探索。相比 ReAct、IRCoT、Search-R1 等把检索器作为固定工具的做法,SIRA 让 Agent 直接控制倒排索引的判别信号。
第二,SIRA 同时补齐文档侧和查询侧词汇缺口。Doc2Query 主要做文档扩展,HyDE 与 CoT 主要做查询扩展;SIRA 让两侧使用一致的语料统计过滤,且查询侧要求候选词在索引中存在。这个双侧、可验证的词汇桥接,使其在 SciDocs、CQADupStack 和 ArguAna 等表述差异大的任务上,相对 E5 的 Recall@10 分别提升约 36%、23% 和 14%。
第三,论文提出大规模、可复现的 BrowseComp-Wikipedia。它保留 BrowseComp 的间接线索与实体消歧难度,却把语料、gold URL 和检索预算固定下来,从而把“模型记住答案”和“真正找回证据”分开。该基准的 25,587,229 篇文档远大于 BrowseComp-Plus 的 100,195 篇,更接近生产搜索中目标页面被大量混淆项包围的情形。
第四,工作重新证明了经典稀疏检索的 Agent 价值。SIRA 不建立向量索引、不训练 retriever,也没有相关性标注,却把冻结 LLM 的知识变成可审计的 lexical action;相较同一 LLM 驱动的 GrepRAG 和 ShellAgent,它不是只产生模式串,而是利用 BM25 的文档频率与词权重完成真正的排序。
4. 实验结果分析
论文在 10 个 BEIR 数据集上覆盖 QA、观点检索、事实核验、论点匹配、引文预测和重复问题检测,语料规模从约 5 千到 542 万文档,指标为 Recall@10 与 NDCG@10。核心平均结果如下:
| 方法 | Recall@10 | NDCG@10 | 训练/索引特征 |
|---|---|---|---|
| BM25 | 0.530 | 0.425 | 词法基线 |
| SPLADE | 0.625 | 0.522 | 有监督学习稀疏检索 |
| E5 | 0.648 | 0.543 | 有监督稠密检索 |
| Search-R1 (E5) | 0.616 | 0.522 | 多轮 RL 搜索策略 |
| GrepRAG | 0.280 | 0.209 | 同骨干 LLM、模式搜索 |
| ShellAgent | 0.253 | 0.169 | 同骨干 LLM、多步 grep |
| SIRA | 0.691 | 0.572 | 冻结 LLM + DF + BM25 |
SIRA 在 10 个数据集中的 8 个取得最高 Recall@10;两个例外很小:NQ 上 Search-R1 领先约 0.06 个百分点,Quora 上 E5 领先约 0.4 个百分点。这说明提升不是由单个数据集驱动。更值得注意的是,HyDE 和 CoT 的平均 Recall@10 仅约 0.480 与 0.525,接近或低于 BM25 的 0.530;仅让 LLM 生成“语义上合理”的文本并不能可靠提升排序,必须结合语料频率判断这些词能否制造排名间隔。
BrowseComp-Wikipedia 进一步测试硬搜索。SIRA 在不使用逐文档 LLM 增强、只用 Wikipedia 类别结构时,Recall@1、Recall@10、Recall@100 分别达到 9.70%、15.27% 和 36.14%。论文给出的 Claude 4.6 Opus + Perplexity 基线在最多 100 轮搜索下,对应值为 2.59%、4.74% 和 32.33%。案例中,SIRA 围绕真实类别生成多个受约束 BM25 查询,把 LocoRoco 页面排到第 1;Perplexity Agent 发出 72 个搜索仍未找回 gold 页面,并最终答错。
严格说,论文没有提供传统的组件消融表来分别量化“语料侧增强、查询侧增强、DF 过滤”各自贡献,这是证据链的一处缺口。不过,BrowseComp-Wikipedia 移除离线 LLM 增强后仍保持优势,可视为一个结构性消融:只要有可靠的语料侧类别、类别图验证和受控 BM25,核心思想仍成立。另一组有解释力的对照是 GrepRAG/ShellAgent:它们使用同一冻结骨干,却远低于 SIRA,说明差异主要来自检索接口和语料统计,而非更强语言模型。
5. 局限与未来方向
作者明确指出,SIRA 假设冻结 LLM 能理解查询,并能对目标语料给出有用的语义先验;论文没有评估语料严重偏离预训练分布的领域。在高度专门、低资源或内部缩写密集的知识库中,LLM 可能无法提出正确扩展词,此时需要做语料侧适配或微调。BrowseComp-Wikipedia 的类别系统也比普通企业文档更规整,类别图验证不一定能直接迁移到 UGC。
作者未充分展开的限制还包括离线逐文档 LLM 增强成本、索引膨胀、内容更新后的重建策略,以及扩展词错误可能造成的召回偏置。论文没有报告在线 A/B 测试、端到端 P95 延迟、内存增长或成本曲线;BEIR 主要是英文公开数据,中文短文本、拼写变体、网络黑话和时效性内容仍需单独验证。此外,BrowseComp 部分评测允许多条 BM25 查询,不能把其中结果简单等同于全文所强调的“严格单次检索”。
6. 工业实践意义
对社区搜索最直接的启示,是先把 Agent 设计成“可控检索编译器”,而不是默认增加搜索轮数。UGC 的标题、正文、评论、话题标签与作者自定义词汇之间常有明显词汇缺口,可以离线为文档补充别名、缩写和用户可能使用的问法,但应给扩展词独立字段和较低 boost,保留回滚能力。在线阶段让 LLM 产生少量证据词,再通过索引 DF、时间窗、地域和内容类型等统计过滤;原 query 始终保留,扩展词权重必须可观测。
推荐的最小试点不是替换现有双塔或重排器,而是在 BM25 召回旁新增 SIRA 风格候选通道。先针对长尾、组合约束和零结果 query 开启:记录原词、候选扩展、DF、被过滤原因、最终权重和命中文档,离线比较 Recall@K、nDCG、零结果率与每问成本。若召回有增益,再让现有神经重排器融合词法与向量候选。对于高频短 query,直接沿用现有检索,避免支付 LLM 延迟。
部署时需要建立三道保护。第一,对新增 n-gram 设置 DF 上下界、字段配额和过期时间,防止索引被泛词与热点词污染。第二,把敏感属性、攻击性联想和答案猜测列为禁扩展类别,扩展词进入索引或查询前经过策略过滤。第三,按 query 难度设预算:一次 LLM 推理、一次统计检查、一次 BM25 是默认路径,只有低置信或无结果时才回退多轮 Agent。
论文没有线上 A/B 结果,因此不能直接承诺 CTR 改善。但其离线结果足以支持一个低风险实验:在同一倒排引擎上复用现有 BM25,新增 DF 查询接口和独立增强字段,无需先建设新的向量索引或训练检索器。真正的决策指标应包含 nDCG/Recall、点击与长点击、P95 延迟、LLM 成本、索引增量、扩展词审核命中率,以及多轮回退比例;只有这些指标共同改善,单次“专家级检索动作”才算在生产中成立。