一、为什么 Claude Code 等主流 Agent 工具不使用传统 RAG
1. 核心原因:代码场景下"精确匹配"比"语义相似"更重要
Claude Code 的创始人 Boris Cherny(Anthropic 工程师)明确表示:早期版本确实尝试过 RAG + 本地向量数据库,但最终发现 Agentic Search overwhelmingly better(压倒性更优)。
在代码场景中:
- RAG 擅长语义搜索,但代码更需要的是精确匹配(比如函数名、变量名、文件路径的完全匹配)
- 语义相近的代码片段往往是噪音,会干扰模型判断
2. Agentic Search 的工作方式
Claude Code 采用的是 Agentic Search(智能体搜索),本质上是让 AI 自主决定如何搜集信息:
| 方式 | 工具 | 说明 |
|---|---|---|
| 查文件路径 | Glob | 匹配符合通配符的文件名 |
| 查文本内容 | Grep | 搜索包含特定字符串或正则的文本行 |
| 读取文件 | Read | 直接读取完整文件获取上下文 |
| 网络搜索 | Web Search | 需要时搜索外部文档 |
这种方式不需要预处理和索引,AI 像人类工程师一样实时探索代码库。
3. 传统 RAG 在代码场景的具体缺陷
根据 Anthropic 的实践经验:
- 准确性问题:返回的信息经常"差那么一点",引用的是过时或无关的代码片段
- 索引新鲜度:代码变更频繁,向量索引很快过时,维护成本高
- 安全隐患:代码存入向量数据库可能带来信息泄露或数据投毒风险
- 运维复杂度:预处理、索引管理、向量数据库维护都是隐性成本
4. Coding Agent 领域的技术路线分化
目前 Coding Agent 领域存在三种路线:
| 路线 | 代表工具 | 特点 |
|---|---|---|
| 完全抛弃 RAG 的实时搜索派 | Claude Code、Cline | 纯动态搜索,无预处理 |
| 基于图结构的智能索引派 | Aider | AST + 图结构,代码文件为节点,依赖关系为边 |
| 混合 RAG + 高级技术派 | Cursor、Windsurf | 使用 embedding + 向量数据库,但加入很多高级优化 |
二、什么场景才需要使用 RAG?
虽然 Claude Code 放弃了标准 RAG(Embedding + 向量数据库 + 相似性搜索),但 RAG 在以下场景仍然是最优解:
适合使用 RAG 的场景
| 场景 | 原因 | 示例 |
|---|---|---|
| 大规模文档知识库 | 文档数量超过上下文窗口容量(通常 >200 篇) | 企业内部知识库、产品文档、FAQ |
| 非结构化文本检索 | 需要语义理解而非精确匹配 | 客服支持、法律文档分析、医疗知识查询 |
| 需要溯源和合规 | 必须引用来源,可解释决策依据 | 金融合规、医疗诊断、法律咨询 |
| 静态或低频更新数据 | 索引维护成本可控 | 历史档案、标准规范、培训材料 |
| 多模态混合检索 | 需要同时处理文本、图像、音频 | 内容审核、质量检测 |
不适合 RAG、更适合 Agentic Search 的场景
| 场景 | 原因 |
|---|---|
| 代码库探索 | 需要精确匹配,结构清晰,搜索范围可预测 |
| 实时性要求高的数据 | 数据变化快,索引难以保持新鲜 |
| 结构化数据查询 | 已有明确查询路径(如 SQL、文件系统) |
三、关键洞察:RAG 并没有"死",只是被重新定义
-
广义上,Agentic Search 也是一种 RAG —— 它仍然是在"检索外部信息并基于其生成",只是检索方式从向量相似性搜索变成了智能体自主探索
-
上下文窗口的扩大削弱了部分 RAG 需求 —— 像 Claude 200K、Gemini 2M 的上下文窗口,可以直接塞入整个代码库或大量文档,减少了对复杂检索系统的依赖
-
混合架构是趋势 —— 实际生产环境中,往往不是二选一,而是结合使用:RAG 处理大规模文档知识,Agentic Search 处理代码和结构化数据
四、总结
Claude Code 不用传统 RAG 的核心逻辑:在代码这个特定领域,维护向量索引的成本和复杂性,超过了它带来的收益。让 AI 像程序员一样用 grep、glob 实时搜索,反而更准确、更灵活、运维更简单。
使用 RAG 的黄金法则:当你的数据是大规模、非结构化、静态文档,且语义相似性比精确匹配更重要时,RAG 仍然是最佳选择。对于代码、结构化数据、实时变化的数据,Agentic Search 或长上下文窗口通常是更好的方案。
> 本文整理自 2026 年 4 月的网络搜索资料,主要参考了 Anthropic 官方博客、Claude Code 技术文档及相关技术社区讨论。