刚入职一家新公司,第一任务就是要快速上手分配给我们负责的项目代码。但往往缺少项目文档,甚至连代码里的注释都没有,而上一个维护项目的同事又走了。此时我们面对着几十万行代码量的老项目,相信大家都会多少有点不知从何入手。
虽然可以让 AI 帮忙,但如果直接询问,可能就要消耗大量 Token,甚至 AI 也会回答错。在 GitHub 上发现一个开源项目,能帮我们梳理清晰这些老旧项目。
这个项目叫做 Understand-Anything,已多次登上 GitHub Trending 榜,狂揽了 4.7 万 Star。

我们可以先用它,把整个项目的文件和代码里函数之间的关联,梳理成一张能点开的知识图谱。点击图谱上任意节点,可以看到对应的代码文件负责了什么功能,又跟哪个文件有关联。这些关系,可以在这份图谱上看得一清二楚,不只方便我们查看也便于让 AI 理解。
它还会按照代码之间的依赖顺序,提供一条链路给我们,只要顺着这条链路查看即可。除此之外,还可以通过关键词搜索,或者直接用自然语言询问。比如问"哪部分代码是处理登录的",它就会把散落在各处的相关节点一起展示出来。

Diff 影响分析
了解清楚项目之后,接下来就是要按产品需求,对项目的代码进行改动。此时,我们又会担心自己改动的代码,会不会影响到项目其它什么地方。
这时候,就可以用到 Understand-Anything 的「Diff 影响分析」功能。在提交改动的代码前,让它帮我们标出这次代码的改动波及到哪些地方,然后逐一检查一下。
Domain 视图
此外,Understand-Anything 还有一个叫「Domain 视图」功能。对于老项目最难搞懂的,可能不是技术架构,而是这一堆代码到底在支撑着哪条业务。切到这领域视图,代码会按真实的业务流程重新铺开。哪个模块对应哪条业务线,一眼就知道。

为什么比其它工具靠谱
平时我们让 AI 读一个大项目的时候,它是不是很喜欢"脑补"一些内容出来?明明两个文件之间没什么关系的,它硬生生给我们虚构一条调用的链条来。这个情况尤其是在大型的老项目里经常出现,因为代码量大且缺少文档,然后 AI 就喜欢瞎猜。
而在 Understand-Anything 这里,它把这个活拆分成了两部分:
- 一部分交给叫 Tree-sitter 的工具。作为极其严谨的代码扫描仪,谁调用了谁、哪个函数属于哪个文件,它只认死理,不掺一点想象。
- 另一部分交给 AI。在这个准确的骨架之上,AI 只负责一件事,把每一块的代码翻译成人话。
这么分工,代码之间的逻辑关系是工具扫描出来的,而解释是 AI 给的,让我们更加好理解。

上手使用
工具的上手使用其实很简单。在 Claude Code 上,两行命令就能把插件装好:
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
装完之后首先执行命令 /understand,将整个项目扫描一遍,稍等一会图谱就构建出来。可以生成中文版本的图谱,需加个语言参数,命令是 /understand --language zh。
如果想浏览生成的图谱,则执行命令 /understand-dashboard,启动一个可视化网页面板。
除此之外,该工具也兼容 Cursor、Codex、Gemini CLI 等 AI 编程工具,在 README 文件上有详细的安装教程。
注意:第一次使用工具对项目进行扫描,如果项目越大花的时间就越长,毕竟要把所有文件全部梳理一遍,耐心等待一下即可。
总结
这两年的 AI 编程工具,几乎都在卷怎么"写"。怎么写得更快,怎么一句话生出一个功能。可"读懂"别人的代码,尤其是读懂那些没人维护的老项目,一直被晾在角落。但现实里,我们花在读代码上的时间,常常比写还多。
Understand-Anything 的出现正好补齐了这一块,让代码变得更容易被 AI 看懂。使我们与 AI 协作时,能够更准确的把项目里的代码逻辑处理喂给 AI,从而降低幻觉或出错的几率。
有需要的同学,不妨装一个试试,尤其适合新接手一个项目的场景,先用它跑一遍。
GitHub 项目地址:https://github.com/Lum1104/Understand-Anything