docs: 补全复习回路设计

This commit is contained in:
cat-shark
2026-09-19 22:43:47 +08:00
parent da2ad925f4
commit 5208dd0352
8 changed files with 168 additions and 8 deletions
+5 -3
View File
@@ -21,11 +21,13 @@
负责消费学习执行产生的材料:
- 滚动展示知识碎片和学习报告
- 按任务汇总复习状态(复习总览)
- 滚动展示知识碎片(复习 Feed)。
- 维护标准思维导图。
- 提供回忆对比和遗漏项回溯。
- 提供回忆对比、回忆记录和遗漏项回溯。
- 承接内容归属的调整动作与待归类内容的处理入口。
复习模块不要求用户逐条整理学习材料,材料是自动整理和对照分析的数据来源。复习按内容归属聚合,而不是按内容产生于哪次会话:这是归类动作与复习动作放在一起的原因。
复习模块不要求用户逐条整理学习材料,材料是自动整理和对照分析的数据来源。复习按内容归属聚合,而不是按内容产生于哪次会话:这是归类动作与复习动作放在一起的原因。复习不做调度:不生成到期清单,只影响内容的出现概率。
## 应用场景
+2
View File
@@ -30,6 +30,8 @@ LPT 是辅助学习与生活的工具。系统可以量化、提醒、建议,
随机展示是为了制造偶然接触,智能排序是为了让偶然接触更接近真正需要复习的内容。两者结合,而不是互相替代。
因此复习不做到期清单:系统只调整出现概率,不生成必须完成的队列,也不因为长期未复习而判定用户落后。
## AI 增强,但不依赖
AI 负责降低书写负担、提取知识结构和进行语义比较。核心学习流程必须在 AI 不可用时仍然可用,通过内置规则继续完成基本功能。
+75 -1
View File
@@ -1,5 +1,21 @@
# 复习回路
## 复习系统的立场
复习是记忆机制,不是任务清单。系统只做两件事:
- 让学过的内容以低阻力反复出现在用户眼前,为记忆播种。
- 在用户愿意的时候提供主动提取的机会,让记忆被巩固。
明确不做的事:
- 不做间隔重复调度:系统不计算“下次复习日期”,不生成到期队列,也不做逾期提醒。
- 不做打卡与连续天数,不统计“复习完成率”。
- 不做评分与等级:覆盖率是事实,不是成绩。
- 不要求用户处理完所有遗漏项。
任何让复习变成“必须完成的清单”的改动,都违背这条立场。复习可以影响“什么更容易被看到”,但不能制造“欠下的债”。
## 复习的两种机制
系统把两种记忆机制组合在一起:
@@ -7,6 +23,23 @@
1. 偶然接触:通过滚动 Feed 让用户无意识看到自己写过的内容,为记忆“播种”。
2. 主动回忆:用户点击内容后先尝试回忆,再展开原文,通过提取练习巩固记忆。
## 复习内容来源
| 来源 | 在复习中的角色 |
|------|----------------|
| 知识碎片 | 复习的基本单位,也是 Feed 的条目 |
| 学习报告 | 一次会话的完整结果,从任务记录进入回顾 |
| 标准思维导图 | 深度复习的对照基准与结构来源 |
| 应用场景 | 复习的现实语境,参与导图 |
| 回忆记录 | 复习产生的历史,用于展示掌握变化与计算任务掌握度 |
学习时间与效率数据不进入复习内容:它们属于时间轴,回答的是投入了多少,而不是记得怎么样。
## 复习的两个层级
- **任务级**:复习总览回答“从哪个任务开始复习”,见 [复习总览](../concepts/review-overview.md)。
- **内容级**:复习 Feed 回答“这次遇到哪条内容”,见 [复习 Feed](../concepts/review-feed.md)。
## 从轻量复习到深度复习
```text
@@ -41,6 +74,8 @@
- 遗漏的内容直接指出需要回看哪里。
- 额外回忆的内容可能是用户自己的联想,也值得保留。
每次对比都会留下一条[回忆记录](../concepts/recall-review.md),记录这次回忆的起点、三类节点与覆盖率。覆盖率按任务聚合成掌握度,是复习排序的输入之一。
## 进入回忆对比的入口
回忆对比不应该只有一个入口。系统提供三种入口,它们对应不同的复习心态:
@@ -53,4 +88,43 @@
## 智能排序与随机性
复习内容不应完全随机,也不应被强制排序。系统可以综合“多久没复习”和“上次回忆覆盖率”让更需要复习的内容更常出现,同时保留随机感。
复习内容不应完全随机,也不应被强制排序。系统综合两个信号调整内容的出现概率:
- **多久没接触**:距内容产生(或最近一次出现)越久,权重越高;时间效应在到达上限后不再增长。
- **任务掌握度**:最近一次回忆对比的覆盖率越低,权重越高;从未回忆过的任务视为最需要复习。
两个信号只影响“出现的概率”,不产生到期、逾期、优先级标记。随机性被保留:每条内容都有机会出现,包括刚刚复习过的内容。信号强度可配置,默认值按“时间效应为主、掌握度为辅”设定。
## 复习中的归类
复习是内容归类的最低成本时机:用户已经看到这条内容,此时决定它属于哪个任务不需要额外整理流程。
- 待归类内容在复习总览中可见,在 Feed 中可归类。
- 归类动作就近提供,一次交互完成;AI 只给建议,用户可一键接受或忽略。
- 归属改变后,内容进入新任务的导图取材范围,原任务与新任务的导图都标记为待更新;复习排序权重按任务掌握度自动跟随,不需要单独处理。
## 复习中的反馈动作
复习目前只有“看到 → 展开 → 深入”的路径,用户不能表达“这条我已经很熟”或“这条我要再看看”。设计上区分两种反馈:
- **无需记录的反馈**:展开查看、进入回忆对比,本身就是复习行为,不产生额外数据。
- **需要记录的反馈**:用户主动标记“已掌握”或“稍后再看”,用于调整出现概率。
反馈动作的存在方式列入待决问题:它既可能帮助系统更准地安排内容,也可能把复习拖回清单模式。
## AI 在复习中的边界
- 回忆对比的语义匹配由 AI 增强,AI 不可用时降级为文本相似度匹配。
- 归类建议由 AI 增强,AI 不可用时降级为关键词与历史归属的规则建议;规则也不可用时不做建议,不影响复习流程。
- AI 不参与“该复习什么”的判定:排序信号来自时间与回忆记录,AI 只影响匹配与建议。
## 待决问题
以下问题需要维护者确认后再进入实现:
1. **Feed 是否包含学习报告?** 本文档的取向是:Feed 只出知识碎片,报告以“会话完整结果”的形态从任务记录进入,不与碎片并列成条目,避免同一段内容以两种形态重复出现。
2. **复习反馈动作的形态。** 可选:只读(现状)/加“已掌握 / 稍后再看”轻反馈并参与权重/只提供“稍后再看”而不提供“已掌握”。轻反馈是否会演变成清单,是本项的核心顾虑。
3. **覆盖率口径。** 本文档暂按“最近一次回忆对比”计算;另一种做法是取最近若干次的加权结果,代价是变化被平滑、遗忘的征兆出现得更晚。
4. **待归类内容的呈现方式。** 在复习总览中独立成一类“待归类”,还是在 Feed 中与其他内容混排并打标;以及归类动作是否必须在卡片上可完成。
5. **遗漏项的语义。** 本文档按“每次对比的快照 + 可回看原文”设计,不做跨次累计的待处理集合。若改为累计,需要重新论证它不会变成待办清单。
6. **排序信号是否可配置。** 掌握度与时间效应的强度是否像任务优先级权重那样对用户开放,还是固定为默认值。