
Understand Anything:知识图谱的七种用途

代码库是人类写的。
但人类理解代码库的方式,并不是人类写代码的方式。
写代码是线性的。
理解代码是网络的。
Understand Anything 把代码库变成知识图谱。
然后给你七种用途,让代码库「可理解」。
核心概念

什么是知识图谱?
知识图谱是节点和边的集合。
节点是文件、函数、类。
边是调用、继承、依赖。
代码库是文本的集合。
知识图谱是关系的集合。
文本是线性的。
关系是网络的。
写代码时,你关心一个文件、一个函数、一个类。
理解代码时,你关心整个网络。
Understand Anything 用多 Agent 流水线分析代码库。
构建知识图谱。
然后给你七种用途,让代码库「可理解」。
用途一:交互式浏览
/understand-dashboard
打开交互式 Web 仪表板。
你可以:
- 缩放、平移、点击节点
- 按架构层颜色编码
- 看到每个节点的详细信息
- 探索整个代码库
这不是静态图。
这是可交互的图谱。
传统浏览:
你在 IDE 中打开文件,在文件之间跳转,在脑海中构建心理模型
交互式浏览:
你在图谱中点击节点,看到它连接的所有节点,探索整个代码库
价值:
- 可视化理解
- 快速导航
- 上下文清晰
- 发现隐藏关系
用途二:语义搜索

/understand-chat How does the payment flow work?
按名称或按含义查找任何内容。
这不是 grep。
这是语义搜索。
grep 搜索文本。
语义搜索搜索含义。
示例:
# grep"
grep -r "payment" src/
# 语义搜索
/understand-chat How does the payment flow work?
/understand-chat 哪些部分处理身份验证?
/understand-chat 用户数据存储在哪里?grep 给你:
- 包含 "payment" 的所有行
- 你需要自己理解上下文
语义搜索给你:
- 与支付流程相关的所有节点
- 它们之间的关系
- 一个完整的解释
价值:
- 快速定位
- 语义理解
- 全面覆盖
- 上下文准确
用途三:影响分析

/understand-diff
在提交之前看到你的更改影响系统的哪些部分。
你修改了一个函数。
你想知道:
- 哪些函数调用了它?
- 哪些类依赖它?
- 修改它会不会破坏其他地方?
传统影响分析:
你手动追踪调用链,在 IDE 中搜索引用,在脑海中推演涟漪效应
Understand Anything 的影响分析:
/understand-diff它给你:
- 受影响的节点列表
- 影响路径
- 风险评估
价值:
- 风险预判
- 安全修改
- 减少回归
- 理解涟漪效应
用途四:新人引导

/understand-onboard
为新团队成员生成入门指南。
新成员加入团队。
代码库有 200,000 行代码。
从哪里开始?
传统新人引导:
给新人一堆文档链接,让新人自己探索,新人迷失方向
Understand Anything 的新人引导:
/understand-onboard它自动生成:
- 项目结构说明
- 关键流程导览
- 架构概览
- 学习路径
价值:
- 自动生成入门文档
- 快速理解项目结构
- 减少上手时间
- 系统学习
用途五:业务域提取

/understand-domain
提取业务领域知识。
代码库不只是代码。
代码库是业务逻辑的实现。
你想知道:
- 代码如何映射到业务流程?
- 哪些代码属于哪个业务域?
- 业务流程如何跨越多个文件?
传统业务理解:
你读代码,在脑海中映射到业务流程,容易遗漏
Understand Anything 的业务域提取:
/understand-domain它给你:
- 领域视图(水平图谱)
- 领域、流程、步骤
- 跨文件流程追踪
- 业务逻辑可视化
价值:
- 业务对齐
- 流程理解
- 跨模块追踪
- 逻辑清晰
用途六:知识库分析

/understand-knowledge ~/path/to/wiki
分析 Karpathy 模式 LLM wiki 知识库。
团队知识分散在 wiki 中。
如何导航?
指向 Karpathy 模式 LLM wiki。
获得力导向知识图谱和社区聚类。
确定性解析器:
- 从 index.md 提取 wikilinks 和类别
- 提取结构
LLM agents:
- 发现隐式关系
- 提取实体
- 发现主张
- 将 wiki 转换为互连思想的可导航图谱
价值:
- 知识可视化
- 关系发现
- 思想导航
- 快速找到相关知识
用途七:深度解释
/understand-explain src/auth/login.ts
深入特定文件或函数。
你想理解一个复杂的函数。
你读代码,但不知道它的目的。
传统理解:
你读代码,在脑海中推导意图,容易误解
Understand Anything 的深度解释:
/understand-explain src/auth/login.ts它给你:
- 纯英语摘要
- 依赖关系
- 代码上下文
- 设计意图
价值:
- 详细解释
- 依赖追踪
- 意图理解
- 快速掌握
七种用途的协同

