mcpField
C
cognitive-tutoring-architecture-designer

cognitive-tutoring-architecture-designer

github.com/garethmanning开发921149 次安装6 天前更新
代码仓库

关于 cognitive-tutoring-architecture-designer

用于设计自适应辅导系统架构的 Skill,涵盖知识组件、贝叶斯知识追踪、题目选择和逐步反馈,适合构建基于 Cognitive Tutor 框架的学科教学系统。

主要功能

  1. 01拆分可测量的知识组件
  2. 02设计贝叶斯知识追踪
  3. 03绘制组件依赖关系
  4. 04规划自适应题目选择
  5. 05设计逐步反馈架构

适用场景

  1. 01建模学生的代数掌握度
  2. 02按学生薄弱项安排练习
  3. 03将常见错误关联到具体技能

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/garethmanning/education-agent-skills --skill cognitive-tutoring-architecture-designer

安装后在 Claude Code 中输入/cognitive-tutoring-architecture-designer确认已加载。

详细介绍

认知辅导架构设计器

此技能的作用

为辅导系统设计认知架构,包括知识组件模型、知识追踪算法、题目选择逻辑和反馈架构,共同打造自适应学习体验。此技能基于 Anderson 等人(1995 年)在卡内基梅隆大学开发的 Cognitive Tutor 架构。该架构至今仍是经验证据最充分的智能辅导方法之一。Cognitive Tutor 方法以 ACT-R 理论为基础:任何领域的专业知识都可以分解为一组离散的“知识组件”(产生式规则),并可分别学习、练习和追踪。系统会维护每位学生的知识模型(知识追踪),选择针对学生尚未掌握的知识组件的题目,并在出错时提供步骤级反馈。Pane 等人(2014 年)开展了一项大规模 RAND 评估,发现与传统教学相比,Cognitive Tutor Algebra I 能提升学生的学习成果。AI 在此特别有价值,因为该架构需要实时追踪大量组件中每位学生的知识状态——这项任务在计算上并不复杂,但教师要同时管理 30 名学生,根本无法做到。

证据基础

Anderson 等人(1995 年)基于 ACT-R(Adaptive Control of Thought—Rational,自适应思想控制—理性)开发了 Cognitive Tutor。ACT-R 是一种认知架构,将人类学习建模为习得产生式规则——即 IF-THEN 知识组件。例如,在代数中,一个知识组件可以是:“如果方程的形式为 ax + b = c,那么第一步是从两边同时减去 b。”关键见解是:复杂技能可以分解为数量有限的此类组件,并能分别追踪和辅导每个组件。Cognitive Tutor 维护一个学生模型,用于估算每位学生掌握每个知识组件的概率,并选择针对薄弱组件的题目。Corbett 和 Anderson(1995 年)开发了知识追踪(KT),即追踪学生掌握程度的算法。KT 使用隐马尔可夫模型:每个知识组件都处于“已学会”或“未学会”状态(隐藏状态)。每当学生尝试一道涉及某个知识组件的题目步骤时,系统会观察该步骤是正确还是错误(可观测结果),并更新对该组件已学会概率的估算。模型由四个参数控制:P(L₀)——学生在教学前已掌握该组件的概率;P(T)——学生每次有机会时学会该组件的概率;P(G)——学生在未掌握该组件的情况下猜对的概率;P(S)——学生尽管已掌握该组件,仍然出错的概率。当 P(Lₙ) 超过某个阈值(通常为 0.95)时,即认为该组件已掌握。Koedinger 和 Aleven(2007 年)在认知辅导系统的背景下阐述了“辅助困境”:提供过多辅助(即时提示、步骤级指导)可能导致学生学会的是辅导系统的界面,而非领域知识。他们发现,最佳辅助程度取决于学生当前的知识状态——遇到困难的学生会受益于更多辅助,而水平较高的学生则会受益于更少辅助。Ritter 等人(2007 年)报告了 Cognitive Tutor Algebra 在 2,600 多所学校的部署情况,展示了这种方法的可扩展性。Pane 等人(2014 年)开展了一项由 RAND 资助的 Cognitive Tutor Algebra I 随机对照试验,发现其对代数成绩有适度但显著的积极影响,尤其是对那些按照设计方式使用系统(忠实遵循预期模型)的学生。

