os-taxonomy:当课程表变成有向无环图,1591 个知识点连成了一张可被 AI 查询的地图
大多数国家的课程大纲是一份 PDF 或者一个 Excel 表格。老师看它,是为了知道"这学期教什么"。家长看它,是为了知道"孩子应该学什么"。但如果你想写一个 AI 辅导系统,问它"一个 8 岁孩子还没学会加法进位,下一步该学什么"——这份 PDF 帮不了你。因为课程大纲是扁平的列表,不是可查询的图。
目录
os-taxonomy:当课程表变成有向无环图,1591 个知识点连成了一张可被 AI 查询的地图
一个被锁住的数据集
大多数国家的课程大纲是一份 PDF 或者一个 Excel 表格。老师看它,是为了知道"这学期教什么"。家长看它,是为了知道"孩子应该学什么"。但如果你想写一个 AI 辅导系统,问它"一个 8 岁孩子还没学会加法进位,下一步该学什么"——这份 PDF 帮不了你。因为课程大纲是扁平的列表,不是可查询的图。
withmarbleapp/os-taxonomy 做的事情,是把小学/初中的全部课程拆成 1,591 个"微话题"(micro-topics),然后用 3,225 条"前置依赖"边把它们连成一张有向无环图(DAG),最后对齐到 NGSS、Common Core、英国国家课程等多个国家标准。
这个数据集的核心洞察是:学习不是线性的,但课程表是。一个孩子学不会"分数除法",可能不是因为分数除法本身难,而是因为前置的"分数概念"或"除法概念"没掌握。要诊断这个问题,你需要一张从基础到高级的依赖图,而不是一份按学期排列的教学计划。
微话题:一个可教学的最小单元
os-taxonomy 的基本单元是"微话题"(micro-topic),定义为"一个单一的、可教学的想法"。比如:
- "Building sentences"(构建句子)——英语,4-6 岁
- "Apparent brightness of stars"(恒星的视亮度)——科学,9-11 岁
- 类型:conceptual(概念性)/ procedural(程序性)/ representational(表征性)/ language(语言性)/ meta(元认知)
- 描述:一段平实语言解释这个话题是什么
- 掌握证据:具体的可观察行为,比如"能区分完整句子和句子片段"
- 评估提示:如何测试孩子是否掌握了这个话题
- 中心度(centrality):这个话题在依赖图中的连接密度,衡量它有多"核心"
这个字段让 AI 辅导系统可以做优先级判断:如果孩子有多个知识缺口,先补中心度高的,因为补一个高中心度的话题可以解锁更多后续学习路径。
3225 条依赖边:学习的真正结构
os-taxonomy 最有价值的部分不是 1,591 个节点,而是 3,225 条边。每条边表示"话题 X 依赖于前置话题 Y",并且标注了:
- 强度:hard(硬依赖,没学 Y 就不可能学 X)/ soft(软依赖,没学 Y 能学 X 但会更难)
- 原因:一句话解释为什么 Y 是 X 的前置
hard/soft 的区分对 AI 辅导系统至关重要。如果孩子卡在"分数除法"上,系统需要回溯依赖图找到根因:是 hard 依赖没掌握(必须先补),还是 soft 依赖没掌握(建议补但可以继续)。没有这个区分,系统要么过度回退(把所有前置都补一遍),要么回退不足(只看直接前置,漏掉更基础的缺口)。
为什么这是 AI 需要的
大语言模型在教育场景的核心难题是诊断。给定一个学生的答题错误,模型需要判断:
1. 这个错误说明哪个微话题没掌握? 2. 这个微话题的前置链是什么? 3. 哪个前置是最可能的根因? 4. 补完根因后,下一步该学什么?
这四个问题都需要一个结构化的知识图来回答,而不是一个文本形式的课程大纲。os-taxonomy 提供的正是这个图——而且是以 JSON 格式,可以直接被 AI 系统查询。
实际上,已经有人基于这个数据集做了 MCP server,让 AI agent 可以通过工具调用来查询:"给定一个微话题 ID,返回它的所有前置依赖"、"给定一个年龄和科目,返回该年龄段的所有微话题"、"找到一个从当前掌握话题到目标话题的最短学习路径"。
数据的开放性
os-taxonomy 的另一个重要方面是开放性。README 明确指出:"Most curriculum data is either a flat list of standards or locked inside a product."(大多数课程数据要么是扁平的标准列表,要么被锁在产品里。)
Marble 把这个数据集以 CC-BY 许可发布,包含:
topics.json:1,591 个微话题节点dependencies.json:3,225 条前置依赖边curriculum-standards.json:对齐到各国家课程标准clusters.json:176 个面向家长的领域摘要teaching-research.json:1,051 条教学研究记录(教学策略、活动、评估方法),覆盖当前的科学和数学话题
一个更深的启示
os-taxonomy 的存在提出了一个更深层的问题:AI 时代的知识表示应该是什么形态?
过去,知识被表示为教科书(线性)、百科全书(树形)、课程大纲(列表)。这些表示都是为人类阅读设计的。但 AI agent 需要的不是"阅读"知识,而是"查询"知识——"X 的前置是什么"、"Y 的中心度是多少"、"从 A 到 B 的最短路径是什么"。
这些问题需要图结构来回答。os-taxonomy 把课程从"给人看的文档"变成了"给 AI 查询的图"。这个转变可能比任何单个 AI 模型的进步都更重要——因为模型的推理能力再强,如果它查询的知识是扁平的、非结构化的,它的推理也只能是浅层的。
1,591 个节点,3,225 条边,8 个学科。这不是一个课程表,这是一张可以被 AI 导航的学习地图。
*项目地址:withmarbleapp/os-taxonomy* *交互式可视化:withmarble.com/curriculum*