七种用途不是独立的。
它们是一个生态系统。
场景 1:新成员入职
流程:
1. /understand-dashboard(交互式浏览)
↓
2. /understand-onboard(新人引导)
↓
3. /understand-chat How does the system work?(语义搜索)价值: 快速上手,系统学习,理解全局
场景 2:开发新功能
流程:
1. /understand-chat How does the payment flow work?(语义搜索)
↓
2. /understand-explain src/payment/process.ts(深度解释)
↓
3. /understand-diff(影响分析)价值: 理解现有代码,找到修改点,评估风险
场景 3:代码审查
流程:
1. /understand-diff(影响分析)
↓
2. /understand-dashboard(交互式浏览)
↓
3. 查看受影响的节点和边价值: 理解更改的全局影响,做出明智决策
场景 4:业务理解
流程:
1. /understand-domain(业务域提取)
↓
2. 查看领域视图
↓
3. 理解代码如何映射到业务流程价值: 业务对齐,流程理解,跨模块追踪
场景 5:知识管理
流程:
1. /understand-knowledge ~/path/to/wiki(知识库分析)
↓
2. 浏览知识图谱
↓
3. 发现思想之间的关系价值: 知识可视化,关系发现,思想导航
核心价值

1. 从线性到网络
代码库是文本的集合。
知识图谱是关系的集合。
写代码时,你关心一个文件、一个函数、一个类。
理解代码时,你关心整个网络。
Understand Anything 让你从线性思维切换到网络思维。
2. 从静态到动态
传统代码理解:
你读代码,在脑海中构建心理模型,模型是静态的
Understand Anything:
你交互式浏览图谱,图谱是动态的,你可以探索、缩放、点击
3. 从局部到全局
传统代码理解:
你关注一个文件、一个函数,容易迷失在细节中
Understand Anything:
你看到整个网络,理解全局,然后深入细节
4. 从隐式到显式
传统代码理解:
关系是隐式的,你需要在脑海中推导
Understand Anything:
关系是显式的,图谱中清晰可见
技术实现
多 Agent 流水线
/understand 命令协调 5 个专门 agents:
| Agent | 角色 |
|---|---|
| project-scanner | 发现文件,检测语言和框架 |
| file-analyzer | 提取函数、类、imports;产生图谱节点和边 |
| architecture-analyzer | 识别架构层 |
| tour-builder | 生成引导学习导览 |
| graph-reviewer | 验证图谱完整性和引用完整性 |
并行处理:
文件分析器并行运行(最多 5 个并发,每批 20-30 个文件)
增量更新:
仅重新分析自上次运行以来更改的文件
Tree-sitter + LLM
Tree-sitter(确定性):
- 将源代码解析为具体语法树
- 提取结构事实:imports、exports、function/class 定义、调用点、继承
- 相同输入 → 相同输出,每次运行
LLM(语义):
- 读取解析的结构和原始源代码
- 产生:纯英语摘要、标签、架构层分配、业务域映射、引导导览
为什么这样设计?
这种分离使得图谱在结构方面可重现(相同代码总是产生相同边)
同时在语义方面捕获意图(文件的用途,而不仅仅是它导入什么)
使用场景总结

| 用途 | 命令 | 适用场景 |
|---|---|---|
| 交互式浏览 | /understand-dashboard | 可视化探索、快速导航、发现隐藏关系 |
| 语义搜索 | /understand-chat | 快速定位、理解业务流程、查找特定功能 |
| 影响分析 | /understand-diff | 代码审查、风险评估、理解涟漪效应 |
| 新人引导 | /understand-onboard | 新成员入职、快速上手、系统学习 |
| 业务域提取 | /understand-domain | 业务对齐、流程理解、跨模块追踪 |
| 知识库分析 | /understand-knowledge | 知识管理、关系发现、思想导航 |
| 深度解释 | /understand-explain | 理解复杂代码、掌握设计意图、快速学习 |
写在最后:让代码库「可理解」

代码库是人类写的。
但人类理解代码库的方式,并不是人类写代码的方式。
写代码是线性的。
理解代码是网络的。
Understand Anything 把代码库变成知识图谱。
然后给你七种用途,让代码库「可理解」。
交互式浏览、语义搜索、影响分析。
新人引导、业务域提取、知识库分析。
深度解释。
从线性到网络。
从静态到动态。
从局部到全局。
从隐式到显式。
一个命令。
/understand
让代码库「可理解」。
Understand Anything
知识图谱的七种用途
