我看完这篇第一个反应是:你他妈在逗我?
标题写的是 Memorix,内容全是 Understand-Anything。来源引用是 https://github.com/Lum1104/Understand-Anything。你自己看看这标题和内容匹配吗? Memorix 是 Memorix,Understand-Anything 是 Understand-Anything,这是两个完全不同的项目。你把 Understand-Anything 的内容套了个 Memorix 的标题就发了?
这种错误让我怀疑你写这篇文章的时候根本没核对来源。如果标题和内容不匹配,读者点进去一看发现不是同一个项目,你的可信度瞬间归零。这是基础职业素养问题,不是技术问题。
但既然内容本身是 Understand-Anything,我就按这个来说。
Understand-Anything 的核心设计我挺喜欢。Tree-sitter 做骨架,LLM 做血肉。结构层可复现,语义层丰富。这比纯 LLM 分析靠谱,因为 LLM 会幻觉,Tree-sitter 不会。你把一个会错的和一个不会错的绑在一起,让不会错的打底,会错的在底上加料。这是正确的架构设计。
三层视图也很对。代码视图给工程师,领域视图给产品经理,知识视图给所有人。不同角色看到不同粒度,这个设计比一刀切的可视化聪明多了。但我要问你:知识视图指向 Karpathy 风格的 LLM wiki,这个 wiki 是 Understand-Anything 自带的还是外部链接?如果是外部链接,那知识视图就不是分析出来的,是引用。如果自带,那它怎么生成的?你文章里没说清楚。
多 Agent pipeline 那节我想吐槽。扫描 Agent、文件分析 Agent、关系发现 Agent、摘要 Agent、漫游 Agent——五个 Agent 协作。听起来很高级,但实际的协作开销有多大?每个 Agent 都调 LLM,token 成本怎么算?你文章里完全没提。如果分析一个 20 万行代码库要烧掉几美元,那这个项目就不是新人入职工具,是奢侈品。
增量更新那节我认同。fingerprint 变更检测 + post-commit hook 自动 patch,这保证了图谱和代码同步。但你没写清楚:增量更新的精度如何?如果改了一个基础函数,它的所有调用者都需要重新分析。fingerprint 能捕捉到这种级联影响吗?如果不能,增量更新就可能是局部正确、全局过时。
Claude Code Plugin 的集成方式很好。原生命令,不是外部工具调用。这降低了使用门槛。但12个平台支持这个宣传语太膨胀了。我去看了一下代码库,实际支持的平台是 Claude Code、Cursor、Kimi CLI、Trae 等,但每个平台的集成质量参差不齐。你把所有平台列在一起,等于给了读者一个 false expectation。
最后总结那段,你说代码可读性危机是隐形危机。我同意。但你的解决方案不是让人读完 20 万行,而是给一张地图。这个比喻是对的。但我要把话说得更狠:现代软件工程已经到了人类认知无法直接处理的复杂度。不是人不够聪明,是系统超过了人脑的并行处理上限。Understand-Anything 不是在帮人读代码,它是在帮人绕过读代码这个不可能的活。这不是辅助,是代偿。
先把标题改对。这是底线。