接新项目面对20万行代码我不知道从哪读起——Understand-Anything把这件事彻底变了
接到新项目,面对20万行没人维护的代码,你第一件事是什么?大多数人是开始一个文件一个文件地读,读三个月才大概知道系统怎么跑。Understand-Anything 这个工具用一个命令把这件事彻底变了——它把任意代码库变成可交互的知识图谱,不只是给你索引,是给你一张「地图」。
23k GitHub star,MIT协议,支持 Claude Code、Codex、Cursor、Copilot 等14个编程Agent平台。我跑了两个月,把它的账全算清楚了。
它怎么工作的?
核心是 tree-sitter 加 LLM 的混合方案。tree-sitter 做确定性的事——解析源码成语法树,提取 import、export、函数定义、调用点、继承关系。相同代码每次跑出一致的结构。LLM 在这基础上做语义的事——读这些结构化事实,生成英文摘要、标签、架构分层、业务领域映射。
这两个分工很关键。结构层保证可复现,同样代码产生同样边。语义层捕捉意图,不只告诉你「这个文件import了那个」,而是「这个文件是做什么用的」。
6个专用Agent流水线
执行 /understand 时,工具内部跑的是6个Agent的编排:project-scanner 发现文件检测语言框架,file-analyzer 提取函数类import生成图谱节点,architecture-analyzer 识别分层,tour-builder 生成引导式导览,graph-reviewer 验证完整性,domain-analyzer 提取业务领域和流程。
文件分析器并行跑,最多5个并发,每批20-30个文件。增量更新默认只重新分析变更过的文件,不用每次全量扫。
不只是代码——还能分析知识库
除了代码,它还能分析 Karpathy 模式的 LLM Wiki 知识库。解析 wikilink 和分类,把 wiki 变成可导航的知识图谱。这点有意思——团队的知识沉淀和代码在同一个视图里打通。
实际体验:哪些功能真能用
我跑了三个真实场景。
第一个是大项目接手。一个18万行的旧系统,执行 /understand-onboard 生成了按依赖顺序的新人入职指南。不是泛泛的文档,是真的按「先看基础设施,再看核心逻辑,最后看业务层」的顺序排的。
第二个是代码审查。提交前执行 /understand-diff,变更影响分析不只看到直接依赖,还看到级联影响。有一次我改了一个工具函数,diff 告诉我这个改动会影响7个业务文件,其中2个是我完全没意识到的。
第三个是语义搜索。搜「哪些部分处理认证」,跨图谱返回了相关结果,包括一个名字里完全没有 auth 关键字的工具函数——它内部调用了认证模块,但直接搜 auth 根本搜不到它。
增量更新:不用每次等全量扫描
/understand 默认增量更新。工具会记录文件指纹,只重新分析变更过的文件。开了 post-commit hook 之后,每次提交自动更新图谱。团队共享也简单——图谱就是 JSON 文件,提交到 Git,队友直接用,不用每人每次都跑分析。
图谱大的话(10MB以上)建议用 Git LFS。
支持的平台
Claude Code 可以从插件市场直接装:/plugin marketplace add Lum1104/Understand-Anything。其他平台一行脚本:curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash。支持 codex、gemini、opencode、openclaw、cursor、vscode、copilot、pi、hermes、cline、kimi、antigravity、vibe。
下一个动作
如果你正在接一个大项目,或者团队里有人要快速理解一个陌生代码库,先跑一遍 /understand。不需要任何配置,装完直接用。它会花几分钟扫你的项目,然后给你一张可以放大缩小、点击跳转的知识地图。这几分钟的投入,换来的是之后少走很多弯路。
这个工具最值钱的地方不是搜索,是那张让你「看到整体」的地图。很多时候阻碍你的不是找不到某个函数,是根本不知道要从哪里开始。
评论区
登录后可评论。