练习:题库、错题与每日复习¶
「学习空间 → 题库」(/space/questions)用于管理完整题库与错题,支持导入、搜索、筛选、标签和收藏。
「个性化学习 → 练习」(/learning/practice)提供练习统计、每日错题复习,以及相同的题库、错题和导入功能。
两个入口共用题目与复习记录;学习空间的题库页面不展示统计图表或每日复习面板。
切换题库、错题时保留当前入口及课程、工作空间等查询参数,原有 /space/questions 链接仍然可用。
日常使用¶
- 题库包含所有题目,支持搜索、来源/材料筛选、收藏、标签、多选管理和分页。
- 错题包含历史上答错过的题目,也包含手动导入到错题的题目。标签独立于这两个集合,同一道题可以有多个标签。
- 点击「练习本页」或选择题目后开始练习。先作答,再查看参考答案与解析,最后反馈回忆情况。
- 单选、多选、判断题由服务端核对明确的答案;填空、简答及无法可靠识别的旧答案使用自评,不需要配置模型。
- 题目列表默认收起答案;练习详情保留原始作答,也显示最近一次练习答案。
题干与选项始终显示,收起「答案与解析」只隐藏答案标记、作答证据和解析。 旧题型名称及紧接在题干后的代码围栏也兼容显示。精通之路题目的来源链接返回对应学习会话。
练习中的新错误会自动进入错题。复习答对后题目仍保留在错题集合,便于回顾历史; 标记「已掌握」会暂停每日安排,取消标记可恢复。再次答错会重新开启复习。
导入自己的题目¶
支持 .xlsx、.csv、.tsv、.json,单次最多 500 题、5 MB、64 列。
Excel 使用当前活动工作表;CSV/TSV 支持 UTF-8(含 BOM)和 GB18030。
页面提供 Excel、CSV 模板。旧版 .xls 可先另存为 .xlsx。
| 列名 | 中文别名 | 内容 |
|---|---|---|
question |
题目、题干 | 必填,题干文本 |
question_type |
题型 | single_choice 单选、multi_choice 多选、true_false 判断、fill_blank 填空、short_answer 简答;也支持中文题型名 |
A … J |
选项A … 选项J | 选择题选项;至少两个有效选项 |
correct_answer |
答案、正确答案 | 必填;单选填写选项键,多选填写 A,C,判断填写 true / false 或「对」/「错」 |
explanation |
解析 | 可选参考解析 |
tags |
标签、分类 | 可选,逗号或分号分隔 |
difficulty |
难度 | 可选难度文字 |
user_answer |
我的答案、作答 | 可选历史作答 |
JSON 文件使用对象数组;选项可放入 options 对象或数组,标签可使用字符串数组:
[
{
"question": "哪些是质数?",
"question_type": "multi_choice",
"options": {"A": "2", "B": "3", "C": "4"},
"correct_answer": "A,B",
"explanation": "2 和 3 是质数。",
"tags": ["数学", "数论"]
}
]
选择导入到「题库」或「错题」,上传后先检查预览。只要有一行不合法,就不会开放确认导入, 页面会显示错误行号。Excel 公式需先粘贴为值。没有确认之前不会创建题目。
导入到题库的题目初始为「未作答」,不会仅因附带 user_answer 就自动判为错题。
在课程范围内导入的题目归属该课程;导入文件名保留为材料来源。
同一范围内,相同题干、题型、选项和答案的重复题会合并标签,保留已有题目及作答记录。
提交失败可以重试同一预览;成功后的重试会返回同一结果。预览有效期为 24 小时。
练习统计¶
「个性化学习 → 练习」页面顶部提供近 7 / 30 / 90 天的统计,可切换折线图、柱状图和三个指标:
- 新增题目:按题目进入题库的日期计数。
- 新增错题:每题只在第一次成为错题的日期计数;后续再次答错不会重复计为新错题。
- 复习次数:按成功保存的练习提交计数;同题可以多次,网络重试不会重复计数。
右侧来源分布与当前时间范围、指标一致。日期按浏览器本地时区划分,没有记录的日期显示 0。 鼠标或触摸可查看某一天,键盘聚焦图表后用左右方向键切换日期;「查看每日明细」提供完整数值表。 统计周期、指标与图形选择保存在 URL 中,刷新或分享链接会保留选择,课程和工作空间范围也会保留。 已掌握的错题仍保留首次出错统计;已删除的题目及被删除会话中的题目不计入统计。
每日错题复习如何安排¶
新错题默认从次日开始复习,旧错题按原始产生时间补建计划。按浏览器本地时区划分「今天」, 今日到期及逾期题目组成当天队列,先复习最早到期的题目,每轮最多 20 题。 复习后可继续下一轮;首页展示待复习、逾期和今日已复习数量。
| 反馈 | 下次安排 |
|---|---|
| 忘记了 / Again | 约 1 天后,降低后续增长速度 |
| 有点难 / Hard | 当前间隔约乘以 1.2,降低后续增长速度 |
| 记住了 / Good | 初次或遗忘后的成功回忆约 3 天;随后按回忆难度延长 |
| 很轻松 / Easy | 比 Good 更长,并适度提高后续增长速度 |
客观题答错时只能选择 Again。间隔最长 365 天,实际到期时刻由反馈时间计算,并归入所在的本地日期。 已掌握、已删除来源中的题目不进入每日队列。成功保存后才推进进度; 重复点击或网络重试不会重复计数,多标签页提交冲突会提示重新加载。
该版本采用可解释、可测试的 SM-2 风格冷启动规则,借鉴间隔重复的思路。 它没有训练每位用户的遗忘曲线,也不声称已实现 FSRS。 参考项目:Anki、FSRS4Anki。 每次复习记录会保存,可支持以后评估或迁移调度算法。
兼容与维护¶
原有对话、伙伴、书籍、沉浸阅读、精通之路的题目写入接口继续使用。 SQLite 在原有题目写入时自动收集错题,不要求每个来源单独接入新流程。 原题目 ID、标签关系、原始答案、批改结果和产生时间保留;复习记录单独存储,不覆盖来源证据。
新增表为 practice_review_state、practice_review_events、practice_imports,启动时执行增量建表及旧错题补建。
各用户及工作空间继续使用各自的存储上下文。旧接口保持兼容,新增接口位于
/api/question-notebook/practice。删除题目时关联复习记录一并清理。
回退应用版本前仍应备份数据库;旧版本不能展示新的复习计划,但原始题库数据不依赖新表。
开发安装更新后需要重启后端才能注册新接口,前端需使用对应版本。
Implementation and verification¶
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 dee/DeepTutor