不用向量库、不花token:Graphify用知识图谱重新定义代码索引
当你接手一个陌生的百人团队代码库,最头疼的是什么?不是读不懂某个函数,而是问AI“这个模块谁在用”时,它翻遍十几个文件,给出一个似是而非的答案。这种困境催生了一个有趣的项目:Graphify。它在GitHub拿下13万star、1.2万fork,干脆利落地在项目介绍页写下一句话——“这不是一个向量索引,没有embedding,没有向量库,就是一张你能走进去的图。”在全民拥抱向量库的日子里,这个项目选择了一条截然不同的路。
故事开始于今年4月1日。Karpathy在X上发了一条需求帖:想把论文、代码、截图这些原始材料编译成一个能走进去的知识库,而不是每次提问都从零答一遍。48小时后,一个仓库悄然上线。作者Safi Shamsi是伦敦的AI工程师,伯明翰大学数据科学硕士,毕业论文就聚焦基于知识图谱的混合检索。别人转发那条帖子,他在照着写。4月3日开源,10天2.2万star,夏季突破8万star,入选YC S26,公司名为Graphify Labs。这个速度背后,痛点清晰可见——所有让AI改过别人代码的人,都做过同一件事:问AI某个函数被谁调用,然后看它翻一堆文件,最后给一个不敢全信的答案。grep能告诉你字符串在哪,却告诉不了你这块代码能不能动。
从一条帖子到YC项目
Graphify的核心逻辑藏在官方文档的三趟流水线里。前两趟完全在本地执行。第一趟处理代码:tree-sitter把代码拆成AST,抓取类、函数、import、调用关系,全程不调用LLM,不需要API key,代码不出本机。纯Python或纯代码仓库,这趟就能完整跑完,一分钱不花。第二趟处理视频音频:faster-whisper在本地转写,转写前的提示词用代码图里最核心的节点播种——先看你这个项目讲什么,再去听录音。只有第三趟才动模型:文档、PDF、图片交给语言模型,但不是一个个读,而是并行分给subagent各读一批,吐出的JSON最终合并成一张图。分社区用的是Leiden算法,按边的密度聚类,而非向量距离。
代码能不能动,不在embedding里、不在向量距离里,而在知识图谱的每一条可追溯的调用路径里
“行业观察”积墨 AI 智能体开发平台
快速搭建具备商业价值的 AI 智能体,支持复杂工作流编排、50+ 主流模型接入与私有化部署。
三趟流水线,只有一趟花钱
RAG的标准流程是切块、embedding、余弦相似度取top-k。问题出在第一步:代码被切成五百token的碎片,调用关系恰好断在切口上,检出的三块代码可能互相之间毫无关系。Graphify的解法是让边带类型——calls、imports、inherits、mixes_in,问“这俩函数怎么连上的”,它跳着走给你看路径,而非甩给你三段相似文本。省不省token看语料规模:小项目价值在结构清晰,大项目才真正划算。项目方给出了三组对比数据:Karpathy仓库加论文图表语料每次查询省71.5倍token;graphify源码加Transformer论文省45.4倍;httpx小库则接近1倍。最后一行是实话——六个文件本来就塞得进上下文窗口,图的价值是结构清楚,不是省token。在LOCOMO基准的recall@10上,Graphify达0.497,远超mem0的0.048和supermemory的0.149。建图消耗的LLM积分是0,这句话被项目方特意加粗标出。
零成本建图与路径查询
装完只需敲一行命令:/graphify .,产出目录graphify-out/里有三个文件。graph.html可在任何浏览器打开,点击节点、按社区筛选、搜索名字,颜色自动切出子系统边界。GRAPH_REPORT.md是骨架报告,列出最核心节点、意外连接、建议追问的问题。graph.json是完整图数据,可随时查询不用重读原文件。更巧妙的是,graphify-out/设计成可以提交进git——一个人建好图,其他人拉下来,助手第一次打开项目就有地图,冷启动开销团队里只付一次。查询时三个命令返回的是结构而非文件路径:explain查节点详情,path查两节点间的最短路径,find查关联节点。每个节点带出身标签:EXTRACTED是源码里明写的置信度1.0,INFERRED是推断出来的带0.55到0.95分档,AMBIGUOUS是拿不准单独标出来等人工判断。这套机制的价值不在精确,在于你能分清哪句话是读出来的、哪句话是猜出来的。
Graphify适合手上有老项目、天天让AI在里面改东西、又总担心它漏看的人。不适合三五个文件的小脚本——装它是仪式感,不是必需品。这个项目真正的价值,是把“读到的”和“猜的”分开摆在你面前,让AI的回答可追溯、可验证。至于13万star里有多少真在用,取决于多少人养成“先查图再改代码”的习惯。这事儿跟工具有关,也跟人有关。
