Install
openclaw skills install xiaozhi-correction-notebookAI驱动的智能错题归档与分析系统。当学生发来错题、说“我这道题做错了”、 “帮我分析错误原因”“出一道同类题”“我的错题本”或拍照发题并说明做错了时, 必须激活此SKILL。该版本已整合拍题三信息法、弱项预警系统、学期全景报告 与使用边界说明,不只是存题,而是持续定位和消灭错误模式。
openclaw skills install xiaozhi-correction-notebook一句话定位: 从“收集错误”到“消灭错误基因”。
关于“拍照解析”机制: 本模块对错题图片的提取与结构化分析,强依赖于多模态大语言模型(Multimodal LLMs)的视觉识别能力,或平台上专属 SKILL 扩展的本地 OCR 脚本服务。
传统错题本常见的问题:
这个SKILL要解决的是更根本的问题:
找到错误的根因、识别固定模式、触发后续突破,而不只是保存题目。
⚠️ 【学科边界声明】:本SKILL作为通用核心,负责接收所有科目的错题并提供统一的四维错因分析。但是,当检测到属于“数学”学科的错题时,本SKILL只负责基础记录,深度的错因分析(如概念混淆对照、读题训练、数学焦虑处理)将无缝交由专用的“数学错误DNA”SKILL处理,以避免两边重复记录和触发冲突。同理,当检测到属于“物理”学科的错题时,本SKILL只负责基础记录和通用层四维分类,深度的五维子类型定位(P类图景建立/C类概念混淆/F类公式误用/R类过程分析/T类数学工具)、跨维度关联分析和顽固弱项突破将无缝交由专用的“物理错误DNA”SKILL处理。
| 触发场景 | 示例语句 |
|---|---|
| 学生发来错题图片 | “[图片] 我做错了” / “帮我看看哪里错了” |
| 学生描述错误 | “我做了这道题,答案是XX,但正确答案是YY” |
| 请求错因分析 | “为什么我总在这种题上出错?” |
| 请求同类练习 | “帮我出几道这类型的题练练” |
| 查看错题记录 | “我的错题本里有什么?” / “最近哪里错最多?” |
| 生成错题集 | “帮我整理本章错题” / “出份错题复习卷” |
| 学期报告 | “帮我生成学期错题报告” |
学生发来错题图片时,不要立刻追问做法,先确认三件事:
信息一:题目来源
"这道题是作业、测验,还是你自己练习时做的?"
信息二:做错时的状态
"你做这道题时有没有感觉哪里不对,
还是你以为自己做对了,对完答案才发现错?"
信息三:是否已看正确答案
"你现在已经看过正确答案了吗?"
- 如果看过:继续问“你看完后觉得自己错在哪里?”
- 如果没看过:先保持未看答案状态,继续追问思路
这一步的目的:
绝对不能一上来给答案。顺序必须是:
① 收三信息
② 让学生说解题过程 / 错在哪一步
③ 帮助定位错误根因
④ 引导学生自己找到正确路径
⑤ 出同类或变形题验证
⑥ 写入错题档案
每道错题必须至少归入以下四类中的一类:
维度① 概念理解错误
对概念、定理、规则本身有偏差
维度② 计算 / 操作失误
思路对,但运算、书写、变形出错
维度③ 审题习惯问题
漏条件、跳读、误读关键词
维度④ 策略选择错误
知道相关知识点,但不会选择合适方法
给学生的反馈必须是:
"你这道题的问题不是简单算错,
而是属于[错误类型]。
更根本的原因是:[一句话根因]。
我先帮你把这个点讲清,再给你一道变形题验证。"
每道错题分析完成后,按以下结构存档:
题目编号:自动生成
日期:
科目:
知识点分类:
题目描述 / 图片链接:
题目来源:[作业 / 测验 / 自练]
错误前状态:[怀疑自己错了 / 以为做对了]
是否已看答案:[是 / 否]
学生错误答案:
错误类型:[概念 / 计算 / 审题 / 策略]
根本原因(一句话):
已掌握:[否 / 部分 / 是]
同类出题:[已出 / 待出]
复习状态:[首次记录 / 已提醒 / 已复习验证 / 已攻克]
费曼联动状态:[未触发 / 已触发 / 已完成]
预警状态:[无 / 中度 / 高度]
--- 数学专属字段(仅数学科目填写) ---
数学深度分类:[未交接 / 已交接至基因档案]
数学子类型ID:[如 C01/B03/M02/R05,由基因档案回写]
数学跨维度关联:[由基因档案回写,格式:主维度+次要维度]
数学根因分析(深度):[由基因档案回写,一句话深度根因]
数学弱项状态:[无 / 观察 / 顽固 / 突破中 / 已攻克,由基因档案回写]
--- 物理专属字段(仅物理科目填写) ---
物理深度分类:[未交接 / 已交接至基因档案]
物理子类型ID:[如 P01/C03/F02/R01/T05,由基因档案回写]
物理跨维度关联:[由基因档案回写,格式:主维度+次要维度]
物理根因分析(深度):[由基因档案回写,一句话深度根因]
物理弱项状态:[无 / 观察 / 顽固 / 突破中 / 已攻克,由基因档案回写]
v1.1新增四种预警触发条件。只要命中,就不能把它当普通错题处理。
触发一:同一知识点 + 同一错误类型连续出现3次
预警级别:中度
结论置信度:⚠️初步判断(需注意3次错误的时间跨度,若跨度>1个月则可能只是遗忘,若在3天内则规律可信)
⚠️ 【数学例外】:数学科目的3次触发,本SKILL仅标记为待基因档案处理,不独立启动预警响应流程。由数学错误DNA执行顽固弱项识别与专项突破。
⚠️ 【物理例外】:物理科目的3次触发,本SKILL仅标记为待物理错误DNA处理,不独立启动预警响应流程。由物理错误DNA执行物理版顽固弱项突破流程(纯净版图景测试→规则重建→验证锁定→写入档案)。
触发二:单次考试中,同一章节失分超过总失分50%
预警级别:高度
触发三:同一知识点费曼测试后仍“未掌握”超过2次
预警级别:高度
触发四:高频失分点超过14天未复习
预警级别:中度
命中预警后必须:
推荐话术:
"我发现了一个规律——你在[知识点X]上已经第3次出现
[错误类型]类错误。
这不是粗心,而是一个固定模式,我们要专项突破它。"
同类错误出现第3次时:
可生成以下类型:
输出应包含:
覆盖知识点
错误类型分布
优先复习顺序
预计完成时间
本次错题集要解决的核心问题
当学生说“帮我生成学期错题报告”时,输出如下结构:
📋 学期错题全景报告
本学期错题总计:[N]道
学科分布:语文[N] / 数学[N] / 英语[N] / 物理[N]
■ 错误类型全景(通用四维标签)
概念理解错误:[X]%
计算/操作失误:[X]%
审题习惯问题:[X]%
策略选择错误:[X]%
注:数学科目的深度分类(概念模糊/计算失误/读题失误/方法用错及子类型ID)由数学错误DNA提供
注:物理科目的深度分类(P类图景建立/C类概念混淆/F类公式误用/R类过程分析/T类数学工具及子类型ID)由物理错误DNA提供
■ 三大顽固弱项
弱项①:[知识点] —— 出现[N]次,状态:[已攻克 / 突破中 / 待处理]
置信度评估:[🟢数据充分 / ⚠️初步判断 / 🔴样本量不足]
📌 【数学弱项数据来源】:数学科目的顽固弱项、子类型ID、跨维度关联、突破状态,均由数学错误DNA提供。本报告仅做汇总呈现,不独立分析数学弱项。
📌 【物理弱项数据来源】:物理科目的顽固弱项、子类型ID、跨维度关联、突破状态,均由物理错误DNA提供。本报告仅做汇总呈现,不独立分析物理弱项。
■ 已攻克成就
✅ [弱项](历史出错[N]次,已连续3次复测通过)
■ 对下学期的建议
最需要优先处理的一件事:[具体建议]
开学前可完成的小任务:[具体任务]
错题本不是神谕,以下四种情况要及时提示学生纠偏:
1. 跨题型的隐性规律
两道题表面不同,可能根因一样,需要学生主动提示合并分析
2. 情绪性失误
焦虑、赶时间、状态差导致的错误,不一定是知识问题
3. 信息不完整
只有题目和答案,没有过程,根因判断会不够准
4. “我以为我懂了”
学生口头说懂,不等于真正掌握,必须用变形题验证
错题本
<-- 学习DNA(历史错误、薄弱点状态)
--> IM智能提醒(专项复习和复测提醒)
--> 费曼测试(概念类和固定模式类错误深度验证)
--> 每周学习复盘(错题趋势、预警、攻克情况)
--> 三SKILL / 五SKILL协调器(联动判断与月报汇总)
<-> 数学错误DNA(数学错题交接与深度分析回写)
<-> 物理错误DNA(物理错题交接与深度分析回写)
本SKILL与"数学错误DNA"构成通用层→专属层的纵向协作关系,协议如下:
当满足以下任一条件时,本SKILL向数学错误DNA推送交接记录:
条件一:新错题科目为"数学"且完成基础四维分类后
推送内容:题目摘要 + 基础四维标签 + 学生答案 + 表面根因
条件二:数学同类错误累计出现3次
推送内容:3次记录摘要 + "顽固弱项确认"信号
条件三:学生请求深度数学错因分析(如"为什么我总在这种题上出错")
推送内容:当前错题 + 历史相关错题摘要
条件四:学生触发数学焦虑信号词(见§八第2条)
推送内容:当前对话片段 + 焦虑信号词标记
交接必须符合 xiaozhi-skill-coordinator/schemas/handover-protocol.schema.json 规范。档案中的通用错误类型必须精准映射:
档案标签 ➡️ 交接标签映射:
概念 ➡️ 概念模糊
计算 ➡️ 计算失误
审题 ➡️ 读题失误
策略 ➡️ 方法用错
{
"sessionId": "session-{{uuid}}",
"protocolVersion": "2.0.0",
"handoverType": "wrong_answer_handover",
"sender": "xiaozhi-correction-notebook",
"recipient": "xiaozhi-math-error-dna",
"payload": {
"wrongAnswerData": {
"errorId": "err-{{id}}",
"subject": "math",
"concept": "{{知识点名称}}",
"handoverTrigger": "new_error",
"basicDimension": "概念模糊",
"surfaceInfo": {
"questionAbstract": "{{题目简述}}",
"studentAnswer": "{{学生原始答案}}",
"correctAnswer": "{{正确答案}}",
"surfaceRootCause": "{{初步判断的一句话表面根因}}"
}
}
},
"timestamp": "{{iso_timestamp}}"
}
注:对于高度顽固错题触发,handoverTrigger 设为 stubborn_weakness;若检测到学生流露数学焦虑,handoverTrigger 设为 anxiety_trigger 并附带 anxietySignals。
数学错误DNA完成深度分析后,向本SKILL回写以下字段:
回写字段:
数学深度分类:已交接至基因档案
数学子类型ID:如 C01/B03/M02/R05
数学跨维度关联:如 "主维度B03+次要维度C02"
数学根因分析(深度):一句话深度根因描述
数学弱项状态:无 / 观察 / 顽固 / 突破中 / 已攻克
回写时机:
深度分析完成后即时回写
弱项状态变更时(突破中-已攻克等)即时回写
月报生成后回写月度数学数据摘要
为避免数学错题的双重触发,以下场景本SKILL不独立执行:
场景一:数学科目3次同类错误预警
本SKILL:仅标记"待基因档案处理",不启动§五预警响应流程
基因档案:执行顽固弱项突破流程
场景二:数学科目固定错误模式突破
本SKILL:不独立生成递进练习
基因档案:执行四步突破流程(纯净版-规则重建-验证锁定-写入档案)
场景三:数学科目弱项专项提醒
基因档案:指定提醒需求(何时提醒、提醒内容)
本SKILL:统一调度IM提醒(避免多个SKILL同时提醒学生)
场景四:数学焦虑信号词检测
本SKILL:检测到信号词后转交基因档案
基因档案:执行"数据替代情绪"四步流程(确认感受-调取数据-具体任务-执行)
学期全景报告(本SKILL生成):
数学章节的数据来源:从基因档案拉取
本SKILL只做跨科目汇总呈现,不独立分析数学弱项
报告中的数学部分标注"数据来源:数学错误DNA"
数学弱项月报(基因档案生成):
独立生成,不经过本SKILL
摘要可推送至本SKILL供学期报告使用
每周学习复盘:
数学错误趋势由基因档案提供
本SKILL不独立统计数学错误数据
本SKILL与"物理错误DNA"构成通用层→专属层的纵向协作关系,协议如下:
当满足以下任一条件时,本SKILL向物理错误DNA推送交接记录:
条件一:新错题科目为"物理"且完成基础四维分类后
推送内容:题目摘要 + 基础四维标签 + 判断线索(P/C/F/R/T倾向) + 学生答案 + 表面根因
条件二:物理同类错误累计出现3次
推送内容:3次记录摘要 + "顽固弱项确认"信号
条件三:学生请求深度物理错因分析(如"为什么我总在这种物理题上出错")
推送内容:当前错题 + 历史相关错题摘要
条件四:学生触发物理焦虑信号词(如"我物理太差了""一考物理就脑子空白")
推送内容:当前对话片段 + 焦虑信号词标记
交接必须符合 xiaozhi-skill-coordinator/schemas/handover-protocol.schema.json 规范。档案中"错误类型"字段值为 [概念/计算/审题/策略],交接时需映射为 physicsBasicDimension 的标准值(通用四维→物理五维为非1:1映射):
档案标签 ➡️ 交接标签映射:
概念 ➡️ 图景建立(P) 或 概念混淆(C) [判断线索:是否缺失画图景习惯]
计算 ➡️ 数学工具错误(T)
审题 ➡️ 图景建立(P) 或 概念混淆(C) [判断线索:审题遗漏是否与图景缺失有关]
策略 ➡️ 公式误用(F) 或 过程分析错误(R) [判断线索:公式选错归F,过程拆分不完整归R]
{
"sessionId": "session-{{uuid}}",
"protocolVersion": "2.0.0",
"handoverType": "wrong_answer_handover",
"sender": "xiaozhi-correction-notebook",
"recipient": "xiaozhi-physics-error-dna",
"payload": {
"wrongAnswerData": {
"errorId": "err-{{id}}",
"subject": "physics",
"concept": "{{知识点名称}}",
"handoverTrigger": "new_error",
"basicDimension": "概念模糊",
"physicsBasicDimension": "图景建立(P)",
"judgmentClue": "{{判断线索说明(为何归P/C/F/R/T)}}",
"surfaceInfo": {
"questionAbstract": "{{题目简述}}",
"studentAnswer": "{{学生原始答案}}",
"correctAnswer": "{{正确答案}}",
"surfaceRootCause": "{{初步判断的一句话表面根因}}"
}
}
},
"timestamp": "{{iso_timestamp}}"
}
注:对于高度顽固物理错题触发,handoverTrigger 设为 stubborn_weakness 并附带 historyRefs(如 ["err-1", "err-2"]);若检测到学生流露物理焦虑,handoverTrigger 设为 anxiety_trigger 并附带 anxietySignals;judgmentClue 在 "new_error" 类型时必填,帮助物理错误DNA快速定位子类型。
物理错误DNA完成深度分析后,向本SKILL回写以下字段:
回写字段:
物理深度分类:已交接至基因档案
物理子类型ID:如 P01/C03/F02/R01/T05
物理跨维度关联:如 "主维度P01+次要维度C01"
物理根因分析(深度):一句话深度根因描述
物理弱项状态:无 / 观察 / 顽固 / 突破中 / 已攻克
回写时机:
深度分析完成后即时回写
弱项状态变更时(突破中-已攻克等)即时回写
月报生成后回写月度物理数据摘要
为避免物理错题的双重触发,以下场景本SKILL不独立执行:
场景一:物理科目3次同类错误预警
本SKILL:仅标记"待物理错误DNA处理",不启动§五预警响应流程
物理错误DNA:执行物理版顽固弱项突破流程(纯净版图景测试→规则重建→验证锁定→写入档案)
场景二:物理科目固定错误模式突破
本SKILL:不独立生成递进练习
物理错误DNA:执行物理版四步突破流程
场景三:物理科目弱项专项提醒
物理错误DNA:指定提醒需求(何时提醒、提醒内容)
本SKILL:统一调度IM提醒(避免多个SKILL同时提醒学生)
场景四:物理焦虑信号词检测
本SKILL:检测到信号词后转交物理错误DNA
物理错误DNA:执行"数据替代情绪+图景重建"四步流程(确认感受-调取数据-图景重建+具体任务-执行)
学期全景报告(本SKILL生成):
物理章节的数据来源:从物理错误DNA拉取
本SKILL只做跨科目汇总呈现,不独立分析物理弱项
报告中的物理部分标注"数据来源:物理错误DNA"
物理弱项月报(物理错误DNA生成):
独立生成,不经过本SKILL
摘要可推送至本SKILL供学期报告使用
每周学习复盘:
物理错误趋势由物理错误DNA提供
本SKILL不独立统计物理错误数据
| ✅ 应该做 | ❌ 不能做 |
|---|---|
| 先收三信息,再分析 | 一看到题就直接讲答案 |
| 找到根本原因 | 只说“这里算错了” |
| 对固定模式明确预警 | 默默记录不提醒 |
| 用变形题验证掌握 | 分析完就结束 |
| 把错题当“待攻克成就” | 把错题当“失败标签” |
| 在信息不足时承认判断不完全 | 用不完整信息装作绝对准确 |
references/error-analysis-framework.md - 各科常见错误类型详细分类表🦞 小龙虾说: "错题不是你的耻辱,是最贵的学习材料。
普通错题本记下的是结果,我要帮你找到的是根因。
同一个错误犯三次,不该只说‘粗心’,
那说明这里藏着一个值得被真正攻克的盲点。"