这就是 AI 编程缺失的内存层 (Graphify)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00这可能是让你的代码库焕发活力的最疯狂方式之一。
00:00:04如果你在实际项目中使用 Claude Code 或 Cursor,你可能会觉得写代码是最难的部分。
00:00:09其实不然。最难的部分是理解你自己的代码仓库。
00:00:13你问一个问题,你的 AI 就会为了弄清楚是怎么回事而耗尽你的 token。
00:00:18它速度慢、成本高,而且有一半时间依然很生疏。
00:00:22如果不是每次都发送整个项目,而是给 AI 一张项目地图呢?
00:00:27这正是 Grafi 所做的,它可以减少 70% 以上的 token 使用量。
00:00:32让我来告诉你这一切是如何运作的。
00:00:34现在,你的 AI 眼中的项目是这样的。只是一堆文件。
00:00:44没有真正的连接。没有结构。没有记忆。
00:00:48所以每次你提问时,它都必须从头开始重新学习一切。
00:00:53这就是为什么答案感觉很接近,但不完全正确。
00:00:56没错,这正是 Karpathy 指出的“原始文件夹”问题。
00:01:01Grafi 就在那之后出现了。它更像是一个记忆层。
00:01:06如果你喜欢这类编程工具和技巧,请务必订阅。
00:01:09我们经常会发布新视频。
00:01:11好了,现在让我展示一下。我这里有一个小仓库。代码、文档、图表。
00:01:16通常情况下,我每次都得向 AI 解释这一切。
00:01:20现在,我运行一个命令,就在这里输入 Grafi。稍等片刻。看这个。
00:01:27在 Claude 执行 Grafi 之后,这不再仅仅是文件了。它是一个真实的图谱。
00:01:33一切都是相互连接的。我可以点击并剖析具体发生了什么,
00:01:38以及它生成的这个 HTML 文件中连接了哪些内容。
00:01:42现在我不再需要让 AI 重新阅读所有内容,而是可以直接问它 API 层连接了什么。
00:01:50现在它会利用这种调用生成的 MD 文件及其中的关系来回答。
00:01:56这不再是猜测,而是基于关系。这里是令我惊讶的部分。
00:02:00在此之前,大约消耗了 14,000 个 token,大概就是用了这么多。
00:02:04在这之后,在它第一次执行完后,消耗量降到了几百个左右。
00:02:09同样的问题,完全不同的成本。这一切都归功于这张生成的地图。
00:02:14那么它到底在做什么?Grafi 基本上就像是你代码库的谷歌地图。
00:02:20你得到的不是原始文本,而是节点和连接。
00:02:24在底层,它使用 tree-sitter 来理解结构,然后用 LLM 提取含义。
00:02:30接着它能将所有内容分组成簇,而且不仅仅是代码。
00:02:35它能读取 PDF、图表,甚至音频和视频。全部在本地完成,数据不出机器。
00:02:41你从中获得的东西很简单。我们得到了一个可视化图谱、一份书面报告,
00:02:46以及一个我们可以实际探索的知识库。
00:02:49这个可视化图谱对我们很多人来说意义重大,因为我们可以看到事物是如何连接的。
00:02:54现在,来看看这如何改变了 AI 编程通常的工作方式。
00:02:57大多数工具使用 RAG,这基本上意味着寻找类似的文本块。
00:03:03但 Grafi 不这样做。它建立的是真实的关系。
00:03:07这个函数调用了那个函数。这个模块依赖于那个模块。
00:03:11这个想法源自这份文档,它甚至会告诉你它的置信度。
00:03:16所以得到的不再是“这看起来相关”,而是类似于“这在实际可视化中
00:03:21确实是相互连接的”。
00:03:24最大的区别在于,因为它生成了那个可以回溯的 MD 文件,它也具备了记忆,
00:03:30我们不需要每次都从零开始。
00:03:33它只更新更改的部分,所以你的 AI 终于有了持久的上下文。
00:03:38好了,我觉得这一切确实挺棒的。
00:03:42但目前的优缺点分别是什么呢?
00:03:44首先,效率是会叠加的。
00:03:47每个问题都变得更便宜。因为连接了代码、
00:03:51文档和图表,你会开始发现一些以前甚至不知道存在的关系。
00:03:56这对于接手那些丢给我们的烂摊子项目来说,是入职的神器。
00:04:00太棒了。现在来看看缺点。
00:04:03第一次运行可能会很慢且消耗 token,尤其是文档很多的时候。
00:04:08在那之后它会有缓存。但没错,第一次的开销是实打实的。
00:04:12它还处于早期阶段,所以长期支持还是个未知且小众的事情。
00:04:17安装的时候要注意,是 Grafyy,两个 y,不是一个。
00:04:20所以检查一下拼写。关系并不总是完美的,
00:04:23但它标注得很清楚:提取的、推断的、模糊的,
00:04:28这样你就知道哪些是可以真正信任的。如果你的仓库很小,
00:04:32这可能有点大材小用了。那么它值得吗?
00:04:35我是说,如果你在任何实际项目中使用 AI,这都很酷。
00:04:38我觉得值得。因为你最大的问题不是运行代码,
00:04:42而是跨文件、跨时间、跨语境地去真正理解它。
00:04:46这正是它解决的问题。光是节省的 token 就值得一试,
00:04:51但更大的收获是:你的 AI 不再猜测,而是开始推理。
00:04:56如果你是独立开发、做研究,或者处理大型系统,这是一个重大的升级。
00:05:01如果你只是在写一些小脚本,这可能有点杀鸡用牛刀了,
00:05:04所以你并不真的需要尝试。但对于大多数尝试过这个的开发者来说,
00:05:07这将是一个极佳的工具。如果你喜欢这类能加速工作流的
00:05:10编程工具和技巧,请务必订阅 Better Stack 频道。
00:05:14我们下个视频再见。

