家里孩子上初中,数学练习册、试卷源源不断。错题管理的传统流程是:抄题(费时)、贴卷子(凌乱)、复习时东翻西找。市面上拍照搜题 App 只给答案,不管"这道题我错在哪、下次还会不会错"。
我想要的是一个私有错题知识库:
恰好此前我做过一个出题系统( quiz-demo ),里面有一条经过实战验证的"质量链":几何图形数值校验( geocheck )→ 独立解题验伪( verify_answers )→ 矢量试卷导出( export_paper )。错题本直接把这条链复用过来——所有 AI 生成的题目都必须过三道工序,禁止裸奔。
拍照上传(可多张)
→ 视觉模型多题转录(题干 LaTeX 、选项、图形框、印刷答案、手写标记)
→ 自动按框抓取原图(权威图形,0 token )
→ [人审视图] 左原图右题目卡片,KaTeX 实时渲染
勾选入库 + 标错因(马虎/不会/其他)+ 图形可抓原图/手动框选
年级、知识点自动归类(教材知识树),可改
→ 提交入库:题库查重 → 独立解题验伪 → 章节难度知识点分析
→ 工作台(筛选/统计/详情)
→ 刷题(单题循环,自动评分)/ 做题(勾选试卷式,统一批改给分+评价)
→ 连对 3 次 → 建议归档 → 归档
→ 针对性出卷(按章节/知识点/难度占比,原题变式或原创)→ 矢量 PDF
按用户分目录存储(题库/草稿单/照片各自独立),页头切换/新建用户,存量数据自动迁移。两个孩子的错题互不干扰。
1. 数据即文件,不用 SQLite
全部数据是 JSON (原子写 + .bak ),人类可读、git 可版本管理(题库本身就是重要资产)。几百题规模下,一个 git log 就是完整的演进史——后来一次测试事故把题库覆盖了,正是靠备份和 git 恢复的。
2. 向量化( SVG 生成)从默认改为按需
最初设计是"几何题都自动转成规范矢量图",但实测发现这是全链路最费 token 、最慢的一步(每题 1~3 次 LLM 调用 + geocheck 失败重试)。v0.6 反转为:转录默认用照片裁剪图( 0 token ),需要规范图形时人审期一键生成。省一半以上开销,录入速度大幅提升。
3. 不让 LLM 自由发挥知识点
知识点候选来自教材知识库(把纸质课本逐页视觉转录成结构化 JSON ),录入时 LLM 只能在树内选;而工作台筛选用的知识点候选来自题库实际标注——保证下拉框里选了就一定能搜到(教材命名和 LLM 标注命名对不上是真实的坑)。
4. 人审是产品的核心,不是过渡方案
照片转录的不确定性(多题混排、手写干扰、印刷质量)决定了全自动入库不可靠。与其追求"全自动",不如把人审界面做到顺手:对照原图逐题确认、错因标注、图形纠正都是两次点击内的事。AI 负责 80% 的体力活,人负责 20% 的判断。
$...$ 配对切断,KaTeX 找不到闭合符就放弃——改返回全文 + CSS 单行截断这个项目最大的感受:AI 应用的价值不在模型本身,而在模型外围的工程——质量链、人审流程、数据管理、测试回归,这些"笨功夫"决定了它能不能真的每天用。3 天开发 + 真实使用反馈驱动的 12 轮迭代,现在它已经是我家每天在用的工具了。
项目为自用工具,未开源服务端部署;如对质量链( geocheck / verify_answers / export_paper )或错题本实现细节感兴趣,欢迎交流。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.