返回文章

Understand Anything:AI 时代,程序员更需要看懂项目

先说结论

最近看到一个很有意思的开源项目:Understand Anything。

它做的事情很简单:把一个代码库、文档库或者知识库,变成一张可以探索的知识图谱。

说人话就是:

以前你接手一个项目,只能一层层翻目录、看 README、找入口、问老同事。

现在它试图先帮你生成一张“项目地图”。你可以在图里看文件、函数、类、依赖关系,也可以搜索和提问。

我觉得这个方向很值得关注。因为 AI 编程时代,问题不只是“怎么更快写代码”,更重要的是:怎么更快看懂一个复杂系统。

现在的问题

现在 AI 写代码越来越快。

Cursor、Claude Code、Codex 这些工具,已经能帮我们生成大量代码、改 bug、补测试、重构模块。

但另一个问题也越来越明显:

代码变多了,理解变慢了。

尤其是接手老项目时,你经常会遇到这些问题:

  • 入口在哪里?
  • 哪些模块最核心?
  • 这个函数到底谁在调用?
  • 改这个文件会影响哪些业务?
  • 代码里的业务流程到底是什么?
  • 哪些地方是历史包袱,不能随便动?

这些东西,README 里通常写不清楚。代码注释也不一定完整。

很多时候,真正的“项目地图”在老同事脑子里。

Understand Anything 想做的,就是把这张脑子里的地图,变成一张可以看的图。

它做了什么

Understand Anything 可以分析你的项目,然后生成一个知识图谱。

图里的节点可以是:

  • 文件
  • 函数
  • 类
  • 模块
  • 依赖关系
  • 业务流程
  • 知识库里的概念、实体和观点

然后它提供一个 Dashboard,你可以在里面搜索、点击节点、查看解释、看关系。

它支持 Claude Code、Codex、Cursor、Copilot、Gemini CLI 等 AI 编程工具。

它的核心不是“画一张很酷的图”。

更准确地说,它想回答一个问题:

我应该按照什么顺序理解这个项目?

这点很关键。

很多可视化工具的问题是:图很复杂,看起来很厉害,但看完之后你还是不知道从哪里开始。

Understand Anything 更像是帮你建立阅读路径:先看哪些模块,再看哪些依赖,最后再看具体实现。

为什么有价值

我觉得它最有价值的地方有三个。

第一,它能帮你快速建立全局感

工程师最怕的不是代码多,而是没有全局感。

你不知道哪些地方重要,哪些地方只是边缘逻辑。

有了知识图谱,至少可以先看到项目的大致结构:

哪些模块在中心,哪些模块依赖最多,哪些模块只是工具层。

这对新人 onboarding 很有用。

以前新人进来,可能要花几天甚至几周才能摸清楚项目结构。

如果团队提前生成一份图谱,新人可以先看地图,再进代码。

第二,它能把代码和业务连起来

这点我特别喜欢。

很多时候,我们看代码不是为了看语法,而是为了理解业务。

比如一个交易系统,你真正关心的是:

用户下单后发生了什么? 库存什么时候扣? 优惠券什么时候锁定? 支付成功后哪些状态会变化? 退款会影响哪些模块?

代码只是实现,业务流程才是核心。

Understand Anything 里面有 Domain View,可以把代码映射到业务域、流程和步骤上。

这对工程师很重要。

因为一个工程师的成长,不只是会写代码,而是能看懂业务系统。

第三,它适合 AI 编程前的“上下文准备”

现在很多人直接让 AI 改代码。

但如果 AI 没有理解项目结构,它很容易只改局部,不懂整体。

这就会出现一种情况:

表面上改好了,实际上破坏了别的逻辑。

所以我觉得更好的流程应该是:

先理解项目,再让 AI 改代码。

Understand Anything 就适合放在这个前面。

先生成项目图谱,让 AI 和人都知道系统结构,再进入具体修改。

这样 AI 不容易瞎改,人也更容易判断 AI 改得对不对。

怎么用

如果你用 Claude Code,可以这样安装:

/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything

然后在项目里运行:

/understand

它会扫描项目,生成知识图谱文件:

.understand-anything/knowledge-graph.json

再运行:

/understand-dashboard

就可以打开 Dashboard,看项目结构。

如果想生成中文内容,可以用:

/understand --language zh

除了代码项目,它还可以分析知识库,比如 Karpathy 那种 LLM Wiki。

所以它不只是代码工具,也有点像“知识库地图工具”。

我的判断

我觉得 Understand Anything 代表了 AI 编程工具的一个新方向。

过去大家关注的是:

AI 怎么帮我写代码。

接下来更重要的问题可能是:

AI 怎么帮我理解系统。

因为写代码会越来越便宜,但理解复杂系统依然很贵。

对程序员来说,真正稀缺的能力不是把一个函数写出来,而是:

  • 看懂复杂项目
  • 理解业务流程
  • 判断模块边界
  • 知道改动影响范围
  • 能把隐性经验沉淀成团队资产

Understand Anything 不一定能替代你读代码。

但它可以让你读代码不再那么盲。

对前端工程师、全栈工程师、AI 应用工程师来说,这类工具都值得试试。

尤其是你经常接手陌生项目,或者已经开始大量使用 Cursor、Claude Code、Codex。

未来程序员的竞争力,可能不只是“谁写得更快”。

而是谁能更快看懂复杂系统,并且知道怎么让 AI 在正确的上下文里工作。

这就是我觉得 Understand Anything 值得关注的原因。