我将 LangChain Core 映射为知识图谱——结构揭示了什么
Source: Dev.to
我将 LangChain Core 绘制成知识图谱:180 个模块,650 条依赖边。结构揭示了文档从未提及的洞见。
发现
发现 1:messages 模块的冲击半径为 70 %
对它的任何更改会导致 180 个模块中的 126 个出现故障——无论是直接还是间接。每个回调、代理、检索器和嵌入模块都可以追溯到 messages 的依赖路径。它是整个框架的承载墙,却在文档中没有任何提示。
发现 2:runnables.base 需要 147 个其他模块才能完整运行
这占到了代码库的 82 % 作为前置链。在一个代理触及 runnables.base 之前,它必须对几乎所有其他模块有真实的认识。没有这张地图,代理基本上是在盲目猜测。
发现 3:恰好有 7 个模块可以安全修改而不会产生下游风险
cross_encodersstructured_querysys_infoversionutils.htmlutils.imageutils.mustache
在 180 个模块中只有这七个。
这对代理为何重要
一个被派去修改 LangChain 的编码代理如果没有这张地图,就会通过 grep 查找上下文,检索相似的文档,并做出自信但结构上错误的更改。冲击半径对相似度搜索是不可见的;只有通过图遍历才能看见。
这正是检索与空间智能之间的区别。检索增强生成(RAG)找到看起来相关的文本,而知识图谱告诉你实际会导致破坏的地方。
数据集
- LangChain Core CKG(180 个模块,650 条边):https://huggingface.co/datasets/danyarm/ckg-benchmark
- 仓库:https://github.com/Yarmoluk/ckg-mcp
- 交互视图:https://graphifymd.com/paper.html