输入架构

教师必须提供:

  • 技能领域: 学生需要学习的内容。例如:“解线性方程——从一步方程(x + 5 = 12)、两步方程(3x + 5 = 20),到等式两边都含有变量的多步方程(4x + 3 = 2x + 11)”/“配平化学方程式”/“根据原始数据绘制和解读直方图”
  • 知识组件: 构成技能的基础要素。例如:“对于线性方程:(1)确定未知数,(2)逆运算(加法 ↔ 减法),(3)逆运算(乘法 ↔ 除法),(4)运算顺序(先撤销加法/减法,再撤销乘法/除法),(5)对等式两边执行相同运算,(6)合并同类项,(7)将变量移到等式一边”/“对于直方图:(1)识别连续数据,(2)选择合适的组距,(3)计算每个组距的频数,(4)设定坐标轴刻度,(5)绘制无间隙的条形,(6)读取直方图中的数值,(7)比较分布”

可选(如有,语境引擎会注入):

  • 学生水平: 年级和熟练程度
  • 学科领域: 课程所属学科
  • 常见错误: 常见错误及其原因
  • 掌握阈值: 判定为掌握的标准
  • 系统语境: AI、教师授课或混合模式

提示词

You are an expert in cognitive tutoring architecture, with deep knowledge of Anderson et al.'s (1995) ACT-R-based Cognitive Tutor framework, Corbett & Anderson's (1995) knowledge tracing algorithm, Koedinger & Aleven's (2007) assistance dilemma research, Ritter et al.'s (2007) large-scale deployment data, and Pane et al.'s (2014) RAND evaluation. You understand that effective tutoring systems are built on a precise cognitive model — a decomposition of the target skill into knowledge components that can be individually tracked, practised, and mastered. You know that the quality of the cognitive model determines the quality of the tutoring: a poorly decomposed skill set leads to misdiagnosis, inappropriate problem selection, and ineffective feedback.

CRITICAL PRINCIPLES:
- **Decompose into TESTABLE knowledge components.** Each component must be independently observable — there must be a problem step where the component is required and where success or failure reveals whether the student has learned it. If you can't design a problem step that isolates a component, the decomposition is too coarse.
- **Knowledge components should be at the GRAIN SIZE of learning.** Too coarse (e.g., "can solve equations") and you can't diagnose specific weaknesses. Too fine (e.g., "can subtract 7 from 22") and you're tracking arithmetic, not algebra. The right grain size is the level at which students make conceptually meaningful errors.
- **Map the dependency structure.** Some components depend on others — you can't apply an operation to both sides if you don't know the inverse operation. The problem selection logic should respect these dependencies: don't present problems requiring Component 5 if the student hasn't mastered Components 1-4.
- **Link errors to components.** Each common error should be traceable to a specific knowledge component that has not been mastered. If a student subtracts from only one side, that's a failure of the "apply to both sides" component, not a general "equation" failure. The feedback should target the specific component.
- **Mastery is probabilistic, not binary.** Knowledge tracing gives a PROBABILITY of mastery, not a certainty. A student who gets 3 in a row right might still be guessing (P(G) > 0). A student who gets one wrong might have slipped (P(S) > 0). The system should require consistent performance before declaring mastery.

Your task is to design a cognitive tutoring architecture for:

**Skill domain:** {{skill_domain}}
**Knowledge components:** {{knowledge_components}}

The following optional context may or may not be provided. Use whatever is available; ignore any fields marked "not provided."

**Student level:** {{student_level}} — if not provided, design for a general secondary school context.
**Subject area:** {{subject_area}} — if not provided, infer from the domain.
**Common errors:** {{common_errors}} — if not provided, identify the most likely errors based on the knowledge components.
**Mastery threshold:** {{mastery_threshold}} — if not provided, use P(Lₙ) ≥ 0.95 (approximately 3-4 consecutive correct applications).
**System context:** {{system_context}} — if not provided, design for an AI tutoring system.

Return your output in this exact format:

## Cognitive Tutoring Architecture: [Skill Domain]

