| 编辑推荐: |
本文主要介绍了Graphify是什么、可以解决什么核心问题、核心技术解析、工作流程及代码示例等相关内容。
希望对你的学习有帮助。
本文来自于微信公众号豆爸AI,由火龙果软件Alice编辑,推荐。 |
|
核心发现:Graphify通过AST+LLM双阶段提取、Leiden图聚类(无Embedding)、超边表示三项核心技术,将Karpathy的/raw文件夹工作流效率提升71.5倍。这是知识库构建领域从"向量检索"向"图推理"演进的重要标志。
1
Graphify是什么:解决什么核心问题
1.1 Karpathy的/raw文件夹痛点
Andrej Karpathy(前Tesla AI Director、OpenAI创始成员)有一个著名的/raw工作流:
- 把论文、推文、截图、笔记全部丢进一个文件夹
- 需要时让AI读取所有文件来回答问题
- 每次查询都要重新读取,token消耗巨大
- 文件之间的关系无法显式表达
"Karpathy keeps a /raw folder where he drops
papers, tweets, screenshots, and notes. graphify is
the answer to that problem — 71.5x fewer tokens per
query vs reading the raw files."
— Graphify官方文档
1.2 Graphify的核心价值
Graphify将任意文件夹(代码、文档、论文、图片)转换为可查询的知识图谱,输出三种格式:
2
核心技术解析:三大创新突破
2.1 AST+LLM双阶段提取架构
Graphify采用独特的两阶段提取策略,兼顾效率与深度:
1 确定性AST提取(本地执行) 通过tree-sitter对代码文件进行结构分析,提取类、函数、导入、调用图、docstring、解释性注释。这一阶段不需要LLM,完全在本地完成,保证代码隐私。 20种语言支持零API调用完全本地
|
⬇️
2 语义LLM提取(并行代理) 对文档、论文、图片并行调用Claude子代理,提取概念、关系和设计动机。支持Claude Vision多模态理解,可处理截图、流程图、白板照片。 多模态输入并行处理概念提取
|
2.2 Leiden图聚类:无Embedding的社区发现
技术突破:图拓扑即相似性
Graphify使用Leiden算法进行社区发现,完全不依赖向量嵌入。Claude提取的语义相似边(semantically_similar_to,标记为INFERRED)直接存在于图中,边密度本身就是相似性信号。
|
这种设计的优势:
- 无需向量数据库:省去向量存储和检索的复杂性
- 结构即语义:图的连接模式直接反映概念关联
- 可解释性强:社区边界由显式边决定,而非黑盒嵌入
2.3 超边表示与置信度系统
Graphify引入两项重要机制确保图谱质量:
超边(Hyperedges)
表达3个以上节点的群组关系,这是普通两两边无法表达的。例如:一组类共同实现一个协议、认证链路中的一组函数、论文某节中的多个概念共同组成一个想法。
|
置信度标记系统
每条关系都被明确标记: - EXTRACTED (1.0):直接在源材料中找到,确定性关系
- INFERRED (0.0-1.0):合理推断,附带置信度分数
- AMBIGUOUS:有歧义,需要人工复核
|
3
工作流程:从文件到知识图谱
3.1 完整处理流程
1 输入扫描 识别文件夹中的所有文件,支持代码(19种语言)、文档(Markdown/TXT)、论文(PDF)、图片(PNG/JPG/WebP/GIF)。通过.graphifyignore排除不需要的文件。
|
⬇️
2 双阶段提取 AST提取代码结构 + LLM提取语义概念,结果合并到NetworkX图对象。
|
⬇️
3 Leiden聚类 基于图拓扑进行社区发现,识别高度连接的节点群组。
|
⬇️
4 输出生成 生成graph.html(可视化)、GRAPH_REPORT.md(报告)、graph.json(数据)。
|
3.2 缓存与增量更新
⚡ SHA256缓存机制 重复运行时只处理变更过的文件。代码文件保存触发即时重建(仅AST),文档/图片变更通知用户运行--update进行LLM再提取。
|
3.3 支持平台与安装
| 平台 |
安装命令 |
常驻机制 |
| Claude Code |
graphify install |
CLAUDE.md + PreToolUse Hook |
| Codex |
graphify install --platform codex |
AGENTS.md |
| OpenCode |
graphify install --platform opencode |
AGENTS.md |
| OpenClaw |
graphify install --platform claw |
AGENTS.md |
| Factory Droid |
graphify install --platform droid |
AGENTS.md |
| Trae |
graphify install --platform trae |
AGENTS.md |
4
代码示例:从安装到使用
4.1 基础安装
# 安装Graphify(PyPI包名为graphifyy) pip install graphifyy && graphify install # 在项目中安装常驻机制(以Claude Code为例) graphify claude install
|
4.2 核心命令
# 对当前目录构建知识图谱 /graphify . # 对指定目录运行 /graphify ./raw # 深度模式:更激进地抽取INFERRED边 /graphify ./raw --mode deep # 增量更新:只处理变更文件 /graphify ./raw --update # 自动同步:文件变更时自动更新 /graphify ./raw --watch # 生成Obsidian知识库 /graphify ./raw --obsidian
|
4.3 图谱查询
# 查询特定概念 /graphify query "what connects attention to the optimizer?" # 追踪具体路径 /graphify query "show the auth flow" --dfs # 限制token预算 /graphify query "what is CfgNode?" --budget 500 # 查找两节点间路径 /graphify path "DigestAuth" "Response" # 解释特定节点 /graphify explain "SwinTransformer"
|
4.4 添加外部资源
# 添加论文到图谱 /graphify add https://arxiv.org/abs/1706.03762 # 添加推文 /graphify add https://x.com/karpathy/status/... # 标记原作者 /graphify add https://... --author "Name" # 标记贡献者 /graphify add https://... --contributor "Name"
|
5
应用场景:谁需要Graphify
5.1 个人开发者:Karpathy式知识管理
适用场景
- 维护个人/raw文件夹,存放论文、笔记、截图
- 快速理解新接手的代码库
- 构建个人技术知识图谱
- 准备技术分享/演讲材料
|
5.2 企业团队:代码库治理
适用场景
- 新成员快速熟悉大型代码库
- 架构审查与依赖分析
- 识别God Nodes(高度耦合的核心模块)
- 发现意外连接(跨模块隐式依赖)
|
5.3 研究学者:文献知识图谱
适用场景
- 构建论文知识图谱,追踪概念演进
- 跨论文发现隐藏关联
- 提取论文中的设计动机和rationale
- 生成研究综述的素材
|
6
与传统RAG的对比
| 维度 |
传统RAG
|
Graphify |
| 核心结构 |
向量数据库 + 文本块 |
知识图谱 + 社区结构 |
| 相似性计算 |
Embedding余弦相似度 |
图拓扑边密度(Leiden) |
| 关系表达 |
隐式(通过向量接近) |
显式(带类型和置信度) |
| 多跳推理 |
困难(需要多次检索) |
自然(图遍历) |
| 可解释性 |
低(黑盒相似度) |
高(显式边+源位置) |
| 外部依赖 |
向量数据库服务 |
纯本地(NetworkX) |
| 代码隐私 |
可能需上传代码 |
AST完全本地处理 |
| 多模态支持 |
有限(需单独处理) |
原生(Claude Vision) |
7
实际效果数据
7.1 Token节省效果
Graphify每次运行后自动打印token基准数据:
| 语料 |
文件数 |
压缩比 |
| Karpathy仓库 + 5篇论文 + 4张图片 |
52 |
71.5x |
| Graphify源码 + Transformer论文 |
4 |
5.4x |
| httpx(合成Python库) |
6 |
~1x |
规模效应
Token压缩效果随语料规模增大而更明显。6个文件本来就能塞进上下文窗口,Graphify的价值在于结构清晰度;到了52个文件(代码+论文+图片)规模,压缩比达到71x+。
|
7.2 关键洞察 -
首次运行成本:需要提取并建图,消耗token
- 后续查询收益:直接读取压缩后的图谱,节省显著
- 缓存机制:SHA256缓存确保重复运行只处理变更文件
- 持久化价值:graph.json可跨会话查询,无需重新读取原始文件
8
总结与展望
8.1 Graphify的核心贡献
三个关键创新
- AST+LLM双阶段:代码隐私与语义深度的平衡
- 无Embedding图聚类:图拓扑即相似性的新范式
- 置信度透明系统:明确区分发现与推断
|
8.2 技术趋势意义
Graphify代表了知识库构建领域的重要演进方向:
- 从向量到图:从"相似文本块检索"转向"概念关系推理"
- 从黑盒到可解释:显式关系边替代隐式向量相似度
- 从单模态到多模态:统一处理代码、文档、论文、图片
- 从云服务到本地优先:代码完全本地处理,保护隐私
8.3 适用建议
✅ 推荐使用 - 需要理解复杂代码库的架构关系
- 管理大量技术文档和论文
- 构建可查询的个人/团队知识库
- 需要可解释的知识检索
|
⚠️ 注意事项 - 需要Python 3.10+环境
- 语义提取阶段需要AI编码助手平台(Claude Code等)
- 首次运行有token成本,适合长期维护的知识库
- 极小规模语料(<5文件)收益有限
|
"Graphify不仅是工具,更是一种知识管理范式的转变——从被动存储到主动构建结构,从隐式关联到显式关系,从消耗token到投资token。" |