讲师中心 微信公众号
AI工具推荐 视频效率加速

中小学科目错题根因诊断

Polar Sponsor
爱发电 赞助
.NET 9.0

给孩子做错题根因分析的智能工具。一道错题发来,3秒内告诉你最该先补的底层知识点(不是订正这一题,而是补上"为什么错"的根本原因)。覆盖 K-9(小学+初中)七科:数学、英语、语文、物理、化学、生物、地理。底层是按教材目录手工拆解的 1500+ 知识点先修依赖图,根因定位零模型依赖,稳定可复现;验证题由对话模型实时出。

Marble K-9 七科错题诊断 · 图谱与引擎工作流

功能概述

Marble K-9 七科错题诊断 · 图谱与引擎工作流是一项面向实际任务的技能,主要用于Overview;把"Marble 那套知识图谱结构"(原子知识点 + 先修依赖 DAG + 掌握证据)落到中国 K-9 七科;

核心要点

  • 做成 错题 → 根因 诊断工具:孩子一道题做错,沿知识图谱往回反推,列出最该先查的前置根因;
  • 引擎一套(沿 DAG 反向遍历求全部祖先 + 年龄窗口/局部汇聚度排序), 各科图谱各自一张 ,复用引擎。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Marble K-9 七科错题诊断 · 图谱与引擎工作流

Overview

把"Marble 那套知识图谱结构"(原子知识点 + 先修依赖 DAG + 掌握证据)落到中国 K-9 七科, 做成错题 → 根因诊断工具:孩子一道题做错,沿知识图谱往回反推,列出最该先查的前置根因。 引擎一套(沿 DAG 反向遍历求全部祖先 + 年龄窗口/局部汇聚度排序),各科图谱各自一张,复用引擎。

当前状态(2026-07-19 收口,七科全建完 + 统一审查通过):

学科 结构 节点 边 版本 年级
数学 1-9 合并总图 371 892 人教版(部编) G1-G9
英语 1-9 合并总图 245 439 人教PEP + Go for it! G3-G9
语文 1-9 合并总图 241 455 部编(统编) G1-G9
物理 初中单图 97 202 人教版 G8-G9
化学 初中单图 58 118 人教版 G9
生物 初中单图 93 180 部编(统编) G7-G8
地理 初中单图 66 137 部编(统编) G7-G8
  • 数学/英语/语文:各 1 张图(1-9 合并总图,已内含小学+初中知识点及跨年级桥边)。
  • 物理/化学/生物/地理:初中单图即其 K-9 总图(无小学版、无跨年级桥边)。
  • 三处存储 MD5 全部一致:源(开发机知识库目录) / skill(本目录) / 归档(技能包产出物目录)。

所有图谱目录:本技能根目录下的 中国*图谱(共 7 个)。

Directory layout

<技能根目录>
├── 中国中小学数学图谱      graph.json(371节点,小学+初中合并)
├── 中国中小学英语图谱      graph.json(245)
├── 中国中小学语文图谱      graph.json(241)
├── 中国初中物理图谱        graph.json(97)+ _cn_phys_build/gen_assets/_audit
├── 中国初中化学图谱        graph.json(58)
├── 中国初中生物图谱        graph.json(93)
├── 中国初中地理图谱        graph.json(66)
├── engine                  diagnose.py(Agent主入口·对话内CLI) / app.py(引擎+7套确定性定位) / config.py / product.py(可选Web) / locate_demo.py
├── validate                review.py(技能内自洽) / review_all_3repo.py(三处MD5) / fix_graphs.py / regen_and_sync.py
├── references              locate_logic.md / restart.md / schema.md
└── scripts                 validate_graph.py / verify_locate.py(旧时代工具,见TODO③)

对话内诊断(主形态 · Agent 在聊天框里直接干)

这个 Skill 是给 Agent 用的,不是给人开网站的。 装好技能后,用户直接在对话里发一道错题,Agent 就跑诊断、在对话里给根因+验证题——不用起服务、不用开浏览器、不用贴图。

触发:用户发来错题文字 / 说「诊断这题」「为什么错」「根因是什么」「出个验证题」。

