graphify : 把整个代码库变成可查询的知识图谱
AI智库导航-aiguide.cc为您提供最新的AI新闻资讯和最新的AI工具推荐,在这里你可以获得用于营销的AI聊天机器人、AI在商业管理中的应用、用于数据分析的AI工具、机器学习模型、面向企业的AI解决方案、AI在商业客户服务中的应用、AI和自动化工具等。
主要介绍
graphify 是 Graphify Labs 开源的一个代码库知识图谱构建框架,它的命题很直接:AI 编码助手擅长读懂单个文件,却不擅长读懂一个系统。给它一个 Bug 让它改某文件,它干得不错;问它「改这里会不会波及另外三个服务和两张数据库表」,它就断线了。graphify 的解法是先把整个项目——包括源码、SQL schema、配置、文档、PDF、架构截图甚至手写白板照片——解析成一张持久化的知识图谱,让助手在会话里查询图谱,而不是每次从头重读原始文件。
项目 README 借用了 Andrej Karpathy 的习惯做类比:他常年维护一个 /raw 文件夹,随手往里丢论文、推文截图和笔记,时间一长自己也记不清里面有什么。graphify 想解决的就是这类「资料越堆越多、却无法被调用」的问题。官方给出的核心数字是每次查询的 token 消耗比直接读原始文件少 71.5 倍,且图谱可以跨会话持久化保存。需要提醒的是,这个数字出自项目自测,第三方评测明确表示未能独立复现,宜作量级参考而非保证。
它最鲜明的立场写在仓库描述里:本地确定性 AST 解析、每条边都可解释、不需要向量库。在当前「万物皆可嵌入」的风潮里,这是一次明确的反向选择。

