Files
lpt-docs/docs/design/review-loop.md
T

7.3 KiB

复习回路

复习系统的立场

复习是记忆机制,不是任务清单。系统只做两件事:

  • 让学过的内容以低阻力反复出现在用户眼前,为记忆播种。
  • 在用户愿意的时候提供主动提取的机会,让记忆被巩固。

明确不做的事:

  • 不做间隔重复调度:系统不计算“下次复习日期”,不生成到期队列,也不做逾期提醒。
  • 不做打卡与连续天数,不统计“复习完成率”。
  • 不做评分与等级:覆盖率是事实,不是成绩。
  • 不要求用户处理完所有遗漏项。

任何让复习变成“必须完成的清单”的改动,都违背这条立场。复习可以影响“什么更容易被看到”,但不能制造“欠下的债”。

复习的两种机制

系统把两种记忆机制组合在一起:

  1. 偶然接触:通过滚动 Feed 让用户无意识看到自己写过的内容,为记忆“播种”。
  2. 主动回忆:用户点击内容后先尝试回忆,再展开原文,通过提取练习巩固记忆。

复习内容来源

来源 在复习中的角色
知识碎片 复习的基本单位,也是 Feed 的条目
学习报告 一次会话的完整结果,从任务记录进入回顾
标准思维导图 深度复习的对照基准与结构来源
应用场景 复习的现实语境,参与导图
回忆记录 复习产生的历史,用于展示掌握变化与计算任务掌握度

学习时间与复习耗时都不进入复习内容:它们回答的是投入了多少,而不是记得怎么样。复习耗时只在复习总览里与学习时长并列呈现。

复习的两个层级

  • 任务级:复习总览回答“从哪个任务开始复习”,见 复习总览
  • 内容级:复习 Feed 回答“这次遇到哪条内容”,见 复习 Feed

复习耗时

复习行为(回忆对比、引导追问)会记录耗时,与学习时间独立统计:不合并、不换算,也不参与“该复习什么”的排序。口径、截断规则与展示方式见时间与效率复习总览

从轻量复习到深度复习

滚动 Feed
   ↓
看到内容并尝试回忆
   ↓
点击进入详情
   ↓
标准思维导图
   ↓
选择复习起点
   ↓
回忆对比
   ↓
定位遗漏项并回看原文

标准思维导图的作用

标准思维导图是复习的基准结构:

  • 用户可以在脑中重绘它,检验自己记住了多少。
  • 用户可以从任意节点开始复习,不必按顺序处理所有碎片。
  • 系统可以用它判断哪些内容被回忆到、哪些内容遗漏。

回忆对比的作用

回忆对比把“我好像学过”变成可定位的差异:

  • 命中的内容说明已经掌握。
  • 遗漏的内容直接指出需要回看哪里。
  • 额外回忆的内容可能是用户自己的联想,也值得保留。

每次对比都会留下一条回忆记录,记录这次回忆的起点、三类节点与覆盖率。覆盖率按任务聚合成掌握度,是复习排序的输入之一。

进入回忆对比的入口

回忆对比不应该只有一个入口。系统提供三种入口,它们对应不同的复习心态:

  • 从复习总览进入:用户主动想复习某个学习任务,此时默认面对整棵标准导图,可以选择任意节点作为起点。
  • 从某条知识碎片或学习报告详情进入:用户在看具体内容时想深挖,系统根据这段内容定位到最相关的节点,直接以该节点为复习起点。
  • 从首页回忆卡片进入:用户在滚动 Feed 上随手回忆后想继续,同样自动定位到对应节点。

后两种入口的设计意图是:用户不需要先想清楚“该复习哪个知识点”,系统根据当前看到的内容替他缩小范围。

智能排序与随机性

复习内容不应完全随机,也不应被强制排序。系统综合两个信号调整内容的出现概率:

  • 多久没接触:距内容产生(或最近一次出现)越久,权重越高;时间效应在到达上限后不再增长。
  • 任务掌握度:最近一次回忆对比的覆盖率越低,权重越高;从未回忆过的任务视为最需要复习。

两个信号只影响“出现的概率”,不产生到期、逾期、优先级标记。随机性被保留:每条内容都有机会出现,包括刚刚复习过的内容。信号强度可配置,默认值按“时间效应为主、掌握度为辅”设定。

复习中的归类

复习是内容归类的最低成本时机:用户已经看到这条内容,此时决定它属于哪个任务不需要额外整理流程。

  • 待归类内容在复习总览中可见,在 Feed 中可归类。
  • 归类动作就近提供,一次交互完成;AI 只给建议,用户可一键接受或忽略。
  • 归属改变后,内容进入新任务的导图取材范围,原任务与新任务的导图都标记为待更新;复习排序权重按任务掌握度自动跟随,不需要单独处理。

复习中的反馈动作

复习目前只有“看到 → 展开 → 深入”的路径,用户不能表达“这条我已经很熟”或“这条我要再看看”。设计上区分两种反馈:

  • 无需记录的反馈:展开查看、进入回忆对比,本身就是复习行为,不产生额外数据。
  • 需要记录的反馈:用户主动标记“已掌握”或“稍后再看”,用于调整出现概率。

反馈动作的存在方式列入待决问题:它既可能帮助系统更准地安排内容,也可能把复习拖回清单模式。

AI 在复习中的边界

  • 回忆对比的语义匹配由 AI 增强,AI 不可用时降级为文本相似度匹配。
  • 归类建议由 AI 增强,AI 不可用时降级为关键词与历史归属的规则建议;规则也不可用时不做建议,不影响复习流程。
  • AI 不参与“该复习什么”的判定:排序信号来自时间与回忆记录,AI 只影响匹配与建议。

待决问题

以下问题需要维护者确认后再进入实现:

  1. Feed 是否包含学习报告? 本文档的取向是:Feed 只出知识碎片,报告以“会话完整结果”的形态从任务记录进入,不与碎片并列成条目,避免同一段内容以两种形态重复出现。
  2. 复习反馈动作的形态。 可选:只读(现状)/加“已掌握 / 稍后再看”轻反馈并参与权重/只提供“稍后再看”而不提供“已掌握”。轻反馈是否会演变成清单,是本项的核心顾虑。
  3. 覆盖率口径。 本文档暂按“最近一次回忆对比”计算;另一种做法是取最近若干次的加权结果,代价是变化被平滑、遗忘的征兆出现得更晚。
  4. 待归类内容的呈现方式。 在复习总览中独立成一类“待归类”,还是在 Feed 中与其他内容混排并打标;以及归类动作是否必须在卡片上可完成。
  5. 遗漏项的语义。 本文档按“每次对比的快照 + 可回看原文”设计,不做跨次累计的待处理集合。若改为累计,需要重新论证它不会变成待办清单。
  6. 排序信号是否可配置。 掌握度与时间效应的强度是否像任务优先级权重那样对用户开放,还是固定为默认值。