Graphify: 用大模型建立代码知识图谱

基于 Karpathy LLM Wiki 思路的开源工具,将任意代码库、文档、论文、图片转化为可查询的知识图谱

什么是 Graphify

Graphify(safishamsi/graphify)是一个 AI 编码助手 Skill,基于 Karpathy 的 LLM Wiki 思路开发。它能将任意文件夹中的代码、文档、论文、图片转化为可查询的知识图谱,帮助 AI 理解代码库的结构和关系。

GitHub:https://github.com/safishamsi/graphify

“Type /graphify — it reads your files, builds a knowledge graph, and gives you back structure you didn’t know was there.”

核心特点

支持多种文件类型

  • 代码:19 种编程语言(Python, JS, TS, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C)
  • 文档:PDF、Markdown
  • 图片:截图、架构图、白板照片(Claude Vision 提取)
  • 其他语言:19 种语言代码均支持 tree-sitter AST 解析

支持多种 AI 工具

  • Claude Code
  • Codex
  • OpenCode
  • OpenClaw
  • Factory Droid

智能预热机制

Graphify 不是每次提问都重跑分析,而是:

  1. 构建一次知识图谱,写入 graphify-out/GRAPH_REPORT.md
  2. 在 CLAUDE.md 中注册规则,让 AI 每次回答架构问题前先读图谱
  3. Claude Code 用户还会在每次 Glob/Grep 调用前触发 PreToolUse hook,自动检查图谱

安装方法

方式一:直接通过 npm 运行

1
npx graphify

方式二:克隆到本地

1
2
git clone https://github.com/safishamsi/graphify.git
cd graphify

OpenClaw 中使用

对于 OpenClaw,Graphify 使用 sequential extraction(顺序提取)模式,不需要额外的 hook 配置,直接调用 Skill 即可。

使用流程

第一步:在目标项目目录运行

1
2
npx graphify
# 或在 OpenClaw 中直接说:用 Graphify 分析这个项目

Graphify 会:

  1. 递归扫描目录下所有支持的文件
  2. 对代码文件使用 tree-sitter 提取 AST 结构和语义关系
  3. 对文档/图片使用 Claude Vision 提取概念和关系
  4. 生成 graphify-out/ 目录,包含知识图谱数据

第二步:查询知识图谱

构建完成后,可以用自然语言提问:

  • “这个项目的主要模块有哪些?”
  • “函数 A 被哪些地方调用?”
  • “这个类的继承关系是什么?”
  • “哪些文件负责数据库操作?”

OpenClaw 中查询示例

1
2
3
用 Graphify 帮我理解这个代码库:
- 项目的主要架构是什么?
- 核心模块之间的依赖关系?

工作原理

Graphify 的核心思想来自 Karpathy 的 LLM Wiki 模式:不依赖 RAG 的向量检索,而是让 LLM 直接构建结构化的知识表示。

1
原始文件 → LLM 解析 → 知识图谱(节点+边+关系)→ 自然语言查询

节点(Node)

代表代码中的实体:函数、类、模块、变量、文件

边(Edge)

代表关系:调用关系、继承关系、导入关系、引用关系

元数据

每个节点和边都包含置信度分数、来源信息、最后确认时间

与传统 RAG 的区别

维度 传统 RAG Graphify 知识图谱
检索方式 向量相似度(关键词匹配) 语义关系(图结构)
理解深度 片段级 概念级
跨文件关联 弱 强
查询"设计模式" 难 可回答
需要向量数据库 是 否

应用场景

1. 新项目接手

接手陌生代码库时,用 Graphify 快速了解架构和模块关系

2. 代码审查

审查 PR 时,图谱能告诉你改动影响的完整链路

3. 技术债务梳理

找出重复代码、未使用的导出、循环依赖等问题

4. 文档自动生成

基于代码结构自动生成架构文档

5. 论文笔记整理

将学术论文截图/ PDF 转化为知识网络

参考资源


本文首发于 2026-04-08,基于 Graphify v3 版本

Gear(夕照)的博客。记录开发、生活,以及一些不足为道的思考……