2023-2024 年行业讨论的主角是模型与提示词;2025 年之后重心明确移向上下文工程(context engineering):agent 改错一个函数不难,难的是在百万行的单体仓库里找到那个函数、看清它被谁调用、以及团队三年前为什么这么写。代码搜索因此完成了角色转变——从"人找代码的工具"(GitHub 代码搜索、grep)变成"机器找代码的管道":搜索结果的质量直接构成 AI 编程质量的地基。这就是所谓 AI 编程新基建:仓库知识库(结构化代码+文档+决策记录的可检索集合)、仓库地图(repo map,代码结构的压缩表示)、CodeRAG(面向代码生成的检索增强)。
这个转变的驱动力很硬:即便 2025-2026 年旗舰模型的上下文窗口已达百万 token 级,"把整个仓库塞进 prompt"依然不经济也不可靠——长上下文的注意力衰减、token 成本、以及仓库旁边的隐性知识(ADR 决策记录、issue 讨论、wiki)都塞不进去。检索不是权宜之计,而是长期形态:人类专家改代码前也是先搜索、先看调用图,而不是把整个系统背下来。
| 路线 | 代表实现 | 原理 | 强项 | 短板 |
|---|---|---|---|---|
| 词法检索 | ripgrep、BM25、Cody 内置搜索 | 关键词与符号精确匹配 | 精确、零索引成本、可解释 | 不懂语义与意图,改名即失明 |
| 语义向量索引 | Cursor 代码库索引、各 IDE 的 embeddings 方案 | 把代码切块嵌入向量库,按语义近邻召回 | 能按"意图"找到改名前的代码 | 索引构建与刷新成本、过期风险、跨仓库权限难管 |
| 仓库地图 / 代码图谱 | Aider repo map(tree-sitter 抽取 AST + 图排序) | 把仓库压成"符号+依赖"的骨架图,按 token 预算裁剪后喂给模型 | token 效率极高,让小上下文模型也能跨文件作业 | 只给结构不给实现细节,实现复杂 |
| 企业级 CodeRAG 服务 | Sourcegraph(Cody/Amp)、Augment Code、Greptile | 混合检索+代码智能+权限体系,作为服务提供给 agent | 跨仓库、权限、审计,面向大组织 | 闭源或付费,与内部系统集成有工程量 |
学术侧的进展值得单独一说:CodeRAG-Bench(arXiv 2406.14497,后被 NAACL 2025 Findings 收录)把"检索增强代码生成"变成可度量的基准,覆盖基础编程、开放域与仓库级任务,用异构检索源(含 BM25 与稠密检索器)系统评测;其核心结论是检索确实能显著提升仓库级生成质量,但检索器引入的噪声与无关上下文也会拖累模型——"喂得多"不如"喂得准"。2025 年的后续工作(如 arXiv 2509.16112)进一步聚焦"哪些知识既相关又必要",方向从召回率转向精度。工程侧与学术侧就此汇合:问题的本质不是搜索,而是给生成任务做上下文的信息选择。
开源 CLI 编程工具 Aider 的仓库地图是"图谱路线"的教科书实现:用 tree-sitter 解析出全仓的函数/类签名与引用关系,构建依赖图并做图排序(类似 PageRank 的思路),最后按当前对话的 token 预算裁剪出一张"最相关的仓库骨架"放进系统提示。效果是:上下文窗口有限的开源模型也能在多文件仓库里做出基本正确的跨文件修改。它证明了仓库地图不必是平台级工程——个人开发者用现成开源件就能复现,这也是本报告行动建议的基础。
Sourcegraph 的转向是整个赛道的缩影:其 Cody 官方架构披露显示,上下文获取靠词法+语义双路检索,覆盖本地文件、本地仓库、远端仓库三层;2025 年公司进一步推出 agent 产品 Amp,把多年积累的代码智能直接变成 agent 的感知层。逻辑很直白:代码搜索公司最值钱的资产从来不是搜索框,而是"全公司代码的可检索、带权限的索引"——这正是 agent 最缺的器官。Augment Code(主打大仓库上下文引擎)、Greptile(代码理解与审查 API)走的是同一条路的创业版本。
多数企业的代码知识分散在 git、wiki、issue、ADR、聊天记录里,agent 一概看不到。把这些打通成一个带权限的检索层(通常以 MCP 服务器或内部 code RAG 服务形态),是未来两年工程效率投入里确定性最高的一项——它同时服务于人(onboarding、跨团队查代码)与机器(agent 上下文),一份投入两头收益。
一是给长期维护的项目补"AI 导览":AGENTS.md + 目录说明 + 关键决策记录,相当于给未来的 agent(和同事)画一张地图,几个小时投入换来后续每次协作的检索精度提升。二是掌握 repo map 思维:在 Claude Code / Cursor 里有意识地管理"哪些文件进了上下文",把检索当技能练习——这是区分"会用 AI"与"用得好"的分水岭之一。
垂直仓库知识库(把某个领域如 SAP、大型机的遗留系统知识做成 RAG 供给 agent,客单价高);检索质量观测(度量 agent 引用文件命中率、索引新鲜度的工具,填补 CI 之外的空白);以及"代码图谱即服务"(跨仓库依赖与影响分析 API)。避开正面与大厂拼通用 IDE。