学习任何东西框架
通过交互式LLM会话将主题转化为结构化课程。 通过CLI学习:阅读课程、解释反馈、选择题练习、间隔重复。
1. 教学法
融合三种理论:
| 理论 | AI角色 | 解决的问题 |
|---|---|---|
| Marva Collins | 苏格拉底式导师。严谨问答、高期望、无限耐心 | 需要好老师。AI从不疲倦。 |
| Feynman技巧 | 漏洞检测器。学习者简单解释 → AI发现漏洞 | 理解的幻觉 |
| 理想困难 | 间隔调度器。FSRS检索 + 交错练习 | 被动重读 |
阶段 → 理论映射
| 阶段 | 理论 | 学习者 | AI/CLI |
|---|---|---|---|
| 阅读 | Marva | 学习课程 | 撰写清晰内容 |
| 解释 | Feynman | 简单解释概念 | 追问:“你说了X,但Y — 如何协调” |
| 练习 | Marva + 理想 | 回答选择题并证明 | 评分、解释干扰项 |
| 评判 | Marva | 批判、形成观点 | 苏格拉底式追问 |
| 复习 | 理想 | 通过FSRS进行主动回忆 | 调度最佳间隔 |
时间预算
- 主题:最多40小时(13周 × 3小时/周)
- 模块:1.5-3小时,每主题约15-20个
- SRS复习:每天约10-15分钟
2. 内容结构
<主题>/
├── syllabus.yaml # 课程规范
├── modules/
│ ├── NN-name/
│ │ ├── lesson.md # 核心内容 + 练习
│ │ ├── quiz.yaml # 8-10道选择题
│ │ └── cloze.yaml # 8-10道完形填空题
│ └── …
└── srs/
├── deck.json # FSRS-5卡片
└── stats.json # 历史记录
完整模板位于 templates/。关键:syllabus.yaml(20模块骨架)、module.md(课程结构)、quiz.yaml(4选项选择题格式)。
3. 内容创建协议
工作流程
- 范围界定(5分钟):询问领域/水平/时间预算/语言/用例。提出教学大纲。
- 大纲阶段:验证模块DAG + 先决条件链。检查时间预算。
- 每个模块(10分钟):使用
learn.sh create-module <主题> NN-name创建模块。用零填充的两位数字 + 短横线命名(例如,01-intro、02-core-concepts)。编写 lesson.md + quiz.yaml。内联应用16条质量规则。确保 lesson.md ≤12,000字符。如果内容溢出,拆分为更多模块并更新教学大纲。用户审阅。继续。 3.5. 验证语法:运行learn.sh validate-content <主题> [模块]。在继续之前修复所有markdown + mermaid错误。 - 发布前:加载
content-verify.md。运行检查清单。修复违规项。 - 编译SRS(2分钟):将选择题提取为FSRS-5卡片组。
- 累积测验:每3-5个模块后,在主题根目录生成
cumulative_quiz.yaml。8-10道题混合完形填空、选择题、判断题。每题标记source_modules。答案分布在A-D之间。
内容原则
- CILO对齐:每个模块满足≥1个学习目标。无冗余内容。
- 语言:所有内容使用syllabus.yaml指定的语言(
en/zh/yue)。 - 先实践:从具体示例开始,再介绍抽象定义。
- 领域相关:场景来自学习者所在行业。
- 完形填空:每个模块有3-5个完形填空空白(
{术语})。学习者填写后才能继续。强制在阅读时检索。 - 预测下一步:每个因果链有2-3个预测块。学习者在揭示结果前先写下自己的预测。
- 找错练习:每个模块有1-2个“找错”练习。错误驱动学习培养诊断能力。
- 双重编码:每个概念配一张图表(Mermaid、ASCII或结构化层次图)。
- 选择题多样性:40%回忆、40%应用、20%多步骤。
- 费曼提示:每节课以解释任务 + AI漏洞探测结束。
- 理想困难:同一概念在不同模块中从不同角度测试。
- 时间预算:模块≤3小时。主题≤40小时。
- 模块大小限制:每个模块的lesson.md ≤12,000字符。超出限制?将主题拆分为更多模块。相应调整教学大纲模块数。
- 递进性:建立在先决条件之上。早期模块为基础。
- 允许跳过:学习者提供的信息很少?仍使用合理的默认值生成内容。不要阻塞。
- 全程苏格拉底式:每个主要概念后紧跟一个问题,让学习者停下来思考——不仅在模块末尾,而是在每个新观点之后立即插入。问题 → 紧接着提供简短答案/解释,以便学习者自查。模式:陈述概念 → 问“为什么?”或“如果…会怎样?” → 回答。
- Mermaid图表:对于有分支逻辑、状态机、工作流或因果链的概念:生成Mermaid流程图/序列图/状态图。主题自动注入
neutral以兼容深色/浅色主题。使用柔和的土色调色板作为style填充色——在深色和浅色主题中均可见。调色板:蓝色#5c7a99、绿色#5c8a6a、橙色#b8924a、红色#b86a4a、紫色#7a5a8a、灰色#888。描边:使用填充色的深色或#333。示例:style A fill:#5c7a99,stroke:#333。图表放在概念解释之后、思考问题之前。 - 模块思维导图:每个模块的lesson.md顶部(元数据之后、学习目标之前)有一个Mermaid思维导图。展示知识层级:中心概念 → 关键主题 → 子概念。使用
mindmap语法。最多3层深。 - 答案分布:选择题答案键必须在A/B/C/D之间均匀分布。连续两个以上问题不能有相同答案字母。模板以B为例——生成时要轮换。
- 累积测验:每3-5个模块后,在主题根目录生成
cumulative_quiz.yaml。8-10道题混合完形填空、选择题、判断题。每题标记source_modules。答案分布在A-D之间。
内容质量规则(16条)
| # | 规则 | 实施方法 | 错误示例 → 正确示例 |
|---|---|---|---|
| 1 | 解释惯例 | 说明惯例存在的原因,而不仅仅是定义 | “报价95” → “95 = 面值$1,000的95%。百分比惯例使得不同面值债券之间具有可比性。” |
| 2 | 回答隐含问题 | 预判学习者未问出的1-3个问题 | 对票息保持沉默 → “票息会变吗?固定利率债券不会。浮动利率债券会(定期重置)。” |
| 3 | 回归面值直觉 | 解释价格到期收敛于面值是机械过程 | “价格回归面值是因为时间缩短+剩余现金流的现值收敛于本金。并非由利率驱动。” |
| 4 | 因果链优先 | 先直观逻辑,再公式 | 直接跳到债券定价公式 → “新债券支付6%。我的债券支付4%。我的债券价值下降→价格下跌直到收益率匹配。” |
| 5 | 实际背景 | 每个数字都有实际含义 | “久期7.5” → “利率上升1% → 价格下跌约7.5%(仅适用于小幅变动;大幅变动需凸性调整)。” |
| 6 | “有多可能” | 说明正常频率与罕见频率 | 省略 → “收益率曲线倒挂很少见。每次倒挂后约8个月出现衰退。并非完美预测。” |
| 7 | 常见误解 | 指出初学者持有的1-2个具体错误 | “票息越高债券越好” → “不,折价债券在到期时有内置的价格上涨(增值)效应。” |
| 8 | 全程苏格拉底式 | 每个概念部分嵌入思考问题 + 立即解答 | 学习者被动阅读 → 被迫停下来思考 |
…
[因翻译而截断]