Mistake Book(学业错题本)
Overview
把做错的题目存进错题库(JSON),需要时检索调出,并基于原题生成三类变体(举一反三 / 同类题型 / 提升难度)巩固。存储与检索由 scripts/mistake_book.py 负责,变体生成由 AI 基于检索到的错题完成。
何时使用
- 用户说「这道题我记一下 / 加进错题本 / 这题错了」→ 录入。
- 用户说「我之前错过一道二次函数的题 / 调出来看看 / 回顾一下」→ 检索调出。
- 用户说「帮我出几道同类题 / 举一反三 / 来点更难的」→ 基于某题生成变体。
- 关键词:错题、错题本、记一下、回顾、举一反三、同类题、变式、提升难度、巩固。
错题库
- 默认位置:
~/.workbuddy/mistake_book.json(跨项目持久化),可用--db <path>覆盖。 - 每条字段:
id, subject(学科), topic(知识点), question(题目), correctAnswer, myAnswer(我答错的), explanation(解析), difficulty(1-5), source(来源), tags[], date, reviewCount, lastReviewed, status(new/reviewing/mastered)。 - 同题(question 完全相同)再录会更新而非新增,保留回顾次数与状态。
工作流
Step 1:录入错题
从用户口述 / 题目截图 / 试卷文本中提取字段,补全「我答错的答案」与「解析」(用户没说就让 AI 推断或追问),然后录入:
python scripts/mistake_book.py add --json '{"subject":"数学","topic":"二次函数","question":"...","correctAnswer":"...","myAnswer":"...","explanation":"...","difficulty":3,"source":"2024月考","tags":["二次函数","最值"]}'
或字段式:
python scripts/mistake_book.py add --subject 数学 --topic 二次函数 --question "..." --correctAnswer "..." --myAnswer "..." --explanation "..." --difficulty 3 --tags 二次函数,最值
录入后把生成的 id 告诉用户,方便以后直接调。
Step 2:检索调出
- 按 id(用户记得编号):
python scripts/mistake_book.py get <id> --json - 按关键词(用户说"我错过一道二次函数最值的题"):
python scripts/mistake_book.py search 二次函数 - 按学科/知识点筛选:
python scripts/mistake_book.py list --subject 数学 --topic 二次函数 - 回顾模式(取下一道该回顾的,优先最久没回顾的):
python scripts/mistake_book.py review --json
调出后把题目、我当时的错答、正确答案、解析呈现给用户。
Step 3:生成变体(举一反三 / 同类题型 / 提升难度)
基于检索到的错题,按 references/variant-generation.md 的方法生成三类:
- 举一反三(同知识点、换数换背景):3 道。换数字、换字母、换情境,考点不变,巩固对知识点的掌握。
- 同类题型(同题型模板、换表面):2–3 道。保留题型的结构骨架,换题面包装。
- 提升难度(同知识点、加码):1–2 道。加步骤、加边界、嵌套其他知识点、或改成开放探究。
每道变体必须自带答案与简短解析。生成时让用户先做,做完再对答案;也可直接给答案供对照。
Step 4:回顾闭环
- 用户做完变体后,凡是又做错的,用 Step 1 流程录入错题库(同题会更新)。
- 做对的题若是原错题衍生,可让用户决定是否把原题标记掌握:
python scripts/mistake_book.py master <id>。 - 标记刚回顾过:
python scripts/mistake_book.py mark-reviewed <id>。 - 看错题库全貌:
python scripts/mistake_book.py stats(按学科统计、高频知识点 Top 5)。
输出回顾卡
把原题 + 三类变体填进 assets/review_card.html 的 DATA.original 与 CUSTOM.analogy/sameType/harder,保存为 <学科>_<知识点>_错题回顾.html,用 present_files 展示。也可直接在对话里以文字 + 表格输出,不强制走 HTML。
视觉规范
- 深色背景 + 金色强调;原题用警示色(橙)框出"当时答错"的部分。
- 三类变体用不同色块区分:举一反三=蓝灰、同类题型=金、提升难度=红。
- 解析折叠在答案下方,默认收起。
重要口径
- 解析与答案若用户没提供,AI 推断后须标注「AI 推断,请核对教材」;不臆造不存在的定理/公式。
- 变体难度梯度要让用户"跳一跳够得着":提升难度不要一步到顶,先加一档。
- 同题去重靠 question 文本完全匹配;改了题面字符会算新题,录入时保持题面稳定。
- 错题库是用户私人数据,导出/分享前先确认。
Resources
scripts/mistake_book.py— 错题库 CRUD(add/list/search/get/review/mark-reviewed/master/stats/export),仅标准库。references/variant-generation.md— 三类变体的生成方法、判别要点与示例。assets/review_card.html— 错题回顾卡模板(原题 + 举一反三 + 同类题型 + 提升难度)。