找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖
Claude、GPT 海外模型 API 接入Claude skills 从入门到精通 吴恩达亲授 AI Agent 核心技能2026 瞪哥公务员考试全攻略 行测申论一站式系统备考
Agent 文心智能蒸馏模型实战 90G 课程智泊 AI 大模型训练营 基于 LangChain 的 RAG 与提示工程实战构建企业级 AI 大脑:大模型微调与 RAG / Agent 全栈实战

6019

积分

0

好友

759

主题
发表于 昨天 23:53 | 查看: 3| 回复: 0

AI 编程助手在改动大型项目时有个老毛病:回答问题之前得先读文件。十几个文件挨个读下来,token 烧掉不少,文件之间的调用关系还是经常漏掉。它手里只有 grep 和关键词匹配,你的项目整体长什么样,它其实并不知道。

Graphify 想解决的就是这个问题。它会把代码、文档、PDF 这些内容整个扫一遍,生成一张知识图谱,之后 AI 助手要回答问题,先查这张图就行,文件不用重新翻了。

这个项目今年 4 月才放出来,现在 GitHub 上已经 12 万 Star 了。

Graphify 品牌 Logo

先简单介绍下

Graphify 本身不是一个独立软件,而是给 AI 编程助手装的一个技能。装好之后,在助手里敲 /graphify,它就开始扫描当前项目,扫完给你一张知识图谱。这张图是实实在在的文件,能查,能遍历。另外得说清楚,它跟向量数据库不是一路东西。向量检索返回的是"长得像"的内容,这张图给的是具体的关系。

功能拆解

一条命令建图,产出三个文件

在助手里敲 /graphify .,等它跑完,项目里会多出一个 graphify-out 目录,里面就三个文件。

graphify-out 目录输出的三个文件:graph.html 可浏览搜索筛选、GRAPH_REPORT.md 项目报告、graph.json 完整图数据

下面这张图是它拿 FastAPI 的代码库跑出来的。每个节点是一个概念,颜色一样的是同一个子系统,全是自动分出来的:

Graphify 分析 FastAPI 生成的知识图谱

代码解析完全本地化,不烧 API 额度

这一点我认为是最划算的。代码文件全部走 tree-sitter 语法树解析,支持 40 种上下的语言,整个过程不碰大模型,代码也不出本机。也就是说,光建代码这部分的图,一分钱 API 费用都不用花。

Graphify 处理代码与非代码内容的两条路径:代码走 tree-sitter 完全本地,文档 PDF 图片音视频走 AI 模型

需要模型参与的只有文档、PDF、图片、音视频这些非代码内容,用的是你 AI 助手自己会话的模型,或者你自己配的 API key。

每条关系边都带来源标签

图里的每条关系边都挂着标签。EXTRACTED 的意思是源码里直接写了这个关系,INFERRED 的意思是工具自己推出来的。真拿去查问题的时候,哪些关系是代码里实打实存在的,哪些还得再核实一遍,扫一眼就清楚了。报告里还有一类 AMBIGUOUS,工具自己都拿不准的边,也会单独标出来。

Graphify 关系边三种来源标签:EXTRACTED 源码直接写明、INFERRED 工具推断、AMBIGUOUS 需要核实

查询在图上真实遍历

图建好以后,查东西主要靠三个命令:

  • query 接大白话的问题,返回一块相关的子图;
  • path 用来看两个东西中间是怎么连起来的;
  • explain 解释一个概念和它周围一圈的关系。

官方文档里举了个例子:拿 FastAPI 的图问 APIRouter,结果里能看到它出自 routing.py 的第 2210 行,连着 47 个节点,每条边都有来源标签。

有了这张图,AI 助手拿到的上下文是顺着真实代码关系查出来的路径。跟以前那种 grep 出一堆文件再让模型自己拼的做法相比,要靠谱得多。

