82.4k 星!把十几万行代码变成知识图谱,新人终于不用硬啃了

0 阅读3分钟

做程序员的朋友应该知道,程序员跳槽有 两 大门槛。

一是跳槽面试,程序员每次跳槽都需要准备很久,像我跳槽除了要准备Java基础知识,还要上力扣上刷算法,还要把以前的项目总结沉淀一下,少说也得 1、2 月准备。

二是面试过了后,入职接手屎山代码。

大一些的项目可能有十几万行代码,文件、函数和依赖绕在一起。打开项目看了半天,还是不知道该从哪里下手。

现在有 AI 帮忙,理解单个文件已经容易多了。但它每次看到的上下文有限,今天帮你分析登录模块,明天再聊支付流程,前面梳理出来的信息可能就忘记了。

AI 写代码越来越快,程序员接手屎山代码的速度可没跟上。

今天给大家分享的这个项目 Understand Anything ,就是帮助程序员朋友解决这个问题的。

我发现这个项目的时候,它已经有 82.4k Star 了,从今年 5 到 9 月增长就非常猛,足以说明程序员对这类项目的需求。

先把代码库变成一张能问的地图

Understand Anything 会分析整个项目,把文件、函数、类、调用关系和依赖结构,整理成一张可以搜索、点击和追问的交互式知识图谱。

它不只告诉你“A 文件引用了 B 文件”。

还会继续解释这个文件负责什么、属于哪一层架构、跟哪条业务流程有关,以及新人应该按什么顺序读下去。

说的简单些,使用这个项目能给我们代码仓库补上一份会自动更新的项目说明书。

这张图真不是画出来看的

官方提供了一个可以直接打开的在线 Demo。

进入图谱后,可以平移、缩放和搜索节点。点开某个函数,就能看到它的代码、摘要以及和其他模块的关系。

它还提供了一个业务视图,可以把底层代码重新组织成领域、流程和步骤。

比如你不想研究几十个 Controller 和 Service,只想知道“支付流程到底怎么跑”,就可以直接从业务链路往下看。

引导式学习会根据依赖顺序生成阅读路线;语义搜索可以直接问“哪些代码处理身份验证”;修改代码之后,还能用 Diff 影响分析查看这次改动可能波及哪些模块。

正是有了这些能力,这张知识图谱就能解决我们入职后轻松读懂屎山代码啦。

它把读懂项目拆给了多个 Agent

项目底层采用 Tree-sitter + LLM 的混合方案。

Tree-sitter 负责提取函数、类、导入和调用关系。这些结构事实可以稳定复现,不需要让大模型瞎猜。

LLM 负责理解代码意图,生成摘要、架构分层、业务领域映射和学习路径。

整个分析过程又被拆给项目扫描、文件分析、架构分析、导览生成和图谱检查等多个 Agent,并行处理大型仓库。

生成的图谱保存在 .ua/knowledge-graph.json,你可以把生成的图谱也提交到仓库,后续团队共同维护着一份图谱就可以。

项目目前支持 Claude Code、Codex、Cursor、Copilot、Gemini CLI、OpenCode 等主流 AI 编程工具。以 Codex 为例,安装后输入 $understand,就能开始分析当前项目。

需要注意的是,第一次扫描大型仓库会消耗较多 Token。官方建议使用订阅套餐,也可以接入 Ollama 等本地模型。完成首次分析后,项目默认只处理发生变化的文件,后续消耗会少很多。

今天就分享到这,感谢阅读,希望对你有帮助。

Github不放便的小伙伴,看这里