Agent 工作流(严格按此走):

  1. 判科目:从上下文或显式科目定(数学/英语/语文/物理/化学/生物/地理)。不确定就按题目内容推断,或追问一句。
  2. 判概念:用你的 LLM 理解,判断这道题最可能是哪个知识点(例如 He like playing → 一般现在时第三人称单数;直径6cm圆用6×6×3.14算面积 → 圆的面积)。
  3. 调 CLI(无需 flask,managed python 直接跑): python engine/diagnose.py --subject <科目key或中文名> --text "<概念术语> <原题文字>" 把概念术语前置进 --text,让确定性定位层锁死节点(纯原题文字有时缺术语会漏,见诚实边界)。 例:python engine/diagnose.py --subject 英语 --text "一般现在时第三人称单数 He like playing football 漏掉动词加s"
  4. 解析 JSON:ok / node_name / node_domain / roots[]。若 ok=false(没定位到),换更具体的概念术语重调一次(最多 2 次)。
  5. 在对话里回复用户(同一气泡):
    • 命中的知识点(node_name + 领域 node_domain);
    • 根因链(roots,按可疑度排序,已剔除年级/册/章容器,只留真知识点);
    • 基于最底层根因,用你(对话模型)直接出 1~2 道针对性验证题(不必调引擎里的模型)。

要点:根因 = 确定性逻辑(图谱 DAG 反推,稳定可复现,零模型依赖);验证题 = 对话模型现出。出验证题不靠引擎,靠你。

可选:看图谱依赖关系(想可视化根因怎么一层层倒推时)才用 Web:python engine/product.py 起服务开浏览器——这是辅助,不是主形态。

可选:Web 可视化(看图谱依赖关系)

仅当用户明确想看图谱与根因的依赖结构时才用(辅助,非主形态)。需 flask 装在隔离 venv(使用 WorkBuddy 管理的 Python 环境):PORT=6900 python product.py,浏览器开 http://localhost:6900。选科(数学/英语/语文/物理/化学/生物/地理,编程与剪辑不在成品内)→ 贴错题 → 点「诊断」出知识点+根因链(响应约 2 秒)。根因自动剔除年级/册/章容器。

When to use

  • 用户发来一道错题 / 说「诊断这题」「为什么错」「根因是什么」→ 走对话内诊断工作流(上节):调 engine/diagnose.py 拿根因,在对话里给根因链+验证题。这是主场景。
  • 用户说"整数学/英语/语文/物理/…"→ 建或扩展对应科目图谱。
  • 用户说"诊断定位偏了/根因不精准"→ 改 engine/app.py 的 locate_node 确定性分层,或拆复合节点为子技能。
  • 用户说"加个科目"→ 复制 _cn_xxx_build.py 模板改内容,用 GRAPH_PATH 起独立实例。
  • 改完图谱或 app.py 后必须重启服务(见 references/restart.md)。

Workflow

1. 建/扩展科目图谱(统一流水线,已验证可复用)

每科四步,产物三处同步:

  1. _cn_xxx_build.py:结构化 RAW 定义(册容器 + 知识点 + 跨年级桥边/增强边),内置 pre 引用校验 + 增量环检测(would_cycle,判据=加边前查 topic 是否已能到达 pre,写反会误删共同地基边)→ 生成 graph.json(节点含 deg=被依赖数)。
  2. gen_assets_xxx.py:从 graph.json 真源生成 HTML(含诊断模式) + xlsx + 验证报告。模板继承:事件委托点击 + Array.isArray(ev) 防御 + 动态 segs(由真实 grade 推算,跳过空学段) + 交付前 node --check 校验内联 JS。
  3. _audit_xxx.py:独立硬审计(环/悬空/孤岛/evidence类型/册容器子节点/语义簇共享根祖先),与生成脚本解耦。
  4. 三处同步 + MD5:源/skill/归档 graph.json 与 HTML 的 MD5 必须一致。

数学/英语/语文三科的图谱构建脚本曾为早期模板,其生成器缺点击加固;数据层已与后建科目对齐,审核统一用 review_all_3repo.py 覆盖。

