掌握式学习引擎(Mastery Path)
这章讲什么: DeepTutor 怎么逼你「真学会」。核心是一段没有 LLM、没有 I/O 的纯函数策略:它算「你掌握没掌握、下一步学什么」,模型只能照办,无权绕过门槛。这是教育产品里最有意思的设计。
1. 它要解决的小问题
普通 LLM 辅导是「你问它答」,你以为懂了就过了——没人拦你。掌握式学习(mastery-based learning)的理念相反:没到掌握线,就不许进阶。难点是怎么把这个「门」做成模型骗不过去的硬规则,而不是模型自己说「你掌握了」就算。
2. 思路 / 直觉:门就是游标
DeepTutor 把判定做成纯函数策略(deeptutor/learning/policy.py 顶部 docstring):
- 进阶不靠 stage 计数器,而是「从已掌握的内容算出来」。
next_objective一直返回同一个目标,直到它清过门为止(policy.py:158)。 - 已经证明掌握的目标直接跳过(「test out」/ 压缩路径)——因为门读的是「已证明的掌握」,不是固定的阶段序列(
policy.py:10-16docstring)。
直觉:门本身就是进度游标。 你没过的那个点会一直挡在你面前;你证明过的点自动让路。
3. 核心机制
3.1 分类型的门:定量 vs 定性
知识点分四种类型(deeptutor/learning/models.py,KnowledgeType:memory / concept / procedure / design),门也分两种:
| 类型 | 门的种类 | 怎么过 |
|---|---|---|
| MEMORY、PROCEDURE | 定量 | 近期加权准确率 ≥ 0.9(QUANTITATIVE_GATE,policy.py:34) |
| CONCEPT、DESIGN | 定性 | 一次费曼式讲解被导师判过(mastery_assess)(QUALITATIVE_TYPES,policy.py:42) |
为什么概念/设计型用定性?因为它们很少有唯一的标准答案可供字符串比对(policy.py:39-41 注释)。0.9 这个数字明说了是对标 Alpha School 的「90% before you advance」(policy.py:31-33 注释)。
判定入口是 is_mastered(policy.py:60):定量看 mastery_levels[kp.id] >= 阈值,定性看 qualitative_mastery[kp.id] 这个布尔。