接手一个大型代码仓库,像走进没有导览图的商场:函数藏在哪、谁调用谁、改一个名字会牵动哪些文件,都得逐层寻找。code-graph-rag 想给编码 Agent 补上这张图。它用 Tree-sitter——一套能把多种语言源码拆成结构化语法树的工具——读取仓库,再把函数、类、文件等对象及其调用、继承、导入关系存进 Memgraph 知识图谱。即使 Monorepo(把多个应用、服务或软件包放在同一仓库)混有多种语言,也统一使用一套图结构。
这比传统代码 RAG 只搜索相似文本更进一步:Agent 可以用自然语言追踪跨文件依赖,按名称或意图取回源码,还能预览差异后修改代码。值得注意的是,多文件编辑采用事务方式:先暂存并验证,失败时可撤销;重命名或移动代码时也会改写导入。项目还会把调用位置、导入位置记录在图的关系边上。不过,供稿未提供准确率、速度或与其他工具的对比结果,实际处理大型混合语言仓库的效果仍待验证。