一、两个工具,两种定位
AI 读代码这件事,正在分化成两条路线:
- Graphify(Graphify-Labs/graphify,11.5 万星,Apache-2.0)— 偏「知识地图」:把代码、文档、PDF、图片全部塞进一张本地知识图谱,tree-sitter 确定性解析,零外部依赖
- Code-Graph-RAG(vitali87/code-graph-rag,5,113 星,MIT)— 偏「语义索引」:Tree-sitter + Memgraph(兼容 Neo4j 生态)+ 向量检索,主打自然语言查代码结构、依赖分析、精准改码
一句话区分:想要全局理解选 Graphify,想要日常导航和改动影响分析选 Code-Graph-RAG。两者不冲突,可以叠加。
项目信息
Graphify:Apache-2.0 · Python · 115K+ 星 · 本地确定性 AST 解析 · 零外部数据库
Code-Graph-RAG:MIT · Python 3.12+ · 5,113 星 · Tree-sitter + Memgraph + Qdrant 向量检索 · 支持 12+ 语言
二、逐项对比
| 维度 | Graphify | Code-Graph-RAG |
|---|---|---|
| 定位 | 知识地图:整库(代码+文档+SQL+PDF)一次看清 | 语义索引:日常查结构、追依赖、辅助改码 |
| 解析引擎 | tree-sitter 本地确定性 AST | Tree-sitter 多语言解析 → AST → 统一图 schema |
| 图存储 | 本地文件,零外部依赖 | Memgraph(默认)/ Neo4j 生态,需 Docker 起服务 |
| 检索方式 | 图遍历,每条边可溯源 | 自然语言 → Cypher 查询 + 向量检索(semantic extra) |
| 输入范围 | 代码、文档、SQL Schema、PDF、图片 | 多语言代码库(Python/TS/JS/Rust/Go/Java/C/C++/C#/PHP/Lua/Dart,ast-grep 层扩展更多) |
| 使用场景 | 接手新项目、架构梳理、代码审查 | 日常编码代理、改动影响分析、跨语言 monorepo |
| 部署成本 | 极低(pip 一条命令,纯本地) | 中等(Python 3.12+ + Docker + Memgraph + Qdrant) |
| 安装 | pip install graphifyy | uv tool install "code-graph-rag[treesitter-full,semantic]",CLI 命令 cgr |
三、什么时候用哪个
选 Graphify
- 刚接手一个陌生仓库,需要 10 分钟画出全貌
- 做架构梳理 / 技术文档,需要把代码+文档+SQL 混在一起看
- 代码审查时追溯「这个依赖为什么存在」
- 不想部署任何数据库服务(零外部依赖是核心卖点)
选 Code-Graph-RAG
- 日常编码代理高频使用,问「谁调用了这个函数」「改这个类影响哪些模块」
- 跨语言 monorepo(12+ 语言统一图 schema)
- 需要 AI 驱动的代码编辑/优化,而不仅是查询
- 已有 Neo4j/Memgraph 基础设施的团队
四、叠加使用的姿势
# 全局地图:一次性看清
pip install graphifyy
graphify scan ./my-project
# 在 Agent 中 /graphify 出全貌图
# 语义索引:日常导航
uv tool install "code-graph-rag[treesitter-full,semantic]"
cgr # 交互式 CLI:自然语言 → Cypher → 代码定位 + 编辑
组合工作流:
- 接手新项目 → Graphify 先画一张全局知识地图(含文档/PDF/SQL),理解业务边界
- 日常开发 → Code-Graph-RAG 挂在编码代理上,改码前自动做影响分析
- 结果 → 宏观有地图,微观有索引,AI 既「看得全」又「改得准」
与 AgentMemory 的关系
记忆三层体系:AgentMemory 记「发生过什么」(经验),Graphify 画「长什么样」(全局地图),Code-Graph-RAG 管「怎么改」(日常导航)。三者正交,可全部叠加。
五、我的判断
优点
- 定位清晰不重叠 — 地图 vs 索引,各占一个生态位
- Graphify 零部署 — 本地纯文件,隐私友好
- CGR 能力强 — 自然语言 → Cypher → 编辑闭环,且 12+ 语言
- 都开源 — Apache-2.0 / MIT 可商用
注意点
- Code-Graph-RAG 需要 Python 3.12+ 和 Docker(Memgraph + Qdrant),部署成本明显更高
- 96 个 open issues,活跃迭代期,接口可能变动
- 两层图(Graphify + CGR)会有一定维护成本,建议同一团队只选一套为主
全局理解找 Graphify,日常导航找 Code-Graph-RAG。真正的工作流是把它们叠在 AgentMemory 之上——记忆、地图、索引三层齐了,AI 才算「看懂了你的代码库」。