☰
让AI逐题考你:learn-from-materials动态自检与原题优先机制全解析
2026/10/17 13:11:39 网站建设 项目流程

【免费下载链接】learn-from-materials

Turn PDFs, books and papers into interactive learning webpages|将复杂材料转化为可追溯、可测验、可做笔记的学习网页

项目地址:https://gitcode.com/gh_mirrors/le/learn-from-materials
点击查看免费下载

你有没有过这种经历:书看完了、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|将复杂材料转化为可追溯、可测验、可做笔记的学习网页

项目地址:https://gitcode.com/gh_mirrors/le/learn-from-materials
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询