GrepSeek:训练直接语料交互的搜索代理
摘要
GrepSeek 训练大型语言模型搜索代理,使其能够通过使用 grep 等 shell 命令直接与文本语料库交互。它采用两阶段训练流程:冷启动数据集构建和 GRPO 微调,在开放域问答基准测试中取得了优异的 F1 和 Exact Match 分数。
arXiv:2605.29307v1 公告类型:新
摘要:大型语言模型(LLM)搜索代理通过多轮推理和信息检索,在知识密集型语言任务中展现出巨大潜力。大多数现有系统使用基于索引的检索器来获取信息,该检索器接受关键词或自然语言查询,并利用预先计算的文档表示索引返回排序后的文档列表。在这项工作中,我们探索了一种互补视角:搜索代理将语料库本身视为搜索环境,通过执行可执行的 shell 命令来查找证据。我们引入了 GrepSeek,一种优化的直接语料交互(DCI)搜索代理,它训练一个紧凑的搜索代理来从大型文本语料库中查找、筛选和组合证据。为了解决在大型语料库上直接使用强化学习导致的学习行为不稳定性,我们提出了一个两阶段训练流程。首先,我们使用答案感知的 Tutor 和答案盲的 Planner 构建一个冷启动数据集,以生成经过验证、因果有据的搜索轨迹。其次,我们使用组相对策略优化(GRPO)来细化初始策略,使代理能够通过与语料库的直接交互来改进其面向任务的搜索行为。为了使 DCI 在大规模应用中实用化,我们还使用了一个保持语义的分片并行执行引擎,该引擎将基于 shell 的检索速度提升高达 $7.6\times$,同时保持与 shell 命令顺序执行的字节精确等价性。在七个开放域问答基准上的实验表明,GrepSeek 在整体 token 级 $F_1$ 和 Exact Match 上取得了最强结果。我们的分析还强调了纯词汇交互在处理表面形式变化较大的查询时的局限性,表明 DCI 是一种实用且具有竞争力的搜索代理方法,可以在现实世界中补充现有的检索范式。
查看缓存全文
缓存时间: 2026/05/29 09:18
# GrepSeek:训练直接与语料库交互的搜索智能体
**来源:** https://arxiv.org/html/2605.29307
Alireza Salemi¹, Chang Zeng¹, Atharva Nijasure¹, Jui-Hui Chung², Razieh Rahimi¹, Fernando Diaz³, Hamed Zamani¹
¹马萨诸塞大学阿默斯特分校
²普林斯顿大学
³卡内基梅隆大学
{asalemi,changzeng,anijasure,rahimi,zamani}@cs.umass.edu
[email protected]
[email protected]
###### 摘要
大型语言模型(LLM)搜索智能体通过多轮推理和信息检索,在知识密集型语言任务中展现出巨大潜力。现有系统大多利用检索器访问信息:检索器接收关键词或自然语言查询,并使用预先计算好的文档表示索引返回排序后的文档列表。本文探索了一种互补的视角:搜索智能体将语料库本身视为搜索环境,并通过执行可执行的 shell 命令来寻找证据。我们提出 **GrepSeek**,一种优化的直接语料库交互(DCI)搜索智能体,它训练一个轻量级搜索智能体,在大规模文本语料库中查找、筛选并组合证据。为了解决在大型语料库上直接用强化学习训练时行为不稳定的问题,我们提出一个两阶段训练流程。首先,我们使用一个知晓答案的“导师”(Tutor)和一个不知晓答案的“规划器”(Planner)构建一个冷启动数据集,以生成经过验证且因果相关的搜索轨迹。其次,我们使用分组相对策略优化(GRPO)来微调初始化后的策略,使智能体能够通过与语料库直接交互来改进其面向任务的搜索行为。为了使 DCI 在实际规模下可行,我们还引入了一个保持语义的分片并行执行引擎,可将基于 shell 的检索速度提升高达 7.6 倍,同时保持与顺序执行 shell 命令的字节级等价性。在七个开放域问答基准上的实验表明,GrepSeek 实现了最强的整体词元级 F1 和精确匹配(Exact Match)。我们的分析还揭示了纯词法交互在查询存在显著表面形式变化时的局限性,同时表明 DCI 作为一种实用且具有竞争力的搜索智能体方法,能够在现实世界中补充现有的检索范式。
## 1 引言
大型语言模型(LLM)搜索智能体(简称搜索智能体)(Li 等人,2025 (https://arxiv.org/html/2605.29307#bib.bib35);Jin 等人,2025 (https://arxiv.org/html/2605.29307#bib.bib9))在解决复杂信息需求方面展现出巨大潜力,这类需求往往需要推理、查询分解和/或多源信息综合。这些智能体通过与检索模型进行多次交互来获取执行知识密集型任务所需的信息。在处理非结构化或半结构化文本语料库时,这些交互表现为关键词或自然语言查询的形式。这些方法依赖于数十年在检索模型方面的研究,从词法匹配(Salton and Buckley, 1988 (https://arxiv.org/html/2605.29307#bib.bib4);Robertson 等人,1994 (https://arxiv.org/html/2605.29307#bib.bib30);Ponte and Croft, 1998 (https://arxiv.org/html/2605.29307#bib.bib5))到基于稠密表示的语义匹配(Deerwester 等人,1990 (https://arxiv.org/html/2605.29307#bib.bib6);Karpukhin 等人,2020 (https://arxiv.org/html/2605.29307#bib.bib21))或稀疏表示(Zamani 等人,2018 (https://arxiv.org/html/2605.29307#bib.bib22);Formal 等人,2021 (https://arxiv.org/html/2605.29307#bib.bib23))。这些模型基于预先计算的文档表示来构建语料库索引。相关性分数也是按文档计算的¹。
¹ 文档指任何可检索的条目,无论给定文本如何分块。这些分块应在索引前确定并固定,对所有查询保持一致。
本文从一个全新的角度探索这个问题:**对非结构化数据的信息检索可以在任意粒度进行**。换句话说,不再使用文档级别的表示、索引和相关性打分,而是可以为每个查询检索任意大小的文本片段。这使我们能够进行更具“外科手术式”的信息检索,而不受限于预先确定的文本块和表示。为了实现这一目标,**我们设想将语料库视为一个环境的搜索智能体**。在这种视角下,智能体可以对语料库发出可执行的(外科手术式)搜索操作,检查中间结果,细化约束,并在多个步骤间组合证据。这将检索从一个黑盒排序过程转变为一个明确的可控语料库操作序列。这种接口对于许多知识密集型推理任务尤其有吸引力,这些任务可能需要精确实体匹配、词法过滤、符号模式搜索,或者跨文档跟踪桥接实体。
这一观点与代码智能体领域的最新进展密切相关,其中可执行的搜索工具如 `grep` 和 `ripgrep` 提供了一种简单而有效的接口来定位代码仓库中的相关上下文(Wang 等人,2026 (https://arxiv.org/html/2605.29307#bib.bib13))。受这种工具介导搜索形式的启发,我们提出问题:是否可以将类似的交互模式扩展到代码仓库之外,应用于包含数百万非结构化文档的大规模文本语料库的开放域问答?与我们的工作同期,Sen 等人(2026 (https://arxiv.org/html/2605.29307#bib.bib12))和 Li 等人(2026 (https://arxiv.org/html/2605.29307#bib.bib14))独立提出了智能体,它们绕过了预先计算的检索索引,通过类 Unix shell 命令(例如关键词匹配或可执行文本处理程序)直接搜索原始语料库。这些工作表明,直接语料库访问可以作为精确匹配、多步证据发现和组合式问答的有效接口。这些方法主要围绕提示大型专有模型,利用其强大的代码生成能力在推理时编排搜索。例如,Li 等人(2026 (https://arxiv.org/html/2605.29307#bib.bib14))依赖于像 Claude² 这样的闭权重智能体,这导致系统计算成本高昂且操作效率低下,通常需要大量时间(有时甚至超过一小时)才能完成单个查询。相比之下,我们的兴趣在于现实世界中可行的方法,因此专注于训练轻量级模型和在大规模下高效执行操作。为了与这些同期工作保持一致,我们也将此类方法称为**直接语料库交互(DCI)**。
² 访问网站:https://www.anthropic.com/claude/sonnet
> 见图1 标题:图 1:检索增强的智能体搜索与直接语料库交互的比较。
> 左图:检索增强的智能体搜索依赖于预先计算的索引,智能体向检索器查询,检索器返回排名靠前的文档。
> 右图:DCI 通过 shell 命令实现直接语料库访问,由并行引擎在分片上执行管道并聚合结果,无需索引。
为了实现有效、高效且实用的直接语料库交互,我们提出 **GrepSeek**,一种优化的 DCI 搜索智能体,它训练一个轻量级 LLM,通过可执行的 shell 命令在大规模文本语料库中进行搜索、筛选和组合证据。这将 DCI 从一种基于大型专有模型推理时提示的策略(如 Li 等人,2026 (https://arxiv.org/html/2605.29307#bib.bib14))转变为较小智能体的一种学习能力。训练这样的智能体具有挑战性:简单应用强化学习(RL)常常会导致退化的行为,例如命令过于宽泛、上下文检索过多或搜索行为不稳定。为了稳定学习,我们首先创建一个冷启动数据集,展示成功的 DCI 行为。对于每个训练问题,一个知晓答案的“导师”(Tutor)会获得真实答案,并构建一个 shell 命令的反向链条,其执行能检索到支持该答案的语料库文档。这种反向构建对于复杂和多跳问题尤其有用,因为它允许“导师”一次一跳地识别支持性证据,同时保持从最终答案回溯到原始问题的明确链条。然后,我们使用一个不知晓答案的“规划器”(Planner)将经过验证的反向链条转换为一个前向的、因果有效的轨迹。“规划器”从智能体可观察的历史中生成推理轨迹和命令,模拟智能体在推理时解决问题的方式。接着,“导师”将这些步骤与反向链条中的已验证命令和证据对齐。这产生了因果上根植于已观察信息的轨迹,同时允许“导师”指导“规划器”走向已验证的搜索路径。最后,我们使用分组相对策略优化(GRPO)(Shao 等人,2024 (https://arxiv.org/html/2605.29307#bib.bib2))来微调初始化后的策略,使智能体能够通过与语料库直接交互进一步改进其面向任务的搜索行为。
为了使直接语料库交互智能体在现实世界中实用,即使在处理包含数百万文档的语料库时,检索延迟也必须保持在可控范围内。然而,在大型多千兆字节文本集上顺序执行标准 shell 管道会引入大量的 I/O 和处理瓶颈,使得朴素执行对于交互式智能体来说慢得令人望而却步。为了解决这个问题,我们开发了一个保持语义的分片并行执行引擎,该引擎能动态地将兼容的 shell 管道分布到并行的语料库分片上。这大大降低了检索延迟,同时保持了与标准顺序执行的字节级等价性。
> 见图2 标题:图 2:GrepSeek 的工作流程:通过 shell 命令与语料库进行迭代交互。
为了评估 GrepSeek,我们在七个知识密集型问答基准上进行了实验,涵盖单跳和多跳问题。单跳基准包括 Natural Questions (NQ) (Kwiatkowski 等人,2019 (https://arxiv.org/html/2605.29307#bib.bib10))、TriviaQA (Joshi 等人,2017 (https://arxiv.org/html/2605.29307#bib.bib48)) 和 PopQA (Mallen 等人,2023 (https://arxiv.org/html/2605.29307#bib.bib47))。多跳基准包括 HotpotQA (Yang 等人,2018 (https://arxiv.org/html/2605.29307#bib.bib46))、2WikiMultihopQA (Ho 等人,2020 (https://arxiv.org/html/2605.29307#bib.bib45))、MuSiQue (Trivedi 等人,2022 (https://arxiv.org/html/2605.29307#bib.bib44)) 和 Bamboogle (Press 等人,2023 (https://arxiv.org/html/2605.29307#bib.bib43)),所有这些都要求跨多个文档进行迭代证据聚合和组合推理。我们的实验表明,GrepSeek 显著优于标准的基于索引的 RAG 系统、未经训练的智能体框架,甚至是通过 RL 优化检索(使用稠密或稀疏检索器)的搜索智能体。具体来说,GrepSeek 在七个基准中的四个(NQ、HotpotQA、2WikiMultihopQA 和 MuSiQue)上取得了最佳词元级 F1 性能,并在多个数据集上具有统计学显著改进。这些优势在多跳推理任务上尤其明显,传统检索系统经常因检索器引入的语义混淆和实体歧义而受挫。相比之下,通过显式执行精确字符串匹配的 shell 管道(例如 `rg -F`),GrepSeek 保留了细粒度的词法区别,并能隔离出组合推理所需的稀有符号模式、精确实体名称和中间桥接实体。尽管我们的方法在存在显著表面形式变化或语义宽泛短语的数据集上表现略有下降,但 GrepSeek 最终实现了最强的整体性能,使 DCI 成为一种极具竞争力和实用性的替代方案,可与基于索引检索的搜索智能体媲美。
为了使 DCI 智能体在大规模下实用,我们的保持语义的分片并行执行引擎可将基于 shell 的检索加速高达 7.6 倍,将平均搜索延迟从标准顺序执行下的 5.39 秒降低到分片并行执行下的 0.71 秒。因此,在所有数据集上,GrepSeek 的平均整体端到端延迟(包括推理、多轮信息检索和最终答案生成)降低到在单个 NVIDIA A100 GPU(80GB VRAM)、32 CPU 核心和 32GB 系统 RAM 上每个查询约 8.6 秒。为了支持未来关于直接语料库交互智能体的研究,我们发布我们的代码库、训练数据和模型检查点³。
³ 访问网站:https://github.com/alirezasalemi7/grepseek
## 2 优化直接语料库交互搜索智能体
与我们的工作同期且独立地,Li 等人(2026 (https://arxiv.org/html/2605.29307#bib.bib14))引入了直接语料库交互(DCI),其中智能体绕过了预先计算的检索索引,通过类 Unix shell 命令(如关键词匹配和可执行文本处理程序)直接搜索原始语料库。然而,他们的方法主要将 DCI 视为一种推理时提示策略,依赖于像 Claude 这样具有强大代码生成能力的大型专有模型来编排搜索。这使得系统计算成本高昂且操作效率低下,通常需要大量时间——长达一小时——来回答单个查询。相比之下,我们的工作研究了优化较小搜索智能体以学习 DCI 作为训练能力的挑战,包括在大型语料库上的不稳定优化、命令使用过于宽泛以及上下文检索过多,从而使轻量级模型能够通过习得的搜索行为与语料库交互并解决任务。
##### DCI 搜索智能体:
图 1(右)提供了 DCI 智能体-语料库交互的概览,图 2 展示了一个代表性轨迹。DCI 搜索智能体 $\pi_\theta$ 在 ReAct 框架(Yao 等人,2023 (https://arxiv.org/html/2605.29307#bib.bib1))中运行。给定一个问题 $q$ 和附录 B 中图 6 所示的系统提示,智能体直接与语料库 $\mathcal{C}$ ⁴ 交互,语料库中的每一行对应一个文档。交互进行最多 $T$ 步,产生轨迹 $\tau = \{(t_i, a_i, o_i)\}_{i=1}^T$,其中 $t_i$ 表示推理轨迹,$a_i$ 表示动作,$o_i$ 表示观察结果。在第 $i$ 步,基于问题 $q$ 和先前的动作与观察结果 $\tau_{<i}$,智能体生成推理轨迹 $t_i$ 和动作 $a_i$。动作 $a_i$ 要么是语料库交互命令⁵,要么是终止动作,终止动作会输出最终答案 $\hat{y}_q$。
⁴ 语料库不需要存储为单个物理文件。为简化起见,我们将其暴露给智能体作为一个逻辑文件,使模型能够基于一个统一的语料库接口进行推理。在内部,执行引擎可以将相同的命令映射到底层文件集合并相应执行。
⁵ 动作空间包括 Unix 工具,例如 `rg`、`grep`、`find`、`sed`、`awk`、`head`、`tail`、`cat`、`ls`、`wc`、`sort`、`cut`、`uniq` 和 `tr`。相似文章
@omarsar0: // Is Grep All You Need? // 注意了,AI开发者们。(收藏起来)他们发现,grep风格的文本搜索,当…
PwC的一篇研究论文发现,当正确集成到代理框架中时,grep风格的文本搜索在编码代理任务上可以匹配或超越基于嵌入的检索,这表明向量数据库对许多用例可能并非必需。
@jerryjliu0:关于grep是否是智能体搜索所需的全部工具,这个问题尚无定论。@PwCUS(Sen等人)最近的这篇论文似乎……
最近的一篇论文研究了在智能体检索中,grep是否优于向量搜索,发现grep在对话记忆测试中具有更高的准确性,但也指出了在企业文档语料库方面的局限性。
@tom_doerr: 完全开源 30B 规模搜索智能体的训练数据 https://github.com/PolarSeeker/OpenSeeker…
OpenSeeker 完全开源了基于 ReAct 框架的 30B 规模搜索智能体的训练数据与模型,在多个基准测试(包括 BrowseComp 和 Humanity's Last Exam)上达到了最先进的性能。这是首个在前沿搜索基准上达到顶尖水平并同时公开完整训练数据的纯学术项目。
超越语义相似性:通过直接语料库交互重新思考智能体搜索的检索
论文提出了直接语料库交互(DCI),这是一种新颖的方法,允许AI代理使用标准终端工具直接查询原始文本,而不是传统的基于嵌入的检索。通过绕过固定的相似性接口和离线索引,DCI在多个信息检索和智能体搜索基准上显著优于传统的稀疏、密集和重排序基线。
@DanKornas:DeepDive 是一种深度搜索代理的模式:从知识图谱合成问答,然后用……训练多轮浏览
DeepDive 是一种用于构建深度搜索代理的模式,它从知识图谱合成问答,并通过强化学习(GRPO)训练多轮浏览。该模式包括实体混淆和结合工具调用的测试时缩放。