图谱体检与升级路线
一天之内知识点从 2971 个补到 5251 个,广度已经跑到了连接和可信的前面: 一半知识点没有任何边,所有知识点都没有经过人审。 要当“基础建设”,接下来该补的不是更多学科,而是把图连起来、拿到人审基线、让一个真实场景用起来。
逐项体检
“今天已修”是这次检查中发现并当场修掉的;其余是需要安排的。
| 维度 | 状态 | 现在的样子 | 问题在哪 |
|---|---|---|---|
| 覆盖广度 | 良好 | 5251 个知识点;初中化学、生物学和高中数学、生物、历史、语文、英语的课标【内容要求】覆盖 95% 以上 | 道德与法治、艺术、高中地理 / 政治 / 信息技术未补;数学选修 A 至 E 未补 |
| 连接(边) | 短板 | 6622 条边全部连在原始知识点上。按学科的连通率:地理 99%、化学 73%、物理 55%、数学 37%、语文 22%、历史 17% | 新补的 2280 个知识点一条边都没有。查漏补缺和考试诊断只能退回“同主题”这种弱关联(实测相关度 0.12) |
| 可信度 | 短板 | 人工确认 0;机器复核 57 条高风险边只有 18 条成立(32%) | 转录多为单人读图;evidence 全部由模型起草。没有准确率基线,任何“可以用于教学”的说法都站不住 |
| 口径一致性 | 待统一 | 初中年级有三种写法:物理 G8–G9、化学 G9、生物学新补 G7–G8 旧的 G7–G9 | “课标学段”和“教材开课年级”塞在同一个字段里;认知水平词表也分两套(新补以了解 / 理解为主,原有以掌握为主) |
| 查询接口 | 今天已修 | ask 一直只读原始数据,九年级“二次函数”补了 8 条仍回答“一条都没有” | 已改为默认叠加补丁,加了测试 test_ask_sees_patches |
| 数据契约 | 今天已修 | contract 只报上游原始数据的 2971 条 | 已加“补丁层”一段:叠加后数量、字段修补数、无边知识点数 |
| 可复现 | 今天已修 | 补丁的转写文本和生成脚本只在会话临时目录,会被清理 | 已归档到 research/textbook-kb/provenance/(2.4MB);脚本路径指向旧目录,要改路径才能重跑 |
| 教材对齐 | 部分 | 278 章里严格口径 143 章可按章备课;数理化生 48 册已对照实书目录页核对,42 册完全一致、6 册只差措辞 | 核对用的是旧版(2013 / 2012 / 2017 课标版),不是 2024 新版;只有人教版;小学只有数学 |
| 线上站点 | 今天已修 | k12.yongle.school/zhishi/ 已于 9 月 28 日同步(此前停在 8 月 24 日) | 新增覆盖地图、体检、复盘三页;上传前的线上文件备份在服务器 /var/www/zhishi.bak-20260928/ |
| 安全与卫生 | 待确认 | 研究目录里嵌着另一个会话误建的 worktree,已排除出提交 | 8 月贴在聊天里的服务器密码和云存储密钥是否已轮换,没有确认 |
五个用途,各自卡在哪
把“基础建设”拆成你提过的五个用途,看每个用途依赖哪几项能力。这是判断,不是实测。
升级路线
每一阶段都有一道门槛,过不去就停在这一阶段,不往下推。门槛在开跑前定,跑完不改。
拿到第一个人审基线,把口径理顺
- 抽审表发给一位老师(40 条,约 1 小时),导入后得到按学科的准确率和置信区间。这是整张图第一次有“多靠谱”的答案。
- 拆开年级字段:
stageHint只表示课标学段;另加taughtIn表示教材开课年级(按出版社),由教材目录挂接得出。三种初中写法的矛盾随之消失。 - 统一认知水平词表:两套词表做一张对照表,查询层按对照后的等级输出。
- 同步线上站点(已于 09-28 完成):把覆盖地图、复盘和抽审说明放上去,README 的边界同步改成现状。
把图连起来,先连“不需要审就成立”的边
- 结构边(可信度记为“结构事实”,不进推断):同一条课标条目拆出的兄弟;课标条目路径上的上下位;跨学段同主题的进阶链(小学方程 → 初中一元一次方程 → 一元二次方程 → 高中函数与方程)。这些边由课标本身的编排决定,不靠模型判断。
- 前置硬边只做两科:初中数学、物理。机器提议,老师审过的才进推断图。不给全图批量加机器前置边,因为上次复核只有 32% 成立。
- 重跑压力测试,看查漏补缺对新知识点能不能给出前置方向,而不只是同主题。
让一个真实场景用起来:老师备课
- 在同学产品里做最小接入:老师按“初中数学 / 物理 某一章”查到知识点、课标原文和前后关系,并能一键标“这条不对”。标注直接写进审核日志,用的过程就是审的过程。
- 作品与知识点挂接(
works.py已有雏形)接进 Creator Studio,只做“这个作品碰到了哪些知识点”,不做掌握度评分。 - 按项目规矩先写 spec、过评审,再开发;这是 G3 项目,涉及真实老师和学生。
考试诊断与家长视图
- 题目到知识点的映射(L5),加真实作答数据,用
edge_evidence反查前置边:只能证伪,不能证实。 - 家长看到的是“覆盖了哪些、还没接触哪些”,不是分数或排名;需要学生数据的隐私设计,以及家长、教师查看权分离。
今天顺手修掉的
查询层看不到补丁
备课接口一直读原始数据,和覆盖地图口径打架。已改为默认叠加补丁,并加测试。
数据契约漏了一半
契约只报上游 2971 条。现在同时报补丁层:叠加后 5251、1132 处字段修补、2571 个无边知识点。
来源凭据会丢
补丁的转写文本和脚本从临时目录归档进 provenance/,高中课标合集存到本机 data/src/。
建议暂时不做的
继续扩学科
道法、艺术、高中地理政治等可以补,但在人审基线出来之前,补得越多,未经验证的部分越大。
批量加机器前置边
上次复核 32% 成立。加一万条这样的边,诊断会给出大量看似有理、实则错误的归因。
教材全量 OCR
ChinaTextbook 最值得做的是核对和扩充教材目录(目录页),解决“章名凭记忆”,而不是整本抽取。
- 找哪位老师做第一轮抽审(懂初中数学或物理为佳)。
- 阶段三要不要启动:进同学产品需要先写 spec。
- 确认 8 月那批服务器密码和云存储密钥已经轮换;误建的 worktree 要不要清理。
数据来源:python3 -m pipeline.run contract(在用、补丁、无边知识点数);按边的 anchorId / prerequisiteId 逐学科统计连通率;
ask --chapter 二次函数 --grade 9 修复前后对比;ask --check 对补丁知识点的相关度;
curl -I https://k12.yongle.school/zhishi/(last-modified);demo/verdicts_claude.json(57 条机器复核);
python3 -m unittest discover -s tests(664 通过)。“五个用途”矩阵与各阶段门槛数值是判断,不是实测。