【免费下载链接】learn-from-materials
Turn PDFs, books and papers into interactive learning webpages|将复杂材料转化为可追溯、可测验、可做笔记的学习网页
你有没有过这种经历:书看完了、PDF 刷完了,一闭眼却什么都答不上来?开源项目learn-from-materials将 PDF、书籍和论文转化为可追溯、可测验的学习网页,它的动态自检配合原题优先机制,让 AI 逐题考你——材料里自带习题就先考原题,没有才动态生成新题,且每道题的判分和解析都标注材料出处。
本文带你完整拆解这套机制:它为什么不在页面上放固定题库、AI 如何决定出哪道题、错题又如何变成你的专属复测卷。
动态自检是什么:考点蓝图,而不是预生成题目
传统学习工具喜欢把题目一次性铺在页面上,但 learn-from-materials 的“学习自检”模块刻意不做这件事。页面只记录一份自检考点蓝图(assessment.focusAreas),每个考点包含四要素:
| 要素 | 说明 |
|---|---|
| 考点名称 | 从材料关键知识点穷尽列出,不设数量上限 |
| 所属单元 | 绑定到具体内容单元 |
| 能力层级 | 记忆、解释、应用、迁移四层 |
| 真实出处 | 精确到文件、页码或幻灯片 |
发起自检时,页面提供“综合全部 / 指定章节或单元 / 自定义要求”三种范围,还能选择题量、难度和能力重点。点击复制后,得到的是一条结构化口令,粘贴回 AI 对话即可开始逐题测验。
静态页面不预生成题目,还有一个实际好处:题库可以随材料里的习题自动更新,而页面保持干净。这一要求还被写进了质量门禁——自检考点蓝图缺失时,静态校验脚本会直接报错拦截,见 scripts/verify_static.py。
原题优先路由:AI如何决定出原题还是新题
这是整个机制最有意思的部分。AI 出题前会静默读取知识库里的question-bank.json,然后按四档路由决定出什么题:
| 材料中的题库状态 | AI 的行为 |
|---|---|
| ✅ 范围内有完整可用原题 | 优先出原题:保留题干、选项与官方答案,可打乱题序和选项序(同步答案映射) |
| 📝 原题数量不足 | 先用完不重复的原题,再按同一知识点补充生成题 |
| ⚠️ 只有零散、残缺题目 | 混合路由;绝不使用残缺或无法可靠判分的题目 |
| ❌ 没有题库 | 依据自检考点蓝图动态生成 |
注意“静默”二字:整个过程不会向你展示识别结论、置信度或“原题/混合/生成”模式名称,AI 开头就直接出第 1 题。规则完整定义在 references/question-bank-routing.md。
逐题交互同样有严格约束:
- 一次只出一题,等待你回答后才判分,绝不提前泄露答案;
- 判分依据分两类:材料明确给出答案的按官方答案判分(
official);仅能依据正文推导的按事实判分,且解析中必须如实写“依据正文推导”,不得冒充题库官方答案(material-derived); - 动态调难:根据你的回答实时调整后续题目难度。
路由细则还可对照 references/content-contract.md 中的学习自检规则。
看不见的题库:question-bank.json 里有什么
每次建立知识库,都会自动生成一份<主题>.learnkb/question-bank.json,作为出题路由的“弹药库”。它有几个反直觉的设计:
detection只有三档:none(未检测到)、partial(零散/不完整)、complete(完整题库或成套练习);confidence表示识别置信度,不是答案正确率——别拿它当正确率看;- 识别很克制:只有出现可验证的题目结构(题干+选项、连续试题编号、答案表、解析区、明确的“练习/真题”标题)才算题库;正文的编号列表、目录、检查清单和普通思考提示都不行;
- 宁缺毋滥:题干残缺、答案无法核验的题目保留索引但标记
usable: false,不会硬凑;无可靠题库证据时直接输出空数组,不强行识别; - 不设题目数量上限,也不抽样——读到的题库要全量索引,只去除完全重复题。
仓库里这份 examples/rsi-methodology.learnkb/question-bank.json 就是“未检测到题库”时的真实记录:detection: "none"、空问题数组,干脆利落。
错题本与变式复测:AI如何记住你的错
测验不是考完就散场。结束时 AI 会输出三样东西:总评、薄弱知识点、标准错题 JSON(用<<<KLA_MISTAKES_JSON>>>标记包裹,方便页面提取)。把这段记录粘贴回学习页,错题就写入了本地错题本,结构定义见 references/content-contract.md。
错题本的复测设计很讲究:
- 支持搜索、按掌握状态筛选、修改状态、删除;
- 复制变式复测口令时只提供题目、知识点、单元与出处,不提前暴露正确答案;
- 复测默认生成变式题而不是照搬原题——避免背题式“假掌握”;只有你明确要求重做原题时才复用原题;
- 错题、笔记都只保存在当前浏览器的本地存储,无账号、无云同步,支持 JSON 备份/导入。
页面 UI 的完整实现可以在 templates/base.html 看到:范围切换、题量/难度/能力重点控件,以及口令拼装逻辑。
三步上手:让AI开始逐题考你
第 1 步:把 Skill 装进你的 Agent(需要 Agent 能读文件、跑本地 Python,并识别SKILL.md):
git clone https://gitcode.com/gh_mirrors/le/learn-from-materials.git ~/.claude/skills/learn-from-materials第 2 步:在对话中一句指令即可,例如“请用 learn-from-materials 系统学习这本 PDF,并生成可追溯知识库和学习网页”。产出是一个.learnkb/知识库加一份离线学习 HTML。
第 3 步:打开页面 → 切到“学习自检”模块 → 选范围、题量、难度 → 复制口令 → 粘贴回对话,AI 就开始逐题考你。
💡 模型选择建议(来自 SKILL.md):基础记忆题和短材料,通用模型即可胜任;长书、多材料交叉、专业论文和复杂开放题,建议长上下文、高推理能力模型——模型弱时不放宽材料边界,而是缩小单次范围分批完成。
写在最后
learn-from-materials 的自检机制本质上回答了一个问题:“考你”这件事,凭什么可信?答案藏在三个细节里——原题优先保证考题来自材料本身、静默路由让过程不打扰你、错题变式复测防止背题式通过。它不替你总结“学会了”,而是让 AI 一题一题地验证。
想深入协议细节,推荐阅读 references/question-bank-routing.md(出题路由)、references/answer-protocol.md(小巴回答协议)与 references/content-contract.md(内容契约与错题 JSON 结构),以及 examples/features-zh.md 中的学习自检示例。
【免费下载链接】learn-from-materials
Turn PDFs, books and papers into interactive learning webpages|将复杂材料转化为可追溯、可测验、可做笔记的学习网页
相关推荐
从book-to-skill到Agent Skills规范:learn-from-materials开源渊源与生态详解
从book to skill到Agent Skills规范:learn from materials开源渊源与生态详解 learn from materials
系统学习的质量门禁完全清单:learn-from-materials 的行动规则账本、原文标题索引与反向覆盖
系统学习的质量门禁完全清单:learn from materials 的行动规则账本、原文标题索引与反向覆盖 learn from materials 能把书籍
6大模块、3套主题与"小巴"引导:learn-from-materials学习页首次使用全解读
6大模块、3套主题与"小巴"引导:learn from materials学习页首次使用全解读 如果你把一本 PDF、电子书或论文丢给 AI,只得到一堆零散摘要
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考