Graphify-Labs/graphify 仓库预览图(GitHub 13.5 万 Star)
功能特点
-
代码映射完全免费且本地:源码用 tree-sitter 做 AST 解析,属于确定性过程,不调用 LLM,不联网,无任何代码内容离开本机;只有文档、PDF、图片和视频的语义分析才使用宿主助手的模型或用户自行配置的密钥。
-
每条边都带来源标签:图谱中每个连接都被标注为 EXTRACTED(源码里明写)或 INFERRED(由 graphify 推断),部分情况下还有 AMBIGUOUS,使用者始终能区分「读到的」和「猜的」。
-
明确不是向量索引:没有 embedding,不需要向量数据库,是一个真实可遍历的图,可以提问、追踪两个节点间的路径,或让某个概念自解释。
-
完全多模态:除了十几种主流编程语言的源码,Markdown、PDF 论文、屏幕截图、架构图、白板照片乃至其他语言文字的图片都能进同一张图。
-
注释与文档成为一等公民:代码里的 # NOTE:、# WHY: 注释以及 ADR、RFC 引用会被提取为节点并与对应代码相连,把「为什么这么写」也纳入可查询范围。
-
一份安装适配二十多个宿主:官方为 Claude Code、Cursor、Codex、GitHub Copilot、Gemini CLI、Trae、Kimi Code、Kiro、Pi 等平台分别提供了注册命令。
优缺点
优点:
-
技术路线诚实。代码关系走 AST 确定性解析而非 LLM 猜测,这意味着基础图谱不会幻觉;只有跨模态的语义关联才让模型介入,并且用标签明确标注出来。
-
使用门槛极低。装完之后在助手里输入一条 /graphify 命令即可,日常使用是纯自然语言查询,不需要写代码,也不需要理解图论或社区检测。
-
对隐私敏感场景友好。代码解析阶段完全本地且零 LLM 参与,不需要创建账户、不需要 API Key、不上传遥测数据,这对有合规要求的企业团队很有吸引力。
-
迭代节奏快。从 10 月 14 日到 10 月 23 日的十天内连续发布了五个版本,仓库在推送当日仍在更新。
-
增量更新机制完整。支持基于 SHA256 的缓存按需重算、提交后自动重建的 Git 钩子,以及文件变动自动同步的监控模式,避免了大型代码库每次全量重建的时间成本。
缺点:
-
核心 KPI 缺少第三方复现。71.5 倍 token 节省出自项目自测,第三方评测站点明确标注「我们没有独立复现,读者应把它当作量级参考」。
-
官方 benchmark 里包含对自己不利的数据。在 LOCOMO 的问答准确率上,graphify 为 45.3%,低于 supermemory 的 49.7%;LongMemEval-S 上 76% 的成绩也只是与密集检索 RAG 打平,并非超越。
-
开源版与商业版存在明显边界。README 顶部和中部都嵌入了 Graphify Cloud 的试用引导,跨仓库 monorepo 支持、形式化验证、Sentry 与 Jira 连接器等能力属于付费服务,开源本地版本并不包含。
-
包名容易装错。由于 graphify 这个名称正在申请回收,PyPI 上的包名目前是 graphifyy,命令名仍是 graphify,这一处错位容易让首次使用者困惑。
-
仍有环境与规模门槛。运行需要 Python 3.10 以上并预装 uv 或 pipx;大型代码库首次全量建图可能需要数分钟,图在会话期间的改动也不会自动反映,需要手动更新或依赖钩子与监控模式。
如何使用
graphify 的日常使用是零代码的,真正需要敲命令行的一步只有安装。
第一步是安装命令行工具并完成技能注册。官方推荐用包管理器 uv 安装,装完执行一次注册命令,该命令会自动侦测你正在使用哪一款 AI 编码助手,并把对应的技能文件写到位,因此不需要针对每个平台单独配置。
第二步是在助手里运行。打开 Claude Code、Cursor、Codex 或任意已支持的宿主,进入项目目录,输入一条斜杠命令并跟上目录参数,框架就会开始扫描全部文件并构建图谱。
第三步是查询。图谱建好之后会生成三个产物:可在浏览器中点击、搜索、按社区过滤的交互式图文件;一份包含核心节点、意外跨领域连接和建议追问问题的分析报告;以及一份持久化图数据文件。后续所有查询都直接在这份图数据上进行,不再重读原始文件。
查询方式是自然语言的,支持三种基本问法:就某个自然语言问题返回相关子图、追踪任意两个概念之间的连接路径、以及要求解释某一个节点。此外还支持增量更新、论文链接直接入库、生成 Obsidian 知识库、导出 GraphML 或 Neo4j 脚本,以及启动标准的 MCP 服务接口。
团队协作场景下,可以安装一个 Git 提交钩子,让每次提交后自动增量重建图谱,从而让图谱始终与代码同步。
框架技术原理
graphify 的设计哲学可以概括为「分而治之」:能用确定性方法解决的部分绝不让模型介入,必须语义理解的部分则如实标注出来。
-
代码层:源文件先经由 tree-sitter 解析成抽象语法树,据此提取函数、类、方法、导入、调用、继承和混入等关系,支持约四十种语言,并做跨文件的调用图解析。这一层标记为 EXTRACTED,准确且不产生任何 LLM 成本。
-
文档层:Markdown、纯文本与 PDF 由模型做概念与关系提取,并对 PDF 做引用挖掘,负责把「论文里的说法」和「代码里的实现」连起来,这部分涉及 INFERRED 标签。
-
视觉层:截图、流程图、白板照片等经由视觉模型转为概念与关系,官方称支持任意语言的图片。
-
聚类层:所有节点与边用 Leiden 算法聚成社区,形成子系统视图,且社区标签的生成同样不需要调用 LLM。
-
存储层:整体基于图计算库与树解析器构建,不依赖 Neo4j,也不需要常驻服务端,全部在本地完成。
创新点
-
用确定性对抗黑盒。在绝大多数同类方案依赖向量嵌入的背景下,graphify 选择用编译级的 AST 事实加图算法换来可追溯性,代码层面的关系不存在近似,也不存在幻觉。
-
来源分级而非信心评分。它不给出模糊的相似度数值,而是把每条边硬性归类为「读到的」或「推断的」,把判断是否采信的权利交还给使用者。
-
把设计意图纳入图结构。# NOTE: 与 # WHY: 注释、ADR 与 RFC 引用被提升为一等节点并与代码相连,让「这行代码为什么存在」变成可查询对象,而不只是埋在注释里。
-
跨模态统一表示。代码、学术论文、会议白板照片与架构草图进入同一张图,使得在「文档说的」和「代码做的」之间做交叉验证成为可能。
-
服务于 Agent 而非只服务于人。除了给人看的可视化图,它还能产出维基风格的文章索引,让编码智能体通过读文件的方式导航整个知识库;同时提供 MCP 服务接口,便于接入任意支持该协议的客户端。
评估标准
项目在仓库中公开了基准测试数据表,并提供了完整的复现脚本,这在同类开源项目中并不多见。测试使用统一的运行框架、相同的模型与预算,由一位评审模型打分,并由第二位评审做盲验交叉核对,两者一致率为 90.6%,科恩卡帕系数为 0.81。
-
长对话记忆基准上,前十条召回率为 0.497,对比同类记忆系统分别为 0.048 和 0.149,优势明显。
-
同一基准的问答准确率为 45.3%,低于其中一款竞品的 49.7%,高于另一款的 27.3%。
-
另一项长记忆评测的问答准确率为 76%,与密集检索方案基本持平。
-
跨工具事实覆盖测试中,关键信息覆盖率为 82.0%,优于命令行检索基线的 70.8%。
-
图谱构建环节的 LLM 调用成本为零,而多数同类系统是按 token 计费的。
建议读者在选型时把这张表完整看完,尤其注意第二项:它在召回上领先,但在端到端问答准确率上并未全面取胜,这与它在可以让 Recall 发挥作用的场景里更占优的特性是一致的。
应用领域
-
陌生代码库上手:新人入职或接手遗留项目时,先看全局结构和核心枢纽节点,再决定从哪个模块切入。
-
跨文件排障:把应用代码、数据库 schema 与基础设施配置放入同一张图,追问某个字段究竟被哪些服务写入。
-
技术调研与竞品分析:把多方代码、行业文档与架构图丢进同一目录,一次性生成全景视图。
-
论文与工程结合:直接把论文链接加入图谱,自动关联理论概念与实现代码。
-
架构治理:通过社区划分与上帝节点识别,发现隐藏的循环依赖或过度耦合。
-
多智能体协作:多个编码智能体共享同一份持久图谱,避免各自重复读同一批文件。
项目地址
可通过官方网站了解产品全貌与云服务版本,开源代码托管在 GitHub。
完整的安装指南、命令参考、查询技巧与架构说明均在官方文档站维护,建议以文档站为准,仓库 README 会随版本频繁变动。
各宿主平台的注册命令清单也可以在文档的安装章节查到,覆盖二十余款主流编码助手。
-
项目官网:https://www.graphify.com
-
代码仓库:https://github.com/Graphify-Labs/graphify
-
官方文档:https://docs.graphify.com
同类型工具比较
|
方案
|
定位
|
代码解析方式
|
是否需要向量库
|
结果是否持久化
|
上手方式
|
|---|---|---|---|---|---|
|
graphify
|
代码库与资料的知识图谱
|
本地 tree-sitter AST,确定性
|
不需要
|
图数据文件持久保存,支持增量更新
|
一条斜杠命令,宿主自动识别
|
|
微软 GraphRAG
|
通用文本的知识图谱加检索
|
主要由模型抽取实体与关系
|
需要,图与向量并存
|
输出工件,重跑成本高
|
偏研究配置,参数门槛较高
|
|
Sourcegraph
|
企业级代码搜索平台
|
正则与符号索引结合
|
部分版本含语义检索
|
服务端常驻索引
|
需部署平台,面向团队
|
|
Aider repo-map
|
给模型看的临时代码地图
|
tree-sitter 提取符号依赖
|
不需要
|
随会话生成,用完即弃
|
内置于命令行工具,无需安装
|
|
mem0 与 supermemory 类记忆层
|
对话与长期偏好记忆
|
不解析代码结构
|
多数依赖向量检索
|
持久化
|
以接口或 SDK 形式接入
|
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...