💡阅读指南

胶囊系统不是把资料存成一条条记录,而是要维护一组可以持续演化的知识页。这一节只处理三类页面:主题页、概念页和综合页。为了让结构更容易理解,下面只围绕一个例子展开:Embedding 向量。

4.1 为什么要区分三类知识页

上一节把胶囊系统拆成了几层:资料从交互层进入,证据层固定正文,索引层记录状态,理解层判断关系,演化层维护 Wiki。这里还需要继续追问一个问题:演化层到底在维护什么?

如果只说“维护 Wiki”,这个说法还是太粗。Wiki 里面不是只有一种页面。不同页面承担的职责不一样,写法也不一样。

有的页面负责长期维护一条知识线。它不是词条,也不是资料列表,而是一篇会随着新资料不断融合、校正和扩展的知识文章。

有的页面只负责解释一个基础概念。它不一定需要很长,但必须把定义、边界和典型用法讲准确。

还有一些页面来自用户的具体问题。它们会综合多个主题、多个概念和多份证据,整理出一篇可以复用的回答。

放到 Embedding 这个例子里,可以先这样理解:

页面类型 主要作用 Embedding 例子
主题页 长期维护一条知识线 Embedding 向量
概念页 解释一个基础概念 Token、向量空间、语义相似度
综合页 回答一个组合问题 为什么 Embedding 能用于语义检索

这三类页面不是为了制造复杂分类。它们的作用,是让 Hermes 在融合资料时知道:这份资料应该改变哪一类页面。

4.2 三类页面放在一起是什么样子

单独解释主题页、概念页和综合页,还是容易显得抽象。可以先看一组完整例子。

假设用户陆续存入了五份资料:

资料 内容
资料 A 什么是 Embedding
资料 B 词向量为什么能表示语义
资料 C 向量空间和余弦相似度
资料 D Embedding 在语义检索里的作用
资料 E RAG 为什么需要 Embedding

这些资料进入胶囊系统以后,不应该变成五篇孤立摘要。它们应该长成一组互相连接的知识页。

Text
Embedding 向量(主题页)
   ├─ 引用:Token(概念页)
   ├─ 引用:向量空间(概念页)
   ├─ 引用:语义相似度(概念页)
   └─ 派生:为什么 Embedding 能用于语义检索(综合页)

这组页面里,“Embedding 向量”是主题页。它负责维护一条长期知识线:Embedding 是什么,它为什么要把文本变成向量,向量为什么能承载语义关系,它和检索、推荐、RAG 有什么关系。

“Token”“向量空间”“语义相似度”是概念页。它们不负责解释完整的 Embedding,只负责把某个基础概念讲准确。主题页讲到这些概念时,可以链接过去,而不是在每篇文章里重复解释一遍。

“为什么 Embedding 能用于语义检索”是综合页。它来自一个具体问题,需要同时引用 Embedding、向量空间、语义相似度和检索召回。它不是资料列表,而是一篇围绕问题写出的综合回答。

这样组织以后,用户看到的不是五份资料,也不是五个摘要,而是一组有主次、有链接关系的知识页。

4.3 主题页是一篇长期维护的知识文章

主题页是胶囊系统里最重要的一类页面。

这里的“主题”,不是标签,也不是分类目录。主题页更像一篇长期维护的知识文章。它围绕一个相对明确的问题或领域展开,后面有新资料进来时,Hermes 会把有用内容融合进去,让这篇文章变得更完整。

比如“Embedding 向量”可以是一篇主题页。它可以包含这些内容:

部分 说明
基本解释 Embedding 是什么,为什么要把文本变成向量
直观理解 向量不是文字本身,而是模型用来表示意义的数字位置
关键概念 Token、向量空间、维度、距离、相似度
工作方式 相似文本为什么会在向量空间里更接近
使用场景 语义检索、推荐、聚类、RAG
边界和误区 Embedding 不是“真正理解”,也不是万能语义压缩

一份新的资料进入以后,如果里面讲了余弦相似度,那么它不应该被追加到页面末尾,变成“新增资料一”。Hermes 应该重新阅读“Embedding 向量”这篇主题页,把余弦相似度融合进原来的“向量距离和语义相似度”部分。用户再次打开主题页时,看到的仍然是一篇完整文章,而不是按时间堆起来的资料摘录。

主题页的关键,是它有持续演化空间。它不是一次写完的文章,而是一条知识线。新资料可能让它增加一个例子,也可能让它修正一个误区,还可能让原来不够清楚的一段重新组织。

