docs: 新增学习引导与统一标记设计

This commit is contained in:
cat-shark
2026-09-20 00:28:21 +08:00
parent 6a445ea7f1
commit c25417f4ad
13 changed files with 129 additions and 15 deletions
+4 -2
View File
@@ -9,11 +9,12 @@
| 学习预期 | 开始学习前对本次学习目标的描述 | [学习预期](learning-expectation.md) |
| 知识碎片 | 学习中随手记录的不完整内容,也称“学习报告残片” | [知识碎片](knowledge-fragment.md) |
| 内容归属 | 一条知识碎片在知识结构上属于哪个学习任务 | [内容归属](knowledge-ownership.md) |
| 记录上下文 | 碎片产生于哪次学习会话与任务,不可变且不可为空 | [内容归属](knowledge-ownership.md) |
| 记录上下文 | 碎片产生于哪次学习会话或复习行为,不可变且不可为空 | [内容归属](knowledge-ownership.md) |
| 标记 | 附加在对象上的轻量元信息(来源、标签等),统一存放 | [标记](marker.md) |
| 待归类 | 尚未确定内容归属的碎片状态 | [内容归属](knowledge-ownership.md) |
| 学习报告 | 一次学习结束后汇总出的结构化学习结果 | [学习报告](learning-report.md) |
| 有效学习时间 | 学习会话中未暂停的实际投入时间 | [时间与效率](time-and-efficiency.md) |
| 复习耗时 | 复习行为(回忆对比、引导追问)的耗时,独立于学习时间 | [时间与效率](time-and-efficiency.md) |
| 复习耗时 | 复习行为(回忆对比、学习引导)的耗时,独立于学习时间 | [时间与效率](time-and-efficiency.md) |
| 任务优先级 | 由多个维度综合计算出的学习任务排序依据 | [任务优先级](priority.md) |
| 应用场景 | 学到的知识可以被使用到什么地方 | [应用场景](application-scenario.md) |
| 复习总览 | 按任务汇总可复习内容、掌握度与最近复习时间的入口 | [复习总览](review-overview.md) |
@@ -23,4 +24,5 @@
| 回忆记录 | 一次回忆对比的存档,含起点、三类节点与覆盖率 | [回忆对比](recall-review.md) |
| 覆盖率 | 本次对比命中节点占参与对比节点的比例 | [回忆对比](recall-review.md) |
| 复习起点 | 用户指定的对比起始节点,只复习该子树 | [回忆对比](recall-review.md) |
| 学习引导 | 用开放式问题引出回答、由 AI 纠正概念边界的复习行为 | [学习引导](learning-guidance.md) |
| AI 任务 | 系统借助 AI 完成报告聚合、导图生成和语义对比 | [AI 任务](ai-task.md) |
+5 -1
View File
@@ -2,11 +2,12 @@
## 定义
AI 任务是系统使用 AI 完成的三类学习处理能力:
AI 任务是系统使用 AI 完成的学习处理能力:
- 聚合报告:把知识碎片整理成结构化学习报告草稿——会话摘要、预期达成判断、按归属分组的碎片,以及自由总结草稿。
- 生成导图:从报告、碎片和应用场景中提取标准思维导图。
- 回忆对比:对用户回忆与标准导图进行语义层面的比较。
- 学习引导:用一个开放式问题引出用户的回答,检查回答里隐含的概念边界问题并纠正,产出交用户确认后记成知识碎片。
## 设计意图
@@ -20,8 +21,11 @@ AI 用于降低用户的书写和整理负担:
AI 是增强能力,而不是单点依赖。AI 不可用时,系统应能用内置规则继续完成报告拼接、导图生成和字符串匹配,保证核心学习流程不中断:报告降级为按内容归属分组碎片并生成摘要,自由总结留空由用户填写。
例外:学习引导不提供降级形态。它不属于核心闭环,AI 不可用时该功能整体不可用。
## 相关概念
- 学习报告:AI 聚合碎片的产出。
- 标准思维导图:AI 生成或增量更新的对象。
- 回忆对比:AI 负责语义匹配的环节。
- 学习引导:允许完全依赖 AI 的能力。
+5 -3
View File
@@ -35,6 +35,8 @@
归属保持**单一**是有意的:多归属会让同一条内容出现在多张导图里、被回忆对比重复计数,聚合与统计都会出现歧义。一条内容确实横跨两个领域时(例如"1B"同时属于英语与 AI),用标签表达弱关联即可。
标签与来源标记等弱信息统一由[标记](marker.md)承载,不在碎片表里各自加字段。
## 核心原则
**时间按真实发生的行为统计,内容按内容归属聚合。**
@@ -42,7 +44,7 @@
这条原则把两条轴彻底分开:
- 学习时间、有效性、番茄钟、遗忘判定——全部按学习会话,不受归属影响。一次会话实际投入的时间不会因为碎片被归类到别处而改变。
- 复习耗时——按复习行为(回忆对比、引导追问)统计,与学习时间独立,不合并也不换算。
- 复习耗时——按复习行为(回忆对比、学习引导)统计,与学习时间独立,不合并也不换算。
- 标准思维导图的素材、复习内容、按任务的检索——全部按归属,不受产生地点影响。
推论:**学习报告按会话生成**(它是"这次学习产出了什么"的事实记录),而**标准思维导图按归属聚合**。同一份数据因此有两种视角,这是设计意图,不是重复。
@@ -85,13 +87,13 @@
- 标准思维导图:按归属聚合的核心消费者。
- 学习报告:按会话生成,与归属口径不同。
- 复习 Feed:归类动作的最低成本落点,也是旁支内容的复习入口。
- 复习行为(回忆对比、引导追问):另一类记录上下文;追问产生的碎片默认归属被追问概念所属的学习任务。
- 复习行为(回忆对比、学习引导):另一类记录上下文;学习引导产生的碎片默认归属被引导概念所属的学习任务。
- AI 任务:只提供归属建议,不作为判定依据。
## 已确认的结论
以下三点于 2026-09-19 由维护者确认:
1. **碎片不可脱离记录上下文。** 不存在没有记录上下文的内容:每一条碎片都产生于某次学习会话或某次复习行为(回忆对比、引导追问),因此一定有可追溯的产生场景。代价是系统不向可以随手记录的通用笔记工具演进,这是有意的边界。
1. **碎片不可脱离记录上下文。** 不存在没有记录上下文的内容:每一条碎片都产生于某次学习会话或某次复习行为(回忆对比、学习引导),因此一定有可追溯的产生场景。代价是系统不向可以随手记录的通用笔记工具演进,这是有意的边界。
2. **学习报告改为结构化呈现。** 报告由会话摘要、预期达成判断、按归属分组的碎片和自由总结组成;旁支碎片仍留在本次报告中,只单独标注归属、不参与正文推演。自由总结必须保留,否则卡点与下一步无处表达。
3. **内容归属保持单一,跨领域关联由标签承担。** 学习内容很少只属于一个领域:一份侧重 A 领域的材料仍会带来 B 领域的碎片,但它仍归属 A,与 B 的关联用标签表达。如果用户持续在同一领域积累旁支碎片,说明该领域已值得作为独立学习任务,此时走“待归类内容升格为学习任务”的路径,而不是给它第二个归属。
+50
View File
@@ -0,0 +1,50 @@
# 学习引导
## 定义
学习引导是复习中的一种主动提取:系统用一个开放式问题引出用户自己的回答,AI 在对话中检查回答里隐含的概念边界问题并及时纠正,最终由用户确认把这次对话的收获记成一条知识碎片。
例子:对「大模型参数量」这个概念,系统问“1B 参数量的 LLM 模型,会占用多少磁盘空间?”要回答它,用户必须先意识到参数量并不能决定模型在磁盘上的大小,从而把「参数量」与「硬件占用」这两个容易混淆的概念分开。
## 设计意图
- 复习的另外两种机制回答的是“有没有接触到”和“记不记得住结构”,捕捉不到概念边界上的误解:节点都在、结构也在,但把 A 当成了能决定 B 的东西。
- 开放式问题不设标准答案:系统要确认的是“用户是否分清了边界”,而不是“答案是否与范文一致”。
- 纠正的对象是回答里隐含的假设,而不是答案本身的对错。对话因此是引导,不是判卷。
## 产出
- 对话的产出是一条**知识碎片**,不是新的数据实体:它走碎片的全部既有逻辑(内容归属、待归类、归属调整、导图取材、复习 Feed 回收)。
- 碎片由**用户确认后**记录:AI 的纠正也可能是错的,未经确认就入库会把错误边界固化进以后的复习基准。没有确认,就等于这次引导没有产出。
- 碎片带一个「来自学习引导」的[标记](marker.md)。标记只说明来源,不改变碎片的任何处理逻辑。
- 记录上下文是这次复习行为;耗时计入[复习耗时](time-and-efficiency.md);不进入任何学习报告——报告按学习会话生成,学习引导不是会话。
- 默认内容归属:被引导概念所属的学习任务。
## 入口
- 复习 Feed 的卡片。
- 标准思维导图的节点。
两个入口都对应“用户已经看到某段内容”的时刻,系统据此就近发问,用户不需要先想清楚该复习哪个概念。
## 对话不设轮数上限
引导对话以“用户想结束”为终点,不限制轮数,也不要求必须产出碎片。系统不统计“引导做了多少次”“还有多少没引导”。
## 与 AI 的关系
学习引导是系统里唯一允许完全依赖 AI 的能力:它不属于核心闭环,AI 不可用时该功能整体不可用,也不提供降级形态。核心闭环(报告聚合、导图生成、回忆对比)仍然必须能靠内置规则独立完成。
## 相关概念
- 知识碎片:引导产出的落点。
- 内容归属:默认归属被引导概念所属的学习任务。
- 标准思维导图:入口之一,也是引导产出的延伸概念进入的地方。
- 回忆对比:另一种主动提取,测的是结构是否记得住。
- 复习 Feed:入口之一,也是引导产出被再次遇到的地方。
- 标记:承载“来自学习引导”这类附加信息。
- AI 任务:承担引导对话与边界纠正。
## 设计思路
引导的目标不是把概念讲一遍,而是让用户先说出自己的理解,再针对那句话纠正。因此系统不预设问题清单,也不把引导做成待办:它和复习的其他机制一样,只在用户已经看到内容时就地发生。
+1 -1
View File
@@ -11,7 +11,7 @@
- **按归属分组的碎片**:碎片按内容归属分组呈现;旁支碎片单独列出并标注其归属。
- **自由总结**:用户对本次学习的叙述,包括卡点、疑问和下一步打算。
报告一定属于产生它的那次会话。会话中产生的碎片无论最终归属哪个任务,都会出现在本次报告中,只是分组不同。复习行为(回忆对比、引导追问)产生的碎片不进入任何报告:报告按会话生成,复习行为不是会话。
报告一定属于产生它的那次会话。会话中产生的碎片无论最终归属哪个任务,都会出现在本次报告中,只是分组不同。复习行为(回忆对比、学习引导)产生的碎片不进入任何报告:报告按会话生成,复习行为不是会话。
## 设计意图
+46
View File
@@ -0,0 +1,46 @@
# 标记
## 定义
标记是附加在系统对象上的一段轻量元信息,用来表达对象的来源、性质或用户自己的分类。所有标记统一存放,而不是在碎片等表结构里为每一种标记各加一个字段。
一条标记至少包含:
- **对象**:对象类型与对象标识(例如某条知识碎片、某个学习任务)。
- **标记名与标记值**:例如「来源 = 学习引导」「标签 = 英语」。
- **种类**:系统标记或用户标签。
- **建立信息**:建立者(系统或用户)与建立时间。
## 设计意图
- 新增一种标记时不需要改动各功能表结构,避免碎片、报告等表被标记字段逐渐撑开。
- 跨功能检索统一:按标记找对象只查一处。
- 让「来源」「标签」这类弱信息有唯一的存放位置,语义清晰,不再散落在各功能里。
## 边界
标记不是状态,也不是归属:
- 会话状态、报告能否修订、导图是否待更新这类会影响流程判断的信息,留在各自主体上,不进标记表。用标记表达状态会让流程判断变得不可枚举。
- 标记只被读取和展示,不参与聚合口径,也不改变内容归属。
- 内容归属是唯一的结构归属,标记不能用来表达第二归属。
## 现有与预期的标记
- **标签**(用户标签):用户自由建立的分类,多个、可为空、可变,只影响检索。
- **来源标记**:例如「来自学习引导」。系统标记,由系统在产出时写入,用户不可编辑。
## 相关概念
- 知识碎片:最常见的标记对象。
- 内容归属:与标签互补——归属是唯一结构归属,标签是弱关联。
- 学习引导:产出的碎片带来源标记。
- 学习任务:标签也可以挂在任务上用于检索。
## 待决问题
1. 标记可以挂在哪些对象上(知识碎片 / 学习报告 / 学习任务 / 学习会话)?
2. 标记名的受控方式:系统标记用固定词表、用户标签自由输入;是否允许用户在系统标记上叠加自己的值。
3. 标记值是否只在需要时使用(布尔开关 / 枚举 / 自由文本)。
4. 是否需要按标记检索的入口(例如“找出所有来自学习引导的碎片”),以及需要哪些索引。
5. 标记名如何治理(能否重命名或废弃),以及哪些标记对用户展示。
+1
View File
@@ -21,6 +21,7 @@ Feed 的条目单位是知识碎片。学习报告不以条目形式出现在 Fe
- 复习总览:任务级入口,与 Feed 的条目级展示互补。
- 回忆卡片:点击 Feed 内容后,先让用户尝试回忆再展开原文。
- 回忆对比:Feed 是进入深度复习的入口之一。
- 学习引导:Feed 卡片是它的入口之一。
- 复习排序:合并“多久没接触”与任务掌握度两个信号,只影响出现概率。
## 设计思路
+2 -1
View File
@@ -10,7 +10,7 @@
- **可复习内容的规模**:该任务下有多少知识碎片。学习报告不以报告为单位重复计数,它包含的碎片已经在碎片里各出现过一次。
- **掌握度**:该任务最近一次回忆对比的覆盖率。
- **复习耗时**:该任务上回忆对比与引导追问累计的耗时,与学习时长并列展示。
- **复习耗时**:该任务上回忆对比与学习引导累计的耗时,与学习时长并列展示。
- **最近复习时间**:距上次回忆对比过去了多久。
- **待归类内容**:尚未确定内容归属的碎片,见[内容归属](knowledge-ownership.md)。
@@ -28,6 +28,7 @@
- 标准思维导图:从任务进入深度复习的对象。
- 回忆记录与覆盖率:掌握度的来源。
- 复习耗时:与学习时长并列的投入口径。
- 学习引导:复习行为之一,产出的碎片默认归属被引导概念所在任务。
- 复习 Feed:条目级的偶遇展示,与总览互补。
## 设计思路
+1
View File
@@ -19,6 +19,7 @@
- 应用场景:作为独立分支进入导图。
- 回忆对比:标准导图是用户回忆结果的对照基准。
- 节点溯源:导图节点可以关联回原始报告、碎片或应用场景。
- 学习引导:从导图节点发起,产出的碎片按归属进入本导图。
## 生成来源
+2 -2
View File
@@ -24,7 +24,7 @@
复习耗时是一次复习行为的耗时。它与学习时间分属两条轴,不合并、不换算、不互相比较。
- **覆盖范围**:回忆对比与引导追问。滚动浏览内容不计时。
- **覆盖范围**:回忆对比与学习引导。滚动浏览内容不计时。
- **计时边界**:从行为开始到结束;超过 5 分钟没有任何交互,则把耗时截断到上一次交互时间。复习没有“暂停”动作,这条截断规则用来替代暂停。
- **不叫“有效复习时间”,也不套用 10 分钟最小阈值**:复习行为天然是分钟级,套用会话口径会把几乎所有复习耗时清零。
- **用途**:在复习总览中按任务与学习时长并列展示,回答“我在这块内容上复习了多少”。不设目标、不做提醒、不参与“该复习什么”的排序。
@@ -32,6 +32,6 @@
## 相关概念
- 学习会话:学习时间数据记录在会话上。
- 复习行为:回忆对比与引导追问,复习耗时的来源。
- 复习行为:回忆对比与学习引导,复习耗时的来源。
- 复习总览:按任务并列展示学习时长与复习耗时。
- 学习任务:任务层面的累计学习时间来自多次会话,累计复习耗时来自多次复习行为。
+2 -1
View File
@@ -25,7 +25,8 @@
- 滚动展示知识碎片(复习 Feed)。
- 维护标准思维导图。
- 提供回忆对比、回忆记录和遗漏项回溯。
- 记录复习耗时(回忆对比与引导追问)。
- 提供学习引导(开放式问题与概念边界纠正)。
- 记录复习耗时(回忆对比与学习引导)。
- 承接内容归属的调整动作与待归类内容的处理入口。
复习模块不要求用户逐条整理学习材料,材料是自动整理和对照分析的数据来源。复习按内容归属聚合,而不是按内容产生于哪次会话:这是归类动作与复习动作放在一起的原因。复习不做调度:不生成到期清单,只影响内容的出现概率。
+8 -2
View File
@@ -21,7 +21,9 @@
系统把两种记忆机制组合在一起:
1. 偶然接触:通过滚动 Feed 让用户无意识看到自己写过的内容,为记忆“播种”。
2. 主动回忆:用户点击内容后先尝试回忆,再展开原文,通过提取练习巩固记忆。
2. 主动提取:用户主动付出回忆努力,让记忆被巩固。它有两种形态:
- **回忆对比**:重建知识结构,看漏了哪些节点。
- **学习引导**:回答一个开放式问题,暴露概念边界上的误解,产出由用户确认后记成知识碎片。
## 复习内容来源
@@ -42,7 +44,7 @@
## 复习耗时
复习行为(回忆对比、引导追问)会记录耗时,与学习时间独立统计:不合并、不换算,也不参与“该复习什么”的排序。口径、截断规则与展示方式见[时间与效率](../concepts/time-and-efficiency.md)与[复习总览](../concepts/review-overview.md)。
复习行为(回忆对比、学习引导)会记录耗时,与学习时间独立统计:不合并、不换算,也不参与“该复习什么”的排序。口径、截断规则与展示方式见[时间与效率](../concepts/time-and-efficiency.md)与[复习总览](../concepts/review-overview.md)。
## 从轻量复习到深度复习
@@ -80,6 +82,10 @@
每次对比都会留下一条[回忆记录](../concepts/recall-review.md),记录这次回忆的起点、三类节点与覆盖率。覆盖率按任务聚合成掌握度,是复习排序的输入之一。
## 学习引导的作用
学习引导处理的是另一种失效:结构记住、概念边界却没分清。系统用开放式问题引出用户的回答,AI 针对回答里隐含的假设纠正边界,用户确认后把收获记成一条知识碎片,之后走碎片的全部既有逻辑(归属、待归类、导图取材、Feed 回收)。完整定义见[学习引导](../concepts/learning-guidance.md)。
## 进入回忆对比的入口
回忆对比不应该只有一个入口。系统提供三种入口,它们对应不同的复习心态:
+2 -2
View File
@@ -74,12 +74,12 @@ LPT 的全部能力最终只服务于三个问题:
以下六条是设计目标的支点。改动它们属于设计变更,必须先改文档再改实现:
1. **时间按真实发生的行为统计**。学习时间来自学习会话,复习耗时来自复习行为(回忆对比、引导追问),两者独立统计、不合并。
1. **时间按真实发生的行为统计**。学习时间来自学习会话,复习耗时来自复习行为(回忆对比、学习引导),两者独立统计、不合并。
2. **一次学习会话只属于一个学习任务**
3. **三类时间规则**:番茄钟长度(单个学习段落的上限)、遗忘判定阈值(判断用户是否忘记暂停或结束)、不计入总时长的最小值。这三条只用于学习会话;复习耗时的挂机截断窗口不属于它们。
4. **学习报告是会话产出的真实记录**,形态为会话摘要、预期达成判断、按归属分组的碎片与自由总结。碎片是原料,报告是收敛,报告不做美化;旁支碎片留在本次报告中单独呈现,不参与正文推演。
5. **复习是偶遇加主动提取**,不是清单、不是打卡、不是必须完成的任务。
6. **AI 只增强不依赖**。报告聚合、导图生成、回忆对比都必须有内置规则可独立完成。
6. **AI 只增强不依赖**。报告聚合、导图生成、回忆对比都必须有内置规则可独立完成;学习引导是唯一例外——它不属于核心闭环,允许完全依赖 AI,AI 不可用时整体不可用
## 六、两条轴的分工原则