2. 拆复合节点为细粒度子技能(提升根因精度)

当诊断把"分数加法"这类复合节点当根因、但真正薄弱在更细一层时:在 RAW 末尾加子技能节点,把原复合节点的粗粒度先修边改为指向各子技能,子技能再各自指回更底层概念。

3. 改定位逻辑(locate_node 确定性分层)— 七科已齐

engine/app.py 的 locate_node(text) 分层(越靠前越确定、越不依赖模型): ① 精确双向命中(取最长节点名优先,避免"力"误中"摩擦力")→ ①-extra 数学 _fraction_subnode(分数加减) / _ratio_node(比家族) → ①-extra 英语 _en_node → ①-extra 语文 _cn_node → ①-extra 物理 _phy_node / 化学 _chem_node / 生物 _bio_node / 地理 _geo_node → ② 语义标签 extract_tags + 确定性打分(7B 仅并列裁判)→ ③ 全量 7B 兜底。 各 _xx_node 按该科常见错误/考点关键词确定性命中,绕开不稳的 7B;由 IS_XX 网关(any(t["id"].startswith("前缀")))按图谱前缀自动生效。 铁律:定位绝不能依赖 7B(见 references/locate_logic.md)。加新科目照 ①-extra 套路建 _xx_node + IS_XX 门控即可。 详细:references/locate_logic.md。

4. 接线多科目(GRAPH_PATH 环境变量)

config.py 支持 GRAPH_PATH 覆盖(默认指数学图谱)。起某科实例: GRAPH_PATH="../中国初中生物图谱/graph.json" PORT=6805 python app.py。 app.py 诊断逻辑无需改,只读 graph.json 的 topics/dependencies。

5. 校验 / 审查 / 修复(validate/ 工具)

脚本 用途
validate/review.py 技能内自洽校验:扫本技能根目录 7 张图,查 DAG 无环/悬空/自引/重复/孤岛/evidence数组/册容器子节点/元数据。纯本地、不调 LLM。python review.py [--md]
validate/review_all_3repo.py 三处一致性审查:源/skill/归档三份 graph+HTML 算 MD5 比对 + 全结构检查,输出 Markdown 报告(覆盖全部 7 图)
validate/fix_graphs.py 数据层修复:evidence 字符串→数组、补 subject/title/edition/grade_span 顶层元数据,并三处同步
validate/regen_and_sync.py 产物重算:对"直接读 graph.json 且已加固"的科重跑生成器刷新 HTML/xlsx/报告 + 三处同步

典型流程:review.py 复验 → 发现问题 → fix_graphs.py 修数据层 → regen_and_sync.py 重算产物 → review_all_3repo.py 出三处一致报告。

6. 判卷闭环(零模型优先,不依赖大模型)

拍题 → 工具判对错 → 对了过 → 错了追根因出验证题 → 再拍判 → 循环。

  • 零模型判卷:answer_match(standard, student) 归一化比对(数字整串 / 整串互含 / 英文单词级全包含)→ True/False/None。验证题由 gen_verify 出、自带标准答案,故判对错根本不调模型。
  • /api/check:验证题作答判对错(优先 answer_match,比对不了才 grade_answer 走 LLM 兜底)。
  • /api/deeper:验证题判错后,对该根因节点 diagnose(root_id) 下钻更基础验证题,闭环。
  • 诚实边界:零模型判的是"我们出的验证题"(答案在手);孩子拍的卷子原题无标准答案库,不强判原题对错,而是直接定位根因→出验证题测(测会了=根因补上)。要覆盖原题判错需建"常见题→标准答案"库(TODO)。
  • 原理:学习机拍图判作业靠"题库+OCR+答案比对",不是大模型推理。能确定性/规则/比对解决的,就不要上大模型。

7. 重启服务(仅 Web 可视化需要;对话内诊断不依赖服务,无需此步)