grep 拼文件与图查询对比:图查询可定位到 routing.py 第2210行并关联47个相关节点

官方还放了基准测试的数据:

LOCOMO 数据集上,它的 recall@10 是 0.497,同场对比的 mem0 是 0.048,supermemory 是 0.149。QA 准确率这项它是 45.3%,比 mem0 高,不过比 supermemory 的 49.7% 要低一些。

自动识别核心节点和子系统

建图的时候它还会顺手做两件事。

一件是找 god nodes,也就是连接数最多的那批概念。整个项目干什么基本都绕不开它们,新人接手项目先把这份名单过一遍,大概就知道重点在哪了。

另一件是拿 Leiden 算法把图切成一个个子系统,每个子系统会自动起好名字。在 graph.html 里可以按子系统一块一块地看。

Graphify 通过 Leiden 聚类算法将项目图谱切分为若干子系统

非代码内容也进同一张图

除了代码,Markdown、PDF、图片、视频音频、SQL 表结构、Terraform 配置这些都能进图。Word、Excel 和视频要单独装对应的扩展包。

有一点我挺喜欢的:代码里 NOTE、WHY 开头的注释,还有架构决策记录,会被抽出来做成单独的节点,挂在它解释的那段代码上。这样当时为什么这么写的,和代码本身就在一张图里了,提问的时候两边能一起查到。

图谱随代码增量更新

图不是建一次就丢在那了。改过的文件可以增量更新,不用全量重跑。装一个 git hook 之后,每次 commit、切分支,它都会自己重建图。图文件可以直接提交进仓库,团队里其他人 clone 下来就有图用。

想给别的工具接的话,图能做成 MCP 服务,也能起个 HTTP 服务,整个团队共用一份。它另外还有个 PR 看板,能看到每个 PR 动了图里的哪些区域,哪些 PR 撞在同一个子系统上、合并顺序要小心,review 排期的时候有点用。

快速开始

就两条命令,环境里有个 Python 3.10 以上就行:

uv tool install graphifyy
graphify install

第一条把命令行工具装上,第二条把它注册给你的 AI 助手。装完在助手里敲 /graphify . 就开始跑了。中间想改什么,直接用大白话跟助手说,只看代码、重新聚类、不要可视化页面这些,都有现成的参数。

有几个坑提前说一下。

PyPI 上的包名是 graphifyy,两个 y。其他叫 graphify 什么什么的包都跟官方没关系,不过装完以后命令还是叫 graphify。Windows 上用 PowerShell 的话,要敲 graphify .,不能带斜杠,那个斜杠会被当成路径。

装完如果提示 command not found,多半是工具目录没进 PATH。跑一句 uv tool update-shell,再开个新终端就好了。平时用中文提问比较多的,建议把 graphifyy[chinese] 这个扩展也装上,里面带 jieba 分词。

结尾

最后说下我的想法。什么情况值得装呢?项目体量上去了,新人入职要快速摸清架构,或者团队想把项目结构共享出来,这几种情况它都帮得上忙。社区有篇评测说 500 到 5000 个文件的仓库用起来最值,我感觉这个判断靠谱。项目要是就几十个文件,那就别折腾了,直接让 AI 读文件更快。

还有一点要提前想好:代码以外的内容是要走模型的。项目里 PDF 和文档堆得多的话,建图那一步会花一些 API 额度。代码部分就完全不用操心,本地就跑完了。

总的来说,今年打着知识图谱旗号的工具见得不少,真能把图塞进日常开发流程里的不多,这个算一个。4 月发布到现在热度一直没下来,说明这个项目确实有过人之处。

开源地址

https://github.com/Graphify-Labs/graphify




上一篇:Mac 修图平替 Photoshop 的开源项目 Compositor,仅 7MB 支持抠图调色
下一篇:谷歌Artemis被指抄袭开源代码:228个文件雷同,3位作者署名被删
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-9-25 03:08 , Processed in 0.573140 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表