AI 代码知识图谱选型指南(2026)
- 一、这类工具解决什么问题
- [二、两大流派:LLM 派 vs 编译器派](#二、两大流派:LLM 派 vs 编译器派)
-
- [编译器派(AST 静态解析)](#编译器派(AST 静态解析))
- [LLM 派(语义理解)](#LLM 派(语义理解))
- 这不是谁好谁坏
- 三、主流工具一张表
- 四、按场景选工具
-
- [4.1 你的项目是纯代码(没有架构文档)](#4.1 你的项目是纯代码(没有架构文档))
- [4.2 你的项目有文档(架构设计、ADR、编码规范)](#4.2 你的项目有文档(架构设计、ADR、编码规范))
- [4.3 你是为了新人入职引导](#4.3 你是为了新人入职引导)
- 五、多工具能一起装吗?
- 六、总结
本文是「AI 图谱系列」总览篇。读完本文你可以确定自己该选哪个工具,然后跳转到对应专栏看完整的上手指南。
一、这类工具解决什么问题
你在 Claude Code / Cursor 里问 AI「这个函数被哪些地方调用了」------
- 没有知识图谱:AI 从头 grep 所有文件,几十次工具调用,token 烧了一堆,还可能漏
- 有知识图谱:AI 直接查图,几次调用返回结果,精准且省 token
核心逻辑: 把代码库预索引成一张图(函数、类、调用关系),通过 MCP 暴露给 AI,让 AI 查图而不是翻文件。
适用场景:中大型项目(200 文件以上)、接手陌生代码库、Code Review 变更影响分析、跨模块依赖梳理。
不适用:小于 200 文件的小项目、重度依赖反射/动态代理的项目。
二、两大流派:LLM 派 vs 编译器派
知识图谱工具的原理决定了它们适合什么场景。先理解这个,后面选型才不会错。
编译器派(AST 静态解析)
像编译器一样解析代码结构:import 了什么、调用了谁、继承关系。输出一张精准的调用图。
- 怎么读: tree-sitter AST 解析
- 优点: 永远不出错,零 LLM 成本,实时同步
- 缺点: 只读代码,不读文档,不理解 WHY
- 代表工具: Codegraph
LLM 派(语义理解)
先用 AST 提取代码结构,再用 LLM 读代码 + 文档,理解"这段代码在干什么"、"和文档里的决策有什么关系"。
- 怎么读: AST(代码结构)+ LLM(语义理解)
- 优点: 能读文档/图片,能发现跨文档隐藏关联,能理解设计意图
- 缺点: 语义提取烧 token;推断边(INFERRED)可能不准确
- 代表工具: Graphify
这不是谁好谁坏
编译器派 = 查户口本的,精准冰冷;LLM 派 = 聊过天的人,能理解但偶尔猜错。
你需要查户口本还是需要聊天,取决于你的项目有什么。
三、主流工具一张表
| 工具 | 流派 | 能读什么 | 成本 | 最擅长 |
|---|---|---|---|---|
| Codegraph | 编译器派 | 纯代码(19+ 语言) | 零 LLM 成本 | 调用链追踪、影响分析、实时同步 |
| Graphify | LLM 派 | 代码 + 文档 + PDF + 图片 | 代码变更加 AST(免费),文档变更走 LLM | 代码和文档关联、跨文档隐藏关联 |
| Understand-Anything | LLM 派 | 代码 + 知识库 | LLM 语义提取 | 交互式可视化、新人入职引导 |
| GitNexus | 编译器派 | 纯代码 | 零 LLM 成本 | 图数据库查询、社区检测 |
| Probe | 编译器派 | 纯代码 | 零 LLM 成本 | 零索引即用、一次性分析 |
注:GitNexus 使用 PolyForm NC 许可证(禁止商用),且存在稳定性问题。Probe 定位一次性分析,不适合日常持续使用。本文后续聚焦三个最成熟、最适合日常使用的工具。
四、按场景选工具
4.1 你的项目是纯代码(没有架构文档)
你要的是:精准的调用链、实时同步、零成本。不需要 LLM 去"理解"代码------理解是多余的,调了谁就是调了谁。
→ 选 Codegraph。 详见 专栏一:纯代码篇
4.2 你的项目有文档(架构设计、ADR、编码规范)
你要的是:文档里的决策能关联到代码实现,AI 不仅知道调了谁,还知道为什么这么调。
→ 选 Graphify。 详见 专栏二:文档篇
4.3 你是为了新人入职引导
你要的是:交互式可视化,新人拖拽探索项目结构,一眼看懂模块关系。
→ 选 Understand-Anything。 详见 专栏三:可视化篇
五、多工具能一起装吗?
可以,互不冲突。
三个工具各自使用独立目录,不会互相覆盖:
项目目录
├── .codegraph/ ← Codegraph 索引(SQLite)
├── graphify-out/ ← Graphify 输出(JSON)
├── .understand-anything/ ← Understand-Anything 图谱(JSON)
│
三者目录名不同,并行共存无冲突
推荐组合
| 组合 | 效果 | 推荐度 |
|---|---|---|
| 日常一个 | 大多数场景够了 | ⭐⭐⭐⭐ |
| Codegraph + Graphify | 日常导航(Codegraph)+ 阶段性架构审计(Graphify) | ⭐⭐⭐⭐⭐ |
| Graphify + Understand-Anything | AI 查图谱 + 新人看 Dashboard | ⭐⭐⭐⭐ |
| 三个全装 | 同一份代码被索引三次,维护成本高,不推荐 | ❌ |
判断"同类"的方法: 看它们是不是解决同一个问题。Codegraph 和 Probe 都做纯代码调用链查询→同类,装一个即可。Graphify 做文档关联、Understand-Anything 做可视化→不同问题,可以共存。
一句话
日常工作用一个,阶段性需求(架构审计、入职引导)再加第二个。
六、总结
选型三句话:
1. 纯代码 → Codegraph(精准、免费、实时)
2. 有文档 → Graphify(代码 + 文档一起入图,知道 WHY)
3. 带新人 → Understand-Anything(交互式可视化)
| 你的场景 | 看这篇 |
|---|---|
| 纯代码项目,要精准导航 | 专栏一:纯代码篇 |
| 代码+文档项目,要理解 WHY | 专栏二:文档篇 |
| 新人入职引导,要可视化 | 专栏三:可视化篇 |
系列文章: 本文是「AI 图谱系列」总览篇。三篇专栏各自独立完整,合起来覆盖纯代码、代码+文档、新人引导三大场景。数据来源:各项目官方 README、GitHub、npm,于 2026-05-29 核验。