每日严选
Heavybit Library
Heavybit LibraryAndrew Park

读懂代码,先把它变成一张关系网Is the Key to Understanding Code Treating it as a Graph?

TL;DR

把代码库看作一张关系图谱,而非一堆文本行,能让 AI 和人类更快更准地理解复杂代码。

现在很多公司的新代码里有三成到七成是 AI 写的,可新人上手和改老代码反而更难了。作者 Vitali Avagyan 认为,问题出在大家还把代码当文本看。

他做了个开源项目 code-graph-rag,把整个代码库变成一张关系图,节点是函数、方法,边是调用关系。

查代码像查地图

现在让 AI 助手理解代码库,像让一个只会用搜索功能的人找东西。比如问它"最长的嵌套函数调用",它只能一行行翻,又慢又费钱。

但有了图谱,写一小段查询语句,几毫秒就出结果。作者说,文本搜索和图谱查询能一起用,AI 自己会选哪条路。

准确图谱不能靠 AI 编

一开始他让 AI 直接生成图谱,结果 AI 会编造不存在的关联。后来改用 Tree-sitter 这类工具,从代码语法结构里提取关系,准确且能支持十多种语言。

运行时行为还得靠真跑测试才能知道。项目已经跑了七千多个测试,保证改一处不弄坏别处。

图谱还能找出废物代码

新员工培训时,直接看图比翻代码快多了。还能查哪些函数从来没人调用,那些就是可以删掉的"死代码"。有公司想用它查安全问题,因为数据在系统里怎么流转,图谱一眼就能看清。

至于为什么大公司还没普遍用?作者说,主要是准确性和实时同步太难——代码每分钟都在变,图谱得跟着及时更新。

看原文 →
分享到

你可能还想读

每天 5 篇真正值得读的文章

从全球优质信息源中筛选,几分钟了解当天最值得关注的观点。

每日严选

每天 5 篇真正值得读的文章

从全球优质信息源中筛选,几分钟了解当天最值得关注的观点。

当天全部文章2026-08-28 · 共 21 篇