4.4 主题页的粒度不能太粗,也不能太细

主题页最容易出问题的地方,是粒度。

粒度太粗,页面会变成资料仓库。比如只建一个“大模型基础原理”主题页,把 Token、Embedding、Transformer、注意力机制、上下文窗口、训练目标全部塞进去,后面一定会越来越乱。

粒度太细,又会退化成标签系统。比如把“向量维度”“余弦距离”“向量归一化”全部单独做成主题页,页面之间会变得很碎。读者要理解 Embedding,反而需要在很多小页面之间跳来跳去。

比较合适的标准,是看它能不能形成一篇可以长期维护的知识文章。

判断问题 如果答案是肯定的
它能不能展开成一篇完整文章? 可以考虑做主题页
它以后会不会不断吸收新资料? 可以考虑做主题页
用户写作、学习时会不会反复调用它? 可以考虑做主题页
它有没有清楚的边界,知道自己不讲什么? 可以考虑做主题页

如果一个东西只能解释几句话,它通常不是主题页,而是概念页。如果一个东西覆盖范围太大,里面包含很多不同问题,就应该拆成多个主题页。

所以主题页的粒度,可以先按这个原则处理:宁可一开始稍微大一点,也不要切得太碎。等某个小节积累出足够多资料,再拆成新的主题页或概念页。

4.5 概念页负责解释基础概念

概念页比主题页小。

它的任务不是维护一条很长的知识线,而是把一个基础概念讲准确。很多主题页都会用到这些概念,所以概念页更像 Wiki 里的基础积木。

在 Embedding 这一组内容里,这些都可以是概念页:

概念页 需要讲清楚什么
Token 模型处理文本时看到的基本单位
向量空间 为什么可以用空间位置表示关系
余弦相似度 怎样比较两个向量方向是否接近
语义相似度 为什么两个句子意思接近时,向量可能更接近
RAG 为什么检索增强生成需要先找到相关材料

概念页不需要把所有相关知识都讲进去。比如“余弦相似度”这篇概念页,不需要展开整个 Embedding,也不需要讲完 RAG。它只需要回答几个问题:

  1. 这个概念是什么意思?

  2. 它和相近概念有什么区别?

  3. 它在 Embedding 里怎么使用?

  4. 有没有一个足够典型的例子?

概念页写清楚以后,主题页就不用反复解释同一个基础概念。比如“Embedding 向量”“语义检索”“RAG 基础原理”这些主题页,都可以引用“余弦相似度”这个概念页。

这会让知识结构更干净。主题页负责讲一条知识线,概念页负责把基础概念讲准。

4.6 综合页来自具体问题

综合页和前两类页面不一样。

主题页通常围绕一条知识线长期演化。概念页通常围绕一个基础概念展开。综合页则来自一个具体问题。

比如用户问:

Text
为什么 Embedding 能用于语义检索?

这个问题不只属于“Embedding 向量”,也不只属于“语义检索”。Hermes 要回答它,可能需要同时参考这些内容:

资料来源 作用
Embedding 向量主题页 说明文本为什么会被表示成向量
向量空间概念页 解释向量之间为什么可以比较距离
余弦相似度概念页 解释相似度计算方式
RAG 主题页 说明检索结果怎样进入生成过程
原始证据页 核对具体说法、实验和例子

Hermes 最后整理出来的回答,就可以沉淀成一篇综合页。

综合页适合处理这类内容:

问题类型 例子
解释型问题 为什么 Embedding 能表示语义
对比型问题 Embedding 检索和关键词检索有什么区别
应用型问题 RAG 为什么需要先做向量检索
误区澄清 Embedding 是不是等于模型真正理解了文本

综合页的价值在于,它保留了用户自己的问题。很多知识真正进入思考,不是因为资料被保存了,而是因为用户围绕这些资料提出了一个好问题。这个问题如果只留在聊天记录里,很快就会消失;写成综合页以后,它就能成为后续写作和复盘的材料。

4.7 用户怎么阅读这套 Wiki

知识页设计不能只考虑系统怎么写,还要考虑用户怎么读。

普通知识库很容易只剩一个搜索框。搜索当然重要,但如果一套 Wiki 只能搜索,它就没有真正形成知识结构。用户有时候知道自己要找什么,可以直接搜;但更多时候,用户只是隐约记得某个方向,或者想沿着一个主题继续看下去。

所以胶囊系统至少要支持三种阅读方式。