**Domain:** [What students are learning]
**Knowledge components:** [How many, at what grain size]
**Architecture basis:** [ACT-R / knowledge tracing — cite the specific principles used]

### Knowledge Component Map

[Complete map of all knowledge components, their descriptions, their dependencies, and the observable evidence of mastery for each]

| KC ID | Knowledge Component | Description | Depends On | Evidence of Mastery | Common Error |
|---|---|---|---|---|---|
| [ID] | [Name] | [What the student knows/can do] | [Prerequisites] | [What correct performance looks like] | [What incorrect performance looks like] |

### Dependency Graph

[Visual or textual representation of which components must be mastered before others can be addressed]

### Knowledge Tracing Design

[How the system tracks mastery — the algorithm, parameters, and mastery threshold]

### Problem Selection Logic

[How the system chooses the next problem — which components to target, how to combine components, and how difficulty increases]

### Feedback Architecture

[What feedback to provide for each error type — linked to specific knowledge components]

### Example Tutoring Sequence

[A realistic sequence showing how the system would tutor a student through 5-8 problems, adapting based on their responses]

**Self-check before returning output:** Verify that (a) each knowledge component is independently testable, (b) components are at the right grain size, (c) dependencies are mapped, (d) errors are linked to specific components, and (e) mastery is treated probabilistically.

输出示例

情境: 技能领域:“解线性方程——从一步方程(x + 5 = 12)、两步方程(3x + 5 = 20),到等式两边都含有变量的方程(4x + 3 = 2x + 11)”/知识组件:“(1)确定未知数,(2)加法/减法的逆运算,(3)乘法/除法的逆运算,(4)撤销运算的顺序,(5)对等式两边执行相同运算,(6)合并同类项,(7)将变量归到等式一边”/学生水平:“八年级,开始正式学习代数的第一学期”/学科领域:“数学”/常见错误:“只对一边做减法,运算顺序错误(先除再减),不理解 3x 表示 3 × x,合并非同类项(把 3x + 5 相加得到 8x)”


认知辅导架构:解线性方程

领域: 从一步方程到等式两边都含有变量的线性方程
知识组件: 7 个,处于概念—程序粒度
架构依据: ACT-R 产生式规则模型(Anderson 等,1995),结合贝叶斯知识追踪(Corbett 与 Anderson,1995)

知识组件图
KC ID知识组件描述依赖项掌握证据常见错误
KC1识别未知数认识到 x(或任何字母)代表一个未知数值,该数值可通过方程求出无学生能说出“我们需要求出 x 的值”学生把 x 当作标签,而不是未知数值;不进行任何代数步骤,只凭观察尝试“解题”
KC2加法/减法的逆运算知道 +b 的逆运算是 −b,反之亦然KC1给出 x + 5 = 12 时,学生能指出“减去 5”是正确的运算学生用加法而不是减法(或反之);把 5 加到 12 上,而不是减去 5
KC3乘法/除法的逆运算知道 ×a 的逆运算是 ÷a,反之亦然;理解 3x 表示 3 × xKC1给出 3x = 15 时,学生能指出“除以 3”是正确的运算学生减去 3,而不是除以 3;不理解 3x = 3 × x
KC4运算顺序撤销运算时,按 BIDMAS 的相反顺序进行——先撤销加法/减法,再撤销乘法/除法KC2, KC3给出 3x + 5 = 20 时,学生先减去 5,再除以 3学生先除以 3,得到 (3x + 5)/3 = 20/3——代数上正确,但更难化简;或者只把 3x 除以 3,导致错误
KC5等式两边在一边进行的任何运算,都必须在另一边进行KC2, KC3学生写出“3x + 5 − 5 = 20 − 5”(表示在等式两边都减去 5)学生写出“3x = 20 − 5”,却没有在左边减去 5;或者只在左边减去 5,没有在右边减去
KC6合并同类项能通过合并含有相同变量的项(3x + 2x = 5x)和常数项(7 + 3 = 10)来化简表达式,并知道不能合并不同类项KC1给出 3x + 2x + 5 = 20 时,学生能正确化简为 5x + 5 = 20学生合并不同类项:3x + 5 = 8x;或者应合并同类项时没有合并
KC7合并变量项能通过对变量项应用逆运算,将变量项移到等式一边KC2, KC5给出 4x + 3 = 2x + 11 时,学生在等式两边减去 2x,得到 2x + 3 = 11学生本该减去变量项时却减去数字;或者试图在同一边同时减去 4x 和 2x
依赖关系图
KC1 (Identify unknown)
├── KC2 (Inverse +/−)
│   ├── KC4 (Operation order) ← also requires KC3
│   └── KC5 (Both sides) ← also requires KC3
├── KC3 (Inverse ×/÷)
│   ├── KC4 (Operation order) ← also requires KC2
│   └── KC5 (Both sides) ← also requires KC2
└── KC6 (Combining like terms)

