Loading...
🗺️
结构感知的代码库检索(Repo Map)
面向代码的专门检索,利用程序结构而非嵌入(或与嵌入并用)。仓库通过 tree-sitter 被解析为 AST 以及符号与依赖关系图;文件和符号按图中心性排序(Aider 的 PageRank 加权标签图),图遍历工具会沿调用、定义和导入等边游走(AutoCodeRover 及各类代码图智能体),基于频谱的故障定位则可从失败的测试出发缩小搜索范围。这使得编码智能体能够从远大于其上下文窗口的仓库中,组装出一份精简而相关的上下文。它不同于 `graph-rag`:后者的图是从文档实体而非代码语义构建的。
复杂度: high知识检索(RAG)
In 30 seconds
- What
- 将代码解析为 AST 并构建符号依赖图,再按中心性对文件和函数排序,只检索与任务最相关的代码。
- When to use
- 仅靠嵌入无法捕捉结构关系的大型代码库,或编码智能体需要沿着调用链和导入关系理解上下文时。
- Watch out
- 图构建与排序的前期开销很大;两次解析之间代码结构发生变化会让图过时,导致检索遗漏。
Loading technique guide…