Key Takeaway

通过将散乱的代码库转化为具有持久上下文和逻辑连接的知识图谱,Graphify 将 AI 理解项目的 Token 成本降低 70% 并使其从文本匹配转向基于关系的推理。

Highlights

  • Graphify 能够将 AI 编程中的 Token 消耗量降低 70% 以上,在特定案例中将消耗从 14,000 个 Token 降至数百个。

  • 该工具底层使用 tree-sitter 解析代码结构,并结合大语言模型提取代码、文档、图表甚至音视频的含义。

  • Graphify 在本地运行以确保数据隐私,生成包含节点与连接的知识图谱、书面报告和可探索的 Markdown 知识库。

  • 不同于寻找文本相似性的传统 RAG 模式,该工具通过建立函数调用、模块依赖和文档起源的真实逻辑关系进行推理。

  • 安装该工具时需注意其拼写为具有两个字母 y 的 "Grafyy",以区别于其他类似命名的项目。

  • 系统会对提取的关系标注“提取”、“推断”或“模糊”等级,帮助用户判断信息的置信度。

Timeline

代码仓库理解的性能瓶颈

  • 理解复杂代码仓库是 AI 编程中最耗费资源和成本的环节。
  • 缺乏结构的原始文件夹导致 AI 每次提问都需要重新学习整个项目环境。
  • Token 消耗过高且响应速度缓慢源于 AI 对项目连接关系的缺失。

在使用 Claude Code 或 Cursor 等工具时,核心挑战不在于代码编写,而在于 AI 难以消化大型项目的上下文。传统方式将项目视为一堆孤立的文件,这种“原始文件夹”问题导致 AI 为了弄清代码逻辑而耗尽 Token。由于没有记忆层,AI 生成的答案往往接近但不准确。

Graphify 的核心机制与可视化

  • Graphify 为代码库创建一个真实的相互连接的图谱记忆层。
  • 利用生成的 Markdown 文件记录项目地图,使 AI 能够直接回答 API 层等具体架构问题。
  • 单次执行后,相同问题的 Token 成本从 1.4 万个骤减至几百个。

通过运行命令,项目中的代码、文档和图表会被转化为可视化图谱。该工具不再让 AI 重复阅读所有源文件,而是利用生成的 MD 文件及其定义的相互关系进行应答。这种方式消除了猜测,使回答基于确凿的项目结构关系,显著提升了经济性和准确性。

技术实现与本地化数据处理

  • 系统通过 tree-sitter 理解语法结构,再由大模型提取深层语义并分组合簇。
  • 分析范围涵盖 PDF、图表、音频和视频等多种非代码格式。
  • 数据处理完全在本地机器完成,不涉及外部传输。

Graphify 超越了传统的 RAG 检索模式,它不只是寻找相似文本块,而是识别函数调用、模块依赖和文档来源之间的真实物理连接。它具备增量更新能力,仅处理更改的部分,从而为 AI 提供持久的上下文支持。用户可以得到可视化图谱、书面报告和可搜索的知识库。

工具评估与适用场景

  • Graphify 是接手大型复杂项目或新员工入职理解架构的利器。
  • 首次运行需要消耗较多时间和 Token 进行全量索引。
  • 小型单文件脚本或简单项目使用该工具属于过度配置。

效率优势会随着提问次数的增加而累加。尽管早期版本存在安装名称拼写需注意(Grafyy)以及首次运行开销大的缺点,但对于处理大型系统、独立开发或研究任务,其解决跨文件推理问题的能力具有极高价值。它让 AI 的行为从概率猜测进化为逻辑推理。

Community Posts

View all posts