KC5 (Both sides) + KC2 → KC7 (Collecting variables)
KC4 + KC5 + KC6 → Multi-step equation competence
KC4 + KC5 + KC6 + KC7 → Variables-on-both-sides competence
知识追踪设计

**算法:**贝叶斯知识追踪(Corbett & Anderson,1995)

参数(初始值,按领域校准):

参数值含义
P(L₀)0.10学生在接受任何教学前已掌握该组件的概率(对于新颖的代数概念,该概率较低)
P(T)0.20每次练习机会中学会该组件的概率
P(G)0.15不理解的情况下猜对的概率(对于多步代数题,该概率较低)
P(S)0.10失误的概率(明明掌握了却答错)
掌握阈值0.95被视为掌握该组件时的 P(Lₙ)

**更新规则:**学生在涉及 KC_i 的题目步骤中每作答一次:

  • 如果答对:P(Lₙ) = P(Lₙ₋₁)(1 - P(S)) / [P(Lₙ₋₁)(1 - P(S)) + (1 - P(Lₙ₋₁))P(G)]——然后应用学习更新:P(Lₙ) = P(Lₙ) + (1 - P(Lₙ))P(T)
  • 如果答错:P(Lₙ) = P(Lₙ₋₁)P(S) / [P(Lₙ₋₁)P(S) + (1 - P(Lₙ₋₁))(1 - P(G))]——然后应用学习更新:P(Lₙ) = P(Lₙ) + (1 - P(Lₙ))P(T)

**通俗来说:**每当学生尝试一个步骤,系统就会更新对其是否掌握相关知识组件的判断。答对会提高掌握程度估计;答错则会降低估计。但系统会考虑猜对(P(G))和粗心失误(P(S))的可能性,因此,一次答对并不能证明学生已经掌握,一次答错也不能证明学生完全不懂。通常需要连续正确应用约 3–4 次,才能达到 0.95 的掌握阈值。

题目选择逻辑

规则 1:遵循依赖关系。 如果学生尚未掌握所有先决知识组件(KC),切勿呈现需要 KC_n 的题目。

规则 2:针对最薄弱的未掌握组件。 在满足先决条件的知识组件中,选择涉及 P(Lₙ) 最低的知识组件的题目。

规则 3:逐步组合组件。 从只需要 1–2 个 KC 的题目开始。随着学生掌握各个组件,再引入同时需要 3–4 个 KC 的题目。这样可以控制认知负荷。

规则 4:穿插已掌握的组件。 偶尔加入需要使用已掌握 KC 的步骤,以防遗忘并验证学生是否仍能熟练运用。

题目难度进阶:

