首页 > 教程攻略 > ai资讯 >graphify + claude 图谱关系

graphify + claude 图谱关系

来源:互联网 时间:2026-07-03 13:36:31
Graphify 将代码库转化为知识图谱,助你快速理清项目结构与核心逻辑。 Graphify 是一个开源的知识图谱构建工具,能把知识库转换为图谱,从而帮助 AI 更好地理解项目结构。这玩意儿到底能起多大作用?老实说,至少在我的工作圈子里,它还没真正普及开。 按照仓库 README 的指引,先安装 graphify。官方建议先装个 uv 工具——这是下一代 Python 工具链,目标是取代传统的 pip。uv 是用 Rust 开发的,听起来像是“新瓶子装旧酒”? ``` uv tool install graphifyy ``` 注意安装的是 graphifyy,最后双 y,因为 graphify 这个单词已经被占用了。如果名称被抢注,开源项目通常有一整套命名策略,这大概也算是其中一种。 现在把 graphify 注册到 Claude 中,以便通过技能来调用。安装选项有两个:一个是用户维度的,另一个是项目维度的。安装后的效果如下(在控制台我通常开三个窗口,安装在最右边): ``` graphify install graphify install --project ``` 在 Claude 命令行输入 `/graphify` 就能触发。它既可以借助大模型构建关系图,也可以直接基于语法树来构建。不如就地取材找一个代码库验证一下效果。Graphify 在自我介绍中是这样说的: > Turn any folder of code, SQL schemas, R scripts, shell scripts, docs, papers, images, or videos into a queryable knowledge graph. 它的定位可不是只有代码,只用它来分析代码就太局限了。不过拿代码来验证效果,倒是个稳妥的起点。选一个 Go 语言的开源库比较靠谱——能读到这里的读者,大多和编程沾点边。 将 Go 的源码克隆到本地,把分析目标局限在一个具体的包上。挑一个常用的 `sync.map` 包,让大模型解释一下:sync.map 是如何解决读写冲突问题的。 ``` git clone git@github.com:golang/go.git ``` 对于这类底层工具包,目录下每个文件都代表一种独立功能,文件之间的关系非常简单。因此我们通过 graphify 想实现的是更聚焦单个文件内部——对这个目录构建知识图谱,但只分析其中的 `map.go` 文件。 在目录下启动 Claude,然后在命令行触发 graphify。系统开始执行,模型在不断推理、执行、反思、再执行,经过多次问题修复后,最终输出了这样的效果图:`Graph: 658 nodes, 1369 edges, 38 communities`。 > No existing graph found. I will build the knowledge graph from the current directory 图谱底层采用了社区检测算法。很明显,`sync.map` 的社区比较独立,和它相关的节点就是几个对应的函数。这个包确实不太适合做分析——图里其实还有一个关键信息:置信度。 图的每条边上都标有置信度标记。Graphify 在提取实体和关系时使用三种置信度标记:EXTRACTED(高置信度)、INFERRED(中等置信度)、AMBIGUOUS(低置信度)。这种等级制度,其实挺值得借鉴的。 运行之后,当前目录下生成了 `graphify-out` 文件夹,里面有这样几个文件。可以打开 `graph.html` 查看可视化图谱(如上图),或者根据 `GRAPH_REPORT.md` 中的建议问题来探索代码库结构。 使用基础的 `query` 命令查询 `map`,对比命令行直接执行和在 Claude 中执行的效果。根据左侧命令的输出,程序使用广度优先搜索(BFS)进行遍历;右侧是大模型的结果,直接输出了大模型处理后的内容。 再对比一个贴近工作实际的问题:直接在 Claude 中输入“sync.map是如何解决并发读写问题的” vs “/graphify sync.map 是如何解决并发读写问题的”。后者的数据结果主要基于 `/graphify` 召回的节点进行分析。 可以看出,graphify 在这个场景解决的是召回率的问题。结合生成的图谱,可以快速召回相关数据。相比于 RAG 在构建知识库时采用文本固定切块、块与块之间保留部分内部重合的模式,graphify 的数据召回内容相关性更好。

相关下载