@jerryjliu0:关于grep是否是智能体搜索所需的全部工具,这个问题尚无定论。@PwCUS(Sen等人)最近的这篇论文似乎……
摘要
最近的一篇论文研究了在智能体检索中,grep是否优于向量搜索,发现grep在对话记忆测试中具有更高的准确性,但也指出了在企业文档语料库方面的局限性。
查看缓存全文
缓存时间: 2026/05/18 06:28
关于“grep是否足以满足代理搜索需求”这一问题,目前尚无定论。
@PwCUS(Sen 等人)最近这篇论文似乎暗示了这一点。论文标题为“Grep 够用了吗?代理工具如何重塑代理搜索”。他们测试了多种代理工具(内部开发的工具、Claude Code、Codex),并为代理同时配备了向量搜索和 grep 功能。
他们发现,grep 通常比语义搜索具有更高的准确性。
在我看来,该论文的主要不足在于,它测试的是对对话记忆的检索,而非对企业文档的真实语料库的检索。标准的企业 RAG 设置涉及对静态文档语料库(例如 10-K 文件、法律合同、标准操作程序)提出复杂问题。这里的语料库是每个用户的聊天历史,这是一种相当不同的文档分布。
我确实认为,不断发展的代理工具简化了检索问题——这就是文件沙箱如此流行,而向量数据库“只是一个数据库”的原因——但我认为,在这方面仍有更多工作要做。
论文:https://arxiv.org/pdf/2605.15184
Grep 够用了吗?代理工具如何重塑代理搜索
来源:https://arxiv.org/html/2605.15184 ,Akhil Kasturi普华永道,美国[email protected] (https://arxiv.org/html/2605.15184v1/mailto:[email protected]),Elias Lumer普华永道,美国[email protected] (https://arxiv.org/html/2605.15184v1/mailto:[email protected]),Anmol Gulati普华永道,美国,Vamse Kumar Subbiah普华永道,美国
摘要.
大型语言模型(LLM)代理的最新进展使得复杂的代理工作流成为可能,在这些工作流中,模型能够自主检索信息、调用工具,并在大型语料库上进行推理,以代表用户完成任务。尽管检索增强生成(RAG)在代理系统中的采用日益增长,但现有文献缺乏对检索策略选择如何与代理架构和工具调用范式相互作用的系统性比较。重要的实际维度,例如工具输出如何呈现给模型,以及当搜索必须处理更多无关的周围文本时性能如何变化,在代理循环中仍未得到充分探索。本文报告了一项实证研究,该研究分为两个实验。实验1 使用自定义代理工具(Chronos)和供应商原生命令行工具(Claude Code、Codex 和 Gemini CLI),在 LongMemEval 的 116 个问题样本上比较了 grep 和向量检索,同时考虑了内联工具结果和模型单独读取的基于文件的工具结果。实验2 比较了仅 grep 和仅向量检索,同时逐步混入更多不相关的对话历史,使得每个查询都嵌入了更多干扰材料以及相关段落。在 Chronos 和供应商 CLI 上,我们在实验1 的比较中发现,grep 通常比向量检索产生更高的准确率;同时,整体得分仍然强烈依赖于所使用的具体工具和工具调用风格,即使底层对话数据相同也是如此。
代理搜索、语义搜索、词法搜索、上下文工程、代理工具、LLM 评估、Grep
††版权声明:无## 1. 引言
现代 LLM 代理越来越依赖 RAG 来在推理时访问外部知识(Lewis 等人,2020 (https://arxiv.org/html/2605.15184#bib.bib1); Gao 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib2)),使其能够对远超其上下文窗口的语料库进行推理。通过工具调用,代理发出搜索查询,接收排序后的结果,并迭代地完善其理解,然后生成答案(Yao 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib13); Schick 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib10); Qin 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib14))。两种检索范式主导着这一领域:语义向量搜索(将查询和文档嵌入到共享的潜在空间中进行近似最近邻匹配)(Karpukhin 等人,2020 (https://arxiv.org/html/2605.15184#bib.bib5))和词法搜索(例如 grep、BM25、正则表达式),后者对原始文本执行精确或基于模式的匹配。虽然向量搜索已成为大多数 RAG 系统的默认选择(Gao 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib2); Wang 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib3)),但词法搜索因其简单性、稳定性和低嵌入成本而在实践中仍被广泛使用(Lin, 2019 (https://arxiv.org/html/2605.15184#bib.bib6); Thakur 等人,2021 (https://arxiv.org/html/2605.15184#bib.bib4))。然而,在端到端的代理工作流中,检索策略如何与代理架构和工具调用范式相互作用,仍然知之甚少。尽管代理搜索的采用日益增长(Asai 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib17); Jiang 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib18); Trivedi 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib19)),但现有研究在很大程度上独立于代理架构来评估检索策略。信息检索社区已经对词法和密集检索方法进行了广泛的基准测试(Thakur 等人,2021 (https://arxiv.org/html/2605.15184#bib.bib4); Luan 等人,2021 (https://arxiv.org/html/2605.15184#bib.bib28); Formal 等人,2021 (https://arxiv.org/html/2605.15184#bib.bib8)),并在独立管道中研究了检索质量、分块和重排序(Gao 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib2); Wang 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib3))。然而,这些评估通常假设一个固定的管道,其中检索到的文档被连接成一个提示,忽略了表征现代代理系统的迭代的、由工具中介的检索循环(Qin 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib11); Patil 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib12))。在实践中,代理接收排序后的列表,但并未将其视为终端:它们决定搜索什么、发出多少查询,以及检索到的结果是否足够或需要进一步优化,所有这些都由代理工具及其工具调用接口中介(Somers 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib16); Wang 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib15))。此外,工具结果如何呈现给模型——是内联注入到上下文窗口中,还是写入代理必须显式读取的文件——引入了先前工作未曾考察的另一项架构考量。同时,供应商原生命令行界面代理的出现,例如 Claude Code(Anthropic)、Codex(OpenAI)和 Gemini CLI(Google),创建了一类与自定义构建的工具根本不同的新型代理系统(Yang 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib25))。这些供应商工具将工具调用嵌入到基于 shell 的界面中,模型可以直接访问诸如 grep 之类的命令行执行工具,而自定义工具和代理 SDK 则提供对工具调用循环、上下文构建和结果格式化的细粒度控制。检索策略的有效性在这些架构不同的工具类别之间如何变化尚待研究。此外,检索质量一个较少被研究的维度是对语料库噪声的鲁棒性:随着不相关文档与相关文档的比例增加,检索策略可能会以不同的速率退化(Liu 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib21)),理解这种缩放行为对于针对大型、有噪声的语料库部署 RAG 系统至关重要。本文旨在通过一项关于工具配备的 LLM 代理的检索策略的实证研究来弥合这些差距,该研究按实验(第 4 节 (https://arxiv.org/html/2605.15184#S4))组织。我们在自定义工具 Chronos(Sen 等人,2026 (https://arxiv.org/html/2605.15184#bib.bib32))和供应商原生命令行界面工具(Claude Code、Codex、Gemini CLI)上评估词法搜索和语义向量搜索,同时考虑标准的内联上下文交付和程序化的基于文件的结果交付。我们在 LongMemEval 基准测试(Wu 等人,2025 (https://arxiv.org/html/2605.15184#bib.bib24))的一个包含 116 个问题的子集上评估了多个 LLM,该子集涵盖六类信息检索任务。本文的贡献有三方面:
- 检索、工具和呈现。提供了关于词法检索与密集检索的选择如何与代理编排层以及工具输出是通过内联还是文件呈现相结合的证据。
- 噪声与规模。刻画了当不相关的周围内容相对于任务相关材料增长时,端到端行为如何演变,包括检索器行为与更广泛代理循环之间的交互。
- 代理栈的异质性。直接的比较表明,即使在底层文本语料库保持不变的情况下,检索有效性在架构不同的工具(自定义工具与供应商原生命令行界面)之间也是不稳定的。
2. 代理系统中的检索概览
代理系统中的检索指的是 LLM 代理在语料库上识别、执行和使用搜索操作以回答用户查询的过程。与固定查询与文档索引匹配并将前 k 个结果连接到提示中的独立检索管道(Lewis 等人,2020 (https://arxiv.org/html/2605.15184#bib.bib1); Gao 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib2))不同,代理检索是迭代的且由代理主导:模型决定搜索什么、发出多少查询,以及检索到的结果是否足够或需要优化(Yao 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib13); Jiang 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib18); Asai 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib17))。此过程由两个设计维度共同决定端到端有效性:检索策略(词法、语义或混合)和代理工具(自定义或供应商原生)。
2.1. 检索策略
代理搜索系统的检索策略大致分为三类:词法、语义和混合。每种策略在准确性、延迟、成本和鲁棒性方面都提供了不同的权衡。
2.1.1. 词法搜索.
词法检索方法对原始文本执行精确或基于模式的匹配。诸如 BM25(Lin, 2019 (https://arxiv.org/html/2605.15184#bib.bib6))之类的经典方法通过词频和逆文档频率对文档进行评分,而 grep 搜索则使用正则表达式或子串匹配来定位包含特定关键字的段落(Lumer 等人,2025a (https://arxiv.org/html/2605.15184#bib.bib29))。词法方法不需要嵌入模型或向量索引,并且除了文本扫描本身之外,几乎没有计算成本。BEIR 基准测试表明,BM25 在各种检索任务中仍然是一个有竞争力的基线,通常在零样本设置中优于早期的密集检索模型(Thakur 等人,2021 (https://arxiv.org/html/2605.15184#bib.bib4))。诸如 SPLADE(Formal 等人,2021 (https://arxiv.org/html/2605.15184#bib.bib8))之类的学习型稀疏表示通过学习的词汇表扩展查询和文档术语,从而弥合了精确匹配和语义理解之间的差距,同时保留了稀疏表示的可解释性和效率。
2.1.2. 语义搜索.
语义或密集检索将查询和文档编码为共享嵌入空间中的密集向量,并检索最近邻,最常见的方式是近似最近邻(ANN)搜索(Karpukhin 等人,2020 (https://arxiv.org/html/2605.15184#bib.bib5))。密集段落检索(DPR)通过在问答段落对上训练双编码器确立了这一范式,使得检索基于意义而非表面的术语重叠(Karpukhin 等人,2020 (https://arxiv.org/html/2605.15184#bib.bib5))。RAG 系统通过将密集检索与生成模型结合扩展了这一点,允许检索器和生成器进行联合优化(Lewis 等人,2020 (https://arxiv.org/html/2605.15184#bib.bib1))。现代 RAG 管道通常使用预训练的嵌入模型在索引时编码文档,在推理时编码查询,并可选择在检索后进行重排序以优化初始候选集(Gao 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib2); Wang 等人,2024 (https://arxiv.org/html/2605.15184#bib.bib3))。虽然语义搜索擅长处理释义和语义相似性,但它引入了对嵌入模型质量、向量索引基础设施和索引延迟的依赖,而这些是词法方法所避免的。
2.1.3. 混合方法.
混合检索结合了词法和语义信号,以利用两种范式的优势。倒数排名融合(RRF)(Cormack 等人,2009 (https://arxiv.org/html/2605.15184#bib.bib27); Gulati 等人,2026 (https://arxiv.org/html/2605.15184#bib.bib30))融合了来自独立词法和密集检索器的排序列表,无需分数校准。诸如 ColBERT(Khattab and Zaharia, 2020 (https://arxiv.org/html/2605.15184#bib.bib7))之类的后期交互模型计算查询和文档表示之间的细粒度令牌级相似性,在单向量检索的效率和交叉编码器重排序的表现力之间取得了平衡。对稀疏和密集表示互补性的研究表明,词法和语义方法通常检索到不同的相关文档,因此它们的组合比单独使用任何一种都更有效(Luan 等人,2021 (https://arxiv.org/html/2605.15184#bib.bib28))。在代理设置中,当代理能够同时访问词法和语义搜索工具并根据查询在它们之间进行选择时,混合检索也可以有机地出现。
2.2. 代理工具
代理工具是管理工具调用循环的环境层:它构建提示、分发工具调用、接收结果,并决定是继续迭代还是生成最终答案。我们区分两类在对此过程的控制程度上根本不同的工具。
2.2.1. 自定义工具.
自定义工具由开发者使用代理框架、提供商开放 SDK 或自定义代码构建(Yao 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib13); Somers 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib16))。这些工具提供对代理循环每个阶段的细粒度控制:系统提示、工具定义、上下文构建、结果格式化和迭代终止条件。ReAct 范式(Yao 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib13))将推理轨迹与工具操作交织在一起,是自定义工具最广泛采用的模式。开发者可以实现特定领域的优化,例如动态提示(根据查询定制系统提示)、结果截断策略和检索段落的重新排序。自定义工具还允许显式管理上下文窗口,例如通过总结或丢弃较早的工具结果,随着对话增长(Lumer 等人,2025b (https://arxiv.org/html/2605.15184#bib.bib31); Packer 等人,2023 (https://arxiv.org/html/2605.15184#bib.bib23))。
相似文章
@omarsar0: // Is Grep All You Need? // 注意了,AI开发者们。(收藏起来)他们发现,grep风格的文本搜索,当…
PwC的一篇研究论文发现,当正确集成到代理框架中时,grep风格的文本搜索在编码代理任务上可以匹配或超越基于嵌入的检索,这表明向量数据库对许多用例可能并非必需。
@dair_ai:关于自主搜索与向量搜索的精彩论文。
本文讨论并比较了自主搜索与向量搜索方法。
重新思考基于 Pi-Serini 的智能体搜索:词法检索是否足够?
本文介绍了 Pi-Serini,这是一个基于 BM25 的智能体搜索系统。该系统证明了当智能体优化查询时,词法检索足以支持深度搜索,相比默认设置,它在实现高准确率的同时降低了成本。
自主代理搜索模型(5分钟阅读)
自主代理搜索模型是专门为编排搜索任务而训练的LLM,相比GPT-5等通用模型,它们提供更小、更快且领域特定的替代方案。这些模型通过让智能模型管理整个检索过程,解构了传统的单体搜索栈。
超越语义相似性:通过直接语料库交互重新思考智能体搜索的检索
论文提出了直接语料库交互(DCI),这是一种新颖的方法,允许AI代理使用标准终端工具直接查询原始文本,而不是传统的基于嵌入的检索。通过绕过固定的相似性接口和离线索引,DCI在多个信息检索和智能体搜索基准上显著优于传统的稀疏、密集和重排序基线。