级别所需 KC示例题目呈现时机
1KC1、KC2x + 5 = 12开始时
2KC1、KC33x = 15KC2 掌握后
3KC1、KC2、KC3、KC4、KC53x + 5 = 20KC2、KC3 掌握后
4KC1-KC63x + 2x + 5 = 20KC4、KC5 掌握后
5KC1-KC74x + 3 = 2x + 11KC4、KC5、KC6 掌握后
反馈架构
错误模式可能未掌握的 KC反馈
学生试图通过观察猜出 xKC1“这个方程需要用代数步骤求解,而不是猜。你的目标是让 x 单独留在一边。什么运算可以帮你做到?”
学生加法而不是减法(或反之)KC2“你在等式两边都加了 5。但 x 已经加上了 5。加上 5 的相反运算是什么?”
学生从 3x 中减去 3,而不是进行除法KC3“记住:3x 表示 3 乘以 x。要撤销乘法,你需要……?”
学生在 3x + 5 = 20 中先除法再减法KC4“你直接除以了 3。但 +5 挡在前面。试着先撤销加法——这与表达式的构建顺序相反。”
学生只对等式一边进行运算KC5“你从左边减去了 5。右边呢?方程就像天平——对一边做什么,另一边也必须做什么。”
学生写出 3x + 5 = 8xKC6“你把 3x 和 5 相加得到了 8x。但 3x 和 5 是不同类型的项——一个含有 x,另一个不含。只有类型相同的项才能合并。”
学生不确定如何移项KC7“等式两边都有 x:4x + 3 = 2x + 11。要求解,先把所有含 x 的项移到一边。怎样才能从右边消去 2x?”
辅导过程示例

学生开始时所有组件的 P(L₀) 均为 0.10。

题目 1: x + 8 = 15(测试 KC1、KC2、KC5)

  • 学生写出:x = 15 - 8 = 7 ✓
  • KC1:P(L) → 0.28,KC2:P(L) → 0.28,KC5:P(L) → 0.28

题目 2: x - 3 = 10(测试 KC1、KC2、KC5——逆向运算)

  • 学生写出:x = 10 + 3 = 13 ✓
  • KC1:P(L) → 0.51,KC2:P(L) → 0.51,KC5:P(L) → 0.51

题目 3: x + 12 = 5(测试 KC1、KC2、KC5——结果为负数)

  • 学生写出:x = 5 + 12 = 17 ✗(KC2 未掌握——做了加法而不是减法)
  • 系统反馈:“你把 12 加到了 5 上。但方程表示 x 加上 12 等于 5。要撤销 +12,需要减法,而不是加法。”
  • KC2:P(L) → 0.33(降低),KC5:未更新(错误出在 KC2,而非 KC5)

题目 4: x + 12 = 5(同一道题,重试)

  • 学生写出:x = 5 - 12 = -7 ✓
  • KC2:P(L) → 0.53

题目 5: 4x = 20(测试 KC1、KC3——乘法/除法,新 KC)

  • 学生写出:x = 20 ÷ 4 = 5 ✓
  • KC3:P(L) → 0.28

题目 6: 7x = 21(测试 KC1、KC3)

  • 学生写出:x = 21 - 7 = 14 ✗(KC3 未掌握——做了减法而不是除法)
  • 系统反馈:“7x 表示 7 乘以 x。要撤销乘以 7,需要做除法,而不是减法。”
  • KC3:P(L) → 0.17

[序列继续:KC2 和 KC3 达到掌握程度(约 0.95)后,系统引入需要 KC4 和 KC5 的两步方程……]


已知限制

  1. 知识组件分解是一门艺术,而非一门科学。 不同研究人员对同一领域的分解方式各不相同。Anderson 等人提出的 ACT-R 框架提供了理论指导,但关于粒度、组件边界和依赖结构的实际决策,需要领域专业知识和迭代测试。上述分解是一种有原则的起点,而非经过验证的认知模型。

  2. 标准知识追踪假设知识状态是二元的。 Corbett 和 Anderson(1995)的模型假设每个 KC 要么“已掌握”,要么“未掌握”。但实际上,知识是连续的:学生可能只部分理解逆运算,在简单情境中能正确应用,却无法应对复杂情境。更先进的模型(例如使用神经网络的深度知识追踪)对此有所改进,但牺牲了可解释性。

  3. RAND 评估显示效果量适中。 Pane 等人(2014)发现,Cognitive Tutor Algebra I 改善了学习成果,但效果量相对较小(实施第二年为 0.22)。实际意义取决于具体情境:较小的平均效果可能掩盖特定学生子群体中更大的效果。实施忠实度是一个重要调节因素。

  4. 认知导师最适用于结构良好的领域。 线性方程、化学方程式配平等程序性领域,可以清晰地分解为知识组件。结构不良的领域(作文写作、历史分析、创造性任务)则难以进行这种分解。认知导师架构功能强大,但适用领域有限。

评论

支持 Markdown