By 小墨
2026年4月30日
83
454
RAG已死?不,是Grep回归了!
过去一年,“RAG已死”的论调甚嚣尘上。随着长上下文窗口的普及和Agent技术的崛起,业界开始重新审视检索增强生成在新型应用场景中的适用性。以Claude Code、Codex为代表的新一代Agent CLI工具更是用脚投票——它们放弃了传统的embedding+向量库方案,转而采用LLM驱动的Grep搜索。这一技术决策的背后究竟隐藏着怎样的考量?RAG在Agent时代是否真的失去了价值?
LLM驱动的多轮搜索机制
Claude Code的创建者Boris Cherny曾在多个公开场合透露:一个让很多人意外的事实是——Claude Code不用RAG,不用embedding,不建索引,核心搜索完全依靠LLM驱动的Grep。他在社交媒体上坦言:“早期版本的Claude Code使用了RAG加上本地向量数据库,但我们很快发现,智能体式的搜索通常效果更好。”Anthropic官方的Context Engineering博客也确认了这一架构选择。
性能原理:暴力搜索为何足够快
Claude Code的代码搜索机制可以概括为:LLM自主决定搜索什么、使用什么工具、是否继续搜索——整个过程没有预设的搜索流程,一切由LLM在运行时动态决策。 搜索循环的核心是一个持续运转的机制:将用户输入和可用工具列表传给LLM,LLM返回文本或工具调用请求。如果是工具调用,执行后将结果追加到对话历史,然后带着更新后的完整历史再次调用LLM。这个循环会持续到LLM认为信息充分、可以直接生成回答为止。 与代码搜索相关的核心工具包括:GrepTool(正则搜索)、GlobTool(文件名模式匹配)、FileReadTool(文件读取)、AgentTool(启动子agent做多步探索)。其中AgentTool特别值得关注——它启动一个独立的子agent在自己的context window里完成搜索任务,最后只返回结论给主对话。这种设计实现了context隔离,避免了主对话被大量中间结果撑满。 GrepTool还提供了三种输出模式来控制信息量:files_with_matches(默认,只返回文件路径)、content(返回匹配行及其上下文)、count(只返回匹配数量)
两个互为竞争对手的AI编程产品,独立做出了几乎相同的架构决策,用LLM驱动ripgrep,放弃向量检索。这不太可能是巧合。
“小墨”行业对比与设计哲学
ripgrep是Claude Code底层使用的搜索工具,由Andrew Gallant用Rust重写,为大型代码库的快速搜索场景专门设计。它在真正搜索内容之前,有多层过滤逐步缩小范围:.gitignore目录级剪枝、path参数路径限制、glob文件类型过滤、二进制文件检测、内容正则匹配。这五层过滤是乘法叠加的——例如在4,471个文件的源码上,通过path限制bridge/目录后直接降到32个文件。 在内容匹配层面,ripgrep同样有多项优化:SIMD向量化匹配利用CPU指令并行比较字节,Boyer-Moore跳跃算法在固定字符串搜索时直接跳过多个字符,操作系统Page Cache让常用代码文件常驻内存,mmap零拷贝技术避免数据复制,多线程并行处理不同文件。实测数据显示,在4,500个文件、95万行代码的规模上,ripgrep搜索耗时约0.1秒,而GNU grep需要2-3秒,差距达25-33倍。
Grep的有效性边界
Claude Code选择零索引方案,但业界并非所有人都持相同观点。Cursor采用了经典的双索引架构——语义索引用tree-sitter切分代码块、通过embedding模型生成向量存入Turbopuffer;精确搜索索引使用trigram倒排索引加速grep。但有趣的是,Cursor在2025年泄露的Agent system prompt里,grep_search被明确标注为主要探索工具,LLM被要求先用一组宽泛关键词进行Grep,语义搜索只在“概念性查询”时作为补充。 OpenAI的Codex CLI与Claude Code做出了几乎相同的选择——同样不建索引、不用embedding。但两者实现路径有所不同:Claude Code为搜索操作封装了专用工具(GrepTool、Glob、Read),有结构化参数;而Codex让模型直接通过shell工具执行rg、find、cat等Unix命令。两个竞争对手独立做出了相似的架构决策,这不太可能是巧合——说明在当前LLM能力水平和开发者本地项目规模下,零索引+Grep已经是一个被反复验证的有效方案。 关于token成本问题,C
如有侵权,请联系删除。
Related Articles
-
Fri Jul 24 2026原生工具调用、多模态Agent与开源模型:Foundation Model 2.0论坛直面Agent时代的模型演进
Foundation Model 2.0论坛聚焦在Agent时代模型的演进,讨论如何通过原生工具调用与多模态融合提升Agent的执行能力与适应性,并探讨端侧小模型的可行路径。
-
Mon Jul 06 2026示例域名与文档用途说明
example.com 是一个专门为文档示例而保留的顶级域名,供教程、示范和测试文档使用,不需要额外许可即可引用。
-
Mon Jul 06 2026未知文章标题
未提供文章内容或可抓取的 URL,因此无法提取实际引言或第一段。此处为占位文本,提示用户补充源内容以生成完整的 Frontmatter。
-
Sun Jul 05 2026未知来源文章
未提供可爬取的文章 URL 或内容,系统无法获取实际正文。此处为占位引言,说明输入数据缺失并提供元数据占位以便后续替换。
-
Sun Jul 05 2026无法生成:缺少文章源数据
未提供可用于爬取的文章 URL 或 JSON 数据,因此无法依据页面内容生成完整的 Frontmatter。请提供包含文章信息的 JSON 数组或一组有效 URL。
-
Sun Jul 05 2026未提供的文章标题
未提供文章内容。请提交文章的 URL 或粘贴全文,以便根据内容生成前言与分段信息。
-
Sat Jul 04 2026未提供文章链接或内容
未提供文章内容或链接,无法提取引言或第一段。请提交包含文章 URL 的 JSON 数组或直接提供文章文本。
-
Sat Jul 04 2026未提供文章信息
未收到文章内容或可爬取的 URL,因此无法生成文章段落。请提交包含文章 URL 的 JSON 数组,格式示例:[ {"url": "https://example.com/article1"}, {"
-
Sat Jul 04 2026未提供文章来源
未收到可用的文章内容或链接,因此无法提取段落。请提交包含多篇文章信息的 JSON 数组或每篇文章的 URL,以便爬取并生成完整的 postDetails 内容。
-
Fri Jul 03 2026示例文章标题(缺少来源)
未收到具体文章 URL 或内容,因此无法从原文中提取引言。此处为占位引言,说明系统需要源页面以抓取实际内容并生成结构化的 Astro Markdown YAML Frontmatter。
-
Thu Jul 02 2026聚焦自进化、Harness等Agent最火的九个方向,年度AI智能体大会7月开幕
中国AI智能体大会(AgenticAICon 2026)将于7月在杭州举办,围绕智能体领域的前沿技术展开,旨在推动研究与产业深度融合,探寻智能体从对话式工具向主动执行系统转型的路线图。
-
Wed Jul 01 2026探索 Astro.js 与 YAML:构建可维护的内容管理工作流
在现代静态站点与内容驱动的项目中,统一且可验证的元数据格式对内容维护和自动化发布至关重要。Astro.js 提供了灵活的内容渲染能力,而采用严格的 YAML Frontmatter 模板,可以让团队共
-
Tue Jun 30 2026首届光谷智能体经济大会举行 光谷从“AI试验场”迈向“AI价值场”
2026年6月29日,武汉东湖新技术开发区举办首届光谷智能体经济大会,正式发布“光谷智能体引力计划”。大会提出未来三年将在政策、算力、基金等方面投入超10亿元,旨在打造以智能体为核心的创新生态,培养智
-
Tue Jun 30 2026中国广电联合会《全国交通传媒行业AI应用调研报告》正式发布
中国广电联合会交通宣传委员会在内蒙古发布了《2026全国交通传媒行业AI应用调研报告》,基于对145家交通传媒机构的调查,总结了行业在AI应用上的现状与发展路径。
-
Tue Jun 30 2026韩国万亿'芯'基建拆解:存储行业能否建成AI时代'油田'
韩国近期公布了总投资逾1800万亿韩元的三大超级AI基建项目,涵盖半导体制造、先进封装与AI数据中心,目标是借助国家级投入与龙头企业布局,打造面向AI时代的关键产业能力。
-
Mon Jun 29 2026能量岛企业家俱乐部6.28 芯谷 AI 沙龙圆满落幕
6月28日,能量岛企业家俱乐部在苏州芯谷产业园举办AI智能体应用沙龙,活动以实战分享和产业交流为核心,吸引了本地创业者、企业高管与科研人员参与。
-
Mon Jun 29 20262026.06.20:AI 泡沫退潮,Agent 与数据架构重构产业底层
InfoQ 的周度深度分析指出,生成式 AI 已走完狂热期,行业正进入理性调整阶段,专家纷纷回归技术和落地路径的讨论。
-
Mon Jun 29 2026OKF——要做AI时代的'知识图谱通用语'—继MCP之后,Google又扔出一张Agent王牌
2026年6月,谷歌云发布了Open Knowledge Format(OKF)v0.1,这是一套以带YAML前置元数据的Markdown文件夹为单位来表示知识的开放规范,旨在解决企业知识分散的问题。