阅读方式 适合场景
搜索进入 用户已经知道要找什么,比如“Embedding 语义相似度”
主题索引进入 用户只知道大方向,比如“大模型基础原理”
页面链接进入 用户读到某个概念后,沿着内部链接继续阅读

搜索进入

搜索是最直接的入口。

比如用户搜索:

Text
Embedding 语义相似度

系统不应该只返回原始资料,而应该优先返回知识页:

返回结果 为什么返回
Embedding 向量主题页 里面包含 Embedding 的定义、用途和误区
语义相似度概念页 解释语义相近和向量接近之间的关系
余弦相似度概念页 解释常见相似度计算方式
为什么 Embedding 能用于语义检索综合页 回答 Embedding 和检索之间的关系

主题索引进入

胶囊系统还需要一个全局主题索引。它不是文件夹目录,而是一张知识地图。

比如:

Text
大模型基础原理
├─ 文本表示
│  ├─ Token
│  ├─ Embedding 向量
│  └─ 向量空间
├─ 语义检索
│  ├─ 语义相似度
│  ├─ 余弦相似度
│  └─ 向量召回
└─ RAG
   ├─ 检索增强生成
   ├─ Chunk
   └─ 召回与重排

这个索引页的作用,是让用户知道当前 Wiki 已经长出了哪些主要知识线。用户不一定每次都从搜索开始,也可以从这里进入一个方向,再沿着主题页继续阅读。

页面链接进入

每一篇知识页内部也应该有链接关系。

比如“Embedding 向量”主题页讲到文本进入模型之前的处理时,可以链接到:

Text
Token
分词
上下文窗口

讲到向量之间的关系时,可以链接到:

Text
向量空间
余弦相似度
语义相似度

这样用户读的就不是一篇孤立文章,而是一张可以继续展开的知识网。

4.8 页面之间应该保留什么链接

三类页面之间要有链接关系,否则它们只是分散的文档。

主题页应该链接到相关概念页和综合页。比如“Embedding 向量”主题页可以链接到“Token”“向量空间”“语义相似度”,也可以链接到“为什么 Embedding 能用于语义检索”。

概念页应该反向链接到使用它的主题页。比如“余弦相似度”概念页,可以列出哪些主题页正在使用这个概念。这样用户读完概念以后,可以回到具体场景里看它怎么用。

综合页应该列出它引用过的主题页、概念页和关键证据。综合页不是凭空生成的回答,它应该让用户知道这个回答来自哪些页面和材料。

可以先用这张表约束页面链接:

页面类型 应该链接到什么
主题页 相关概念页、相关综合页、关键证据页
概念页 使用这个概念的主题页、相近概念页
综合页 引用过的主题页、概念页、证据页
全局主题索引 主要主题页和重要概念页

还要区分两个索引。

全局主题索引负责整个 Wiki 的入口。它告诉用户:现在系统里有哪些主要知识线。

单个主题页目录负责一篇文章内部的定位。比如“Embedding 向量”主题页比较长时,页面顶部应该有目录,让用户直接跳到基本解释、关键概念、使用场景或常见误区。

4.9 新资料进入以后,应该更新哪类页面

理解了三类页面以后,新资料进入系统时,Hermes 就不应该只问“它属于哪个主题”。更完整的判断应该是:它应该改变哪一类知识页。

可以先用一个简单规则:

判断结果 处理方式
它能让某条知识线更完整 融合进主题页
它解释了一个基础概念 新建或更新概念页
它回答了一个具体组合问题 写成综合页
它对当前任何页面都没有帮助 标记为不被采纳

这里仍然要强调“融合”。如果一份资料被使用,它不应该只是被附在某个页面后面。Hermes 要根据页面原来的结构重新组织内容。主题页要继续像文章,概念页要继续像词条,综合页要继续像一个完整回答。

这也是胶囊系统和普通收藏夹的分界线。

收藏夹保存的是资料。胶囊系统维护的是知识页。资料只是输入,知识页才是用户以后真正会反复阅读、引用和修改的东西。

4.10 ■ 学点英语

中文 English 音标 说明
知识页 Knowledge Page /ˈnɑːlɪdʒ peɪdʒ/ 围绕主题组织概念、材料和回答的页面
综合回答 Synthesis Answer /ˈsɪnθəsɪs ˈænsər/ 整合多个来源后形成的结构化回答
概念节点 Concept Node /concept noʊd/ 知识结构中表示一个概念的节点
答案合成 Answer Synthesis /answer ˈsɪnθəsɪs/ 把多个材料中的信息组织成一个回答