Files
lpt-docs/docs/concepts/knowledge-ownership.md

94 lines
5.8 KiB
Markdown

# 内容归属
> 状态:**草案,待维护者确认后实施**。文末列出三个待决问题,确认前不要按本文档改动实现。
## 定义
**内容归属**描述一条知识碎片(以及由它聚合出的内容)属于哪个学习任务。
它与**记录上下文**是两件事:
- **记录上下文**:这条碎片是在哪次学习会话、哪个任务下产生的。不可变,由系统确定。
- **内容归属**:这条碎片在知识结构上属于哪个任务。可变,由用户确定。
系统允许两者不一致。典型场景:在学习 AI 的过程中记下"1B 是 one billion 的缩写",它的记录上下文是 AI 任务,内容归属是英语任务。
**待归类**是没有确定归属的状态。处于待归类的内容不会消失,也不阻塞任何流程,只是暂时不进入任何任务的知识结构。
## 要解决的问题
在只有记录上下文的情况下,系统会强制把"记录地点"当成"内容归属",由此产生三个后果:
1. **污染原任务的知识结构**。旁支知识进入原任务的标准思维导图,回忆对比的基准随之失真——用户明明掌握了 AI 的内容,却因为导图里混着英语词条而覆盖率偏低。
2. **旁支知识无处复习**。用户想按英语复习这块内容时找不到它,它沉在 AI 任务下。
3. **不成体系的内容无家可归**。既不属于任何现有任务,也不值得为它单独建任务的内容,只能硬塞或干脆不记。
## 三个维度
| 维度 | 数量 | 可变性 | 由谁决定 | 影响 |
|------|------|--------|---------|------|
| 记录上下文 | 一个 | 不可变 | 系统 | 时间统计、学习报告 |
| 内容归属 | 一个,可为空 | 可变 | 用户(AI 只建议) | 标准思维导图、复习内容、检索 |
| 标签 | 多个,可为空 | 可变 | 用户 | 只影响检索,不影响聚合与统计 |
归属保持**单一**是有意的:多归属会让同一条内容出现在多张导图里、被回忆对比重复计数,聚合与统计都会出现歧义。一条内容确实横跨两个领域时(例如"1B"同时属于英语与 AI),用标签表达弱关联即可。
## 核心原则
**时间按学习会话统计,内容按内容归属聚合。**
这条原则把两条轴彻底分开:
- 学习时间、有效性、番茄钟、遗忘判定——全部按会话,不受归属影响。一次会话实际投入的时间不会因为碎片被归类到别处而改变。
- 标准思维导图的素材、复习内容、按任务的检索——全部按归属,不受产生地点影响。
推论:**学习报告按会话生成**(它是"这次学习产出了什么"的事实记录),而**标准思维导图按归属聚合**。同一份数据因此有两种视角,这是设计意图,不是重复。
## 配套机制
### 待归类优先,不打断记录
记录一条碎片时,归属默认就是当前任务,用户不需要做任何额外操作。只有在用户主动改归属时才会离开默认值。未确定归属的内容进入**待归类**视图,长期不处理也不影响任何流程——低阻力优先于分类整齐。
### 归类挂在复习里,而不是单独做整理流程
用户很少专门花时间整理历史记录,但会经常刷复习 Feed。因此在复习 Feed 中看到一条内容时提供轻量的归类动作,是成本最低的归类时机。归类不应该成为一个独立的"整理任务"。
### AI 只给建议
系统可以在记录或归类时给出建议归属,一键接受即可。AI 不可用时降级为规则建议(关键词、历史归属),再不可用时不做建议,不影响记录与复习。
### 零散知识可以升格为学习任务
待归类内容积累到一定量时,系统可以提示用户将这些同类内容立为一个学习任务。这让体系从已有内容中长出来,而不是要求用户在记录之前就规划好体系。
升格后的内容归属到新任务,记录上下文保持不变——学习时间仍然记在当初真实发生的那次会话上。
### 报告保持真实,旁支内容单独呈现
一次会话产生的碎片可能归属不同任务。学习报告只收敛归属当前任务的碎片;旁支碎片在报告中单独呈现并标注其归属,不参与本次报告的正文推演。这样既保住报告的真实性,也避免报告与导图被无关内容带偏。
## 修改归属的后果
内容归属可以被修改,但修改会产生两个后果,需要系统显式处理:
- 原任务与新任务的知识结构都需要重新整理。导图是快照式的,必须标记为待更新,否则用户会以为内容丢失。
- 复习 Feed 的排序权重按任务掌握度计算,归属改变后自动跟随,不需要单独处理。
## 相关概念
- 知识碎片:内容归属的作用对象,也是待归类的单位。
- 学习任务:内容归属的目标容器。任务不必在记录前存在,可以由待归类内容升格而来。
- 标准思维导图:按归属聚合的核心消费者。
- 学习报告:按会话生成,与归属口径不同。
- 复习 Feed:归类动作的最低成本落点,也是旁支内容的复习入口。
- AI 任务:只提供归属建议,不作为判定依据。
## 待决问题
以下三点需要维护者确认后再进入实现:
1. **是否允许碎片脱离学习会话存在?** 允许后可以在任何场景随手记一条内容,代价是系统有向通用笔记工具漂移的倾向。若允许,这类碎片不参与时间统计、不产生学习报告。
2. **学习报告是否改为结构化呈现?** 即报告由"会话产出摘要 + 按归属分组的碎片"组成,而不是一段自由文本。结构化后旁支内容天然分离,但会改变报告的形态。
3. **归属是否保持单一、由标签承担跨领域关联?** 本文档的建议是保持单一。