Files
lpt-docs/docs/concepts/marker.md
T

47 lines
2.4 KiB
Markdown

# 标记
## 定义
标记是附加在系统对象上的一段轻量元信息,用来表达对象的来源、性质或用户自己的分类。所有标记统一存放,而不是在碎片等表结构里为每一种标记各加一个字段。
一条标记至少包含:
- **对象**:对象类型与对象标识(例如某条知识碎片、某个学习任务)。
- **标记名与标记值**:例如「来源 = 学习引导」「标签 = 英语」。
- **种类**:系统标记或用户标签。
- **建立信息**:建立者(系统或用户)与建立时间。
## 设计意图
- 新增一种标记时不需要改动各功能表结构,避免碎片、报告等表被标记字段逐渐撑开。
- 跨功能检索统一:按标记找对象只查一处。
- 让「来源」「标签」这类弱信息有唯一的存放位置,语义清晰,不再散落在各功能里。
## 边界
标记不是状态,也不是归属:
- 会话状态、报告能否修订、导图是否待更新这类会影响流程判断的信息,留在各自主体上,不进标记表。用标记表达状态会让流程判断变得不可枚举。
- 标记只被读取和展示,不参与聚合口径,也不改变内容归属。
- 内容归属是唯一的结构归属,标记不能用来表达第二归属。
## 现有与预期的标记
- **标签**(用户标签):用户自由建立的分类,多个、可为空、可变,只影响检索。
- **来源标记**:例如「来自学习引导」。系统标记,由系统在产出时写入,用户不可编辑。
## 相关概念
- 知识碎片:最常见的标记对象。
- 内容归属:与标签互补——归属是唯一结构归属,标签是弱关联。
- 学习引导:产出的碎片带来源标记。
- 学习任务:标签也可以挂在任务上用于检索。
## 待决问题
1. 标记可以挂在哪些对象上(知识碎片 / 学习报告 / 学习任务 / 学习会话)?
2. 标记名的受控方式:系统标记用固定词表、用户标签自由输入;是否允许用户在系统标记上叠加自己的值。
3. 标记值是否只在需要时使用(布尔开关 / 枚举 / 自由文本)。
4. 是否需要按标记检索的入口(例如“找出所有来自学习引导的碎片”),以及需要哪些索引。
5. 标记名如何治理(能否重命名或废弃),以及哪些标记对用户展示。