只有用户要开 product.py 看图谱可视化时才需起服务,务必按此规程,否则旧字节码/旧进程污染结果: 严格按 references/restart.md:① 停旧进程(taskkill 可能静默失败,要 netstat 复核端口只剩 1 个新 PID,最稳用 TaskStop)→ ② rm -rf __pycache__ → ③ 用 WorkBuddy 管理的 Python 环境起服务(flask 已装)。 曾因跳过清缓存导致"化简比 2:3"在线仍错定位成"比例尺",清缓存重启后复测才正确。

Key facts / pitfalls

  • 图谱 schema 必须与数学图谱一致,诊断引擎零改动即可复用(失败 99% 是字段名写错)。字段枚举见 references/schema.md。
  • 诊断根因排序用「年龄窗口(目标-3岁) + 子图局部汇聚度 + 距目标近」,不能用全局被依赖数(否则所有题都指向加法/乘法)。
  • 定位绝不能依赖 7B:本机 Ollama qwen2.5:7b llama-server 会中途崩溃(HTTP 500),所有依赖 7B 兜底定位的科目在 Ollama 宕机时整条链断。七科现已全部建确定性定位层,即使 7B 死也能定位+反推根因。OCR/出验证题/原题变形仍要 LLM,Ollama 宕机优雅降级为 ai_fail(定位+根因不受影响)。
  • 判卷零模型优先(架构铁律):验证题答案在手 → answer_match 直接比对;模型只做兜底。避开了本机 7B 弱且会崩的坑。
  • 隔离 venv 路径:使用 WorkBuddy 管理的 Python 环境(flask 已装)。
  • 三处同步铁律:源/skill/归档三份 graph.json 与 HTML 的 MD5 必须一致;改真源后必须重算产物并三处同步,否则会出现"线上用旧图"的幽灵问题。
  • 重启前不清 __pycache__ = 旧逻辑/旧图谱继续生效(最隐蔽的坑);taskkill 可能静默失败,务必 netstat 复核端口只剩 1 个 PID。

已知 TODO(交付前/收尾,非 blocker)

  1. 根因列表含容器节点:diagnose 反推的"根因"偶尔带上年级/册容器节点(如"八年级下"),技术上正确但 pedagogically 无用。需在 diagnose 返回前过滤容器 id(CONTAINER_ID 规则见 validate/review.py)。
  2. 小学数/英生成器未升级:早期模板无点击加固(事件委托/Array.isArray),重跑会回退交互;其 HTML 证据已内联正确(旧 gen 自带 str→数组 防御),仅数据层已修。若要彻底统一可升级这 2 个生成器。
  3. 已移除子图目录留空:小学数/英/语和初中数/英/语 6 个子图目录已从技能包中移除(仅保留合并总图),子图源文件保留在开发机知识库中。
  4. 答案卡整卷判卷(跨会话桥接,已设计未强制):出卷会话把"答案卡" {"no","question","answer","node?"} 给本工具,家长拍卷面→extract_student(按题号切片OCR)+answer_match逐题零模型判→错题 locate_node/diagnose 出根因。/api/grade_card 为后端入口。

诚实边界(七科统一)

所有图谱均按教材目录手工拆解,覆盖全课标单元与核心知识点/考点,非学科专家逐册逐题审定。 物理/化学/生物/地理四科为初中单学段图(无小学版),无跨年级桥边、无合并三件套——已如实反映。 诊断精度上限 = 图谱拆解质量;图谱未覆盖的细分薄弱点,定位会退化到 ② 语义标签层或 ③ 7B 兜底。

对话内诊断的定位注意(重要):各科 _xx_node 是关键词门控的确定性层,需要题目文字含概念术语(如「三单」「浮力」「圆的面积」)才锁死节点。家长发来的裸错题文字往往没有术语(如纯句子 He like playing football),直接调会 ok=false 或误命中。工作流 step 2/3 已规定:Agent 先用 LLM 判断出概念,把术语前置进 --text 再调一次即可精确命中(这也是「你判断根因」的体现)。数学「圆面积」类裸文本偶尔会被「乘法符号」权重拉偏误命中「小数乘法」,同样靠前置「圆的面积」术语纠正。

目录

热门AI工具

更多
讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

0

2026.10.22

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

0

2026.10.22

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn