AI 读你的代码太慢?先给它画张地图
我最近在用 Cursor 帮我维护一个中等规模的项目,大概两百多个文件。每次让它做一个涉及多文件的改动,前期的"读代码"阶段特别慢。
它会先读入口文件,然后发现引用了其他模块,再去读那些模块,读了那些模块又发现还有依赖……像一个人在迷宫里摸黑走路,每走一步都要停下来看看地图。
等它终于把上下文搞清楚了,token 已经烧了一大堆。然后因为上下文太长,后面的理解质量还会下降。
这个问题其实在 AI 编程领域挺普遍的——AI 工具在读代码这件事上效率很低,因为它们是"逐文件扫描"的,没有全局视角。
CodeGraph 就是来解决这个问题的。它的思路很直接:在 AI 读代码之前,先给代码画一张知识图谱,AI 直接查图谱就行,不用一个文件一个文件地啃。

▲ CodeGraph
先说它是什么
CodeGraph 是一个代码知识图谱生成工具。它扫描你的代码库,分析文件之间的依赖关系、函数调用链、数据流向,然后生成一张结构化的图谱。
AI 编码工具拿到这张图谱后,可以直接定位相关文件和代码,跳过逐文件扫描的阶段。官方说能省大约 35% 的 token 消耗,实际测下来差不多。
GitHub 地址:colbymchenry/codegraph,28k+ Star,Rust + Python 项目。
怎么装
# 一行命令安装
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh安装完成后,在项目根目录执行:
# 生成知识图谱
codegraph build .
# 查看图谱摘要
codegraph summary它会自动识别项目语言,构建依赖关系图谱。生成的图谱保存在项目根目录的 .codegraph/ 目录下,可以加入 .gitignore。
有图谱和没图谱的差别
用一个具体场景来说明区别。
假设你让 AI 帮你修改一个用户认证模块的密码加密方式。
没有 CodeGraph 的时候: AI 从 auth.py 开始读,发现引用了 utils/crypto.py,去读 crypto.py,发现引用了 config/settings.py,去读 settings.py……一路读下去,可能读了十几个文件才搞清楚影响范围。这个过程消耗大量 token,而且容易漏掉间接依赖。
有 CodeGraph 的时候: AI 直接查询图谱——"哪些文件调用了 crypto 模块的 encrypt 函数?"图谱秒级返回答案:auth.py、api/handlers.py、tests/test_auth.py,以及它们各自的调用链。AI 直接定位到这几个文件开始工作,不用读无关代码。
这就是"有地图"和"没地图"的区别。一个人开车去陌生城市,可以一条街一条街地试,也可以先看一眼导航。效率差了好几个量级。
几个我觉得设计得很聪明的点
20+ 语言支持。 不是只支持 JavaScript 或 Python。主流语言都覆盖了:Java、Go、Rust、TypeScript、C++、Ruby 等二十多种。多语言项目也能处理跨语言的依赖关系。
100% 本地运行。 图谱生成完全在本地进行,代码不会上传到任何服务器。对于商业项目来说,这一点很关键。你不会想把自己的代码库发给第三方服务做分析。
调用链追踪。 不只是记录"谁引用了谁",而是追踪完整的调用链路。从入口函数到最终执行,中间经过了哪些函数调用、传递了什么参数,都能查到。这个在做影响分析的时候特别有用。
影响分析。 你要改某个函数的签名,CodeGraph 能立刻告诉你这个改动会影响哪些文件、哪些测试用例。改之前心里有数,不用改完跑一遍测试才发现炸了。
自动同步。 代码改了之后,图谱会自动增量更新,不需要重新构建。改一个函数只更新跟这个函数相关的图谱节点,速度很快。
实际用下来最好的场景
大型项目维护。 代码量越大,CodeGraph 的价值越高。几百上千个文件的项目,没有图谱的话 AI 每次改动都要花很长时间理解上下文。有了图谱,定位相关代码从分钟级降到秒级。
接手别人的代码。 新加入一个项目,先把图谱生成出来,比读 README 和文档快十倍。你能直观地看到整个项目的架构、模块间的关系、核心入口在哪。
重构前的评估。 要做大范围重构之前,先用 CodeGraph 做一次影响分析。看看改动会波及多少文件,有没有意想不到的依赖关系。提前发现问题,比重构过程中踩坑强得多。
配合各种 AI 编码工具。 CodeGraph 不绑定特定的 AI 工具。生成的图谱可以被 Cursor、Copilot、Aider、Claude Code 等工具使用。不管你用什么 AI 写代码,都能受益。
适合谁
- • 维护中大型项目、经常需要 AI 处理跨文件改动的开发者
- • 刚接手别人的代码、需要快速了解项目结构的人
- • 频繁做重构、需要评估改动影响范围的团队
- • 用 AI 编码工具觉得 token 消耗太快想优化的
- • 对代码可观测性和架构可视化感兴趣的工程师
项目规模小的话(十几个文件),CodeGraph 的优势不明显,因为 AI 本身也能很快读完。但项目超过 50 个文件,它的价值就开始显现了。
雷达持续扫描中,有想了解的工具随时留言。
— 龙珠雷达持续扫描中 —
夜雨聆风