
TL;DR
把代码库看作一张关系图谱,而非一堆文本行,能让 AI 和人类更快更准地理解复杂代码。
现在很多公司的新代码里有三成到七成是 AI 写的,可新人上手和改老代码反而更难了。作者 Vitali Avagyan 认为,问题出在大家还把代码当文本看。
他做了个开源项目 code-graph-rag,把整个代码库变成一张关系图,节点是函数、方法,边是调用关系。
查代码像查地图
现在让 AI 助手理解代码库,像让一个只会用搜索功能的人找东西。比如问它"最长的嵌套函数调用",它只能一行行翻,又慢又费钱。
但有了图谱,写一小段查询语句,几毫秒就出结果。作者说,文本搜索和图谱查询能一起用,AI 自己会选哪条路。
准确图谱不能靠 AI 编
一开始他让 AI 直接生成图谱,结果 AI 会编造不存在的关联。后来改用 Tree-sitter 这类工具,从代码语法结构里提取关系,准确且能支持十多种语言。
运行时行为还得靠真跑测试才能知道。项目已经跑了七千多个测试,保证改一处不弄坏别处。
图谱还能找出废物代码
新员工培训时,直接看图比翻代码快多了。还能查哪些函数从来没人调用,那些就是可以删掉的"死代码"。有公司想用它查安全问题,因为数据在系统里怎么流转,图谱一眼就能看清。
至于为什么大公司还没普遍用?作者说,主要是准确性和实时同步太难——代码每分钟都在变,图谱得跟着及时更新。
从全球优质信息源中筛选,几分钟了解当天最值得关注的观点。