评估构建器 assessment-builder

评估构建器技能帮助教育工作者创建全面、平衡的评估,衡量概念理解(不仅仅是记忆)。此技能生成多样化的问题类型,为多项选择题设计有意义的干扰项,将问题与布鲁姆分类法水平对齐,并为开放式问题提供评分标准。

在线教育 0 次安装 0 次浏览 更新于 2/28/2026

评估构建器

创建与学习目标一致的多样化问题类型(多项选择题、代码补全、调试、项目)的评估,基于常见误解设计有意义的干扰项。激活条件:教育工作者设计测验、考试或测试以衡量理解力;需要在适当的认知水平(布鲁姆分类法)上的问题;希望平衡的认知分布(60%+非记忆);或需要开放式问题的评分标准。生成具有诊断性干扰项的多项选择题、代码编写提示、调试挑战和针对深层理解的项目评估。

版本:“2.1.0” 宪法对齐:v4.0.1


目的

评估构建器技能帮助教育工作者创建全面、平衡的评估,衡量概念理解(不仅仅是记忆)。此技能生成多样化的问题类型,为多项选择题设计有意义的干扰项,将问题与布鲁姆分类法水平对齐,并为开放式问题提供评分标准。

宪法v4.0.1对齐:此技能实现了评估优先的评估设计(所有支柱的基础)——在创建评估之前定义成功标准,并集成第IIb节(AI三角色框架)共同学习评估。

评估优先评估设计(宪法v4.0.1)

关键工作流程

  1. 评估优先:在设计问题之前从章节规范中定义成功标准
  2. 目标第二:将问题映射到学习目标(来自规范)
  3. 问题第三:设计测试评估的评估项目
  4. 验证第四:验证问题是否真的测量了评估所定义的内容

评估规划模板

### 评估规划(评估优先)

**来源**:`specs/part-X/chapter-Y/spec.md`的章节规范

**规范中成功的评估**:
1. 75%+学生写出有效的规范(通过练习测量)
2. 80%+识别模糊需求(通过测验测量)
3. 学生展示共同学习(通过反思测量)

**学习目标**(来自规范):
- LO-001:编写清晰的规范
- LO-002:识别模糊需求
- LO-003:与AI伙伴有效合作

**评估设计**:
- Q1-3:测试LO-001(规范编写)→评估#1
- Q4-5:测试LO-002(识别模糊性)→评估#2
- Q6:测试LO-003(共同学习)→评估#3

不要在没有以下条件的情况下创建评估:

  • ✅ 参考经批准的规范及评估
  • ✅ 明确映射:问题→目标→评估
  • ✅ 验证问题确实测量了定义的成功标准

何时激活

使用此技能时:

  • 教育工作者需要创建测验、测试或考试
  • 设计与学习目标一致的评估
  • 创建多样化的问题类型(多项选择题、代码编写、调试、项目)
  • 需要基于常见学生错误的有意义的干扰项
  • 希望平衡的认知分布(不仅仅是回忆问题)
  • 为开放式编程问题生成评分标准
  • 评估现有评估的质量和平衡
  • 确保60%+问题测试应用或更高阶思维

输入

必需:

  • 学习目标:学习者应该能够展示什么
  • 概念/主题:要评估的Python概念

可选:

  • 问题数量:要生成多少问题
  • 问题类型:首选格式(多项选择题、代码编写、调试等)
  • 目标受众:初学者 | 中级 | 高级
  • 时间限制:可用的评估时间
  • 布鲁姆分布:期望的认知水平混合

流程

第1步:澄清评估目标

理解:

  • 要评估的具体技能/知识
  • 所需的理解深度
  • 格式限制(时间、交付方式)
  • 风险(形成性检查与高风险考试)

第2步:加载问题类型参考

读取问题类型模式:

读取reference/question-types.md

可用类型:

  • MCQ:概念识别,决策制定
  • 代码补全:应用语法,填补战略空白
  • 代码追踪:测试心理执行模型
  • 调试:错误识别和修复
  • 代码编写:根据规范实现
  • 解释:测试概念理解
  • 代码审查:评估代码质量
  • 预测:预测行为
  • 比较:区分方法
  • 项目:整合多个概念

第3步:加载布鲁姆评估对齐

读取认知水平指南:

读取reference/blooms-assessment-alignment.md

将问题类型映射到布鲁姆水平:

  • 记忆(10-15%):多项选择题回忆,术语
  • 理解(15-20%):追踪,预测,解释
  • 应用(30-40%):代码补全,简单代码编写
  • 分析(20-25%):调试,比较,代码审查
  • 评估(10-15%):最佳方法选择,权衡
  • 创造(5-10%):项目,设计问题

目标:60%+非记忆(应用和更高)

CEFR能力整合(宪法v3.1.2)

将评估难度映射到CEFR能力水平(与技能熟练度映射器对齐):

A1(初学者 - 识别)

  • 多项选择题:识别语法,识别基本概念
  • 代码追踪:预测简单、线性代码输出
  • 尚未进行调试或设计问题

A2(基础级 - 引导应用)

  • 多项选择题:在脚手架的帮助下选择正确方法
  • 代码补全:在提示下填补战略空白
  • 简单调试:在指导下识别语法错误

B1(中级 - 独立应用)

  • 代码编写:根据清晰的规范实现
  • 调试:独立发现并修复逻辑错误
  • 代码审查:评估简单代码质量

B2(中上级 - 分析)

  • 设计问题:选择适当的数据结构/算法
  • 优化:识别性能改进
  • 权衡评估:比较多个有效方法

C1(高级 - 综合)

  • 架构设计:计划系统结构
  • 复杂调试:诊断多层问题
  • 最佳实践理由:为设计决策辩护

评估设计规则:问题必须与课程目标CEFR水平相匹配(来自规范)。

三角色AI伙伴评估(第IIb节,宪法v4.0.1)

关键:AI原生开发需要评估学生与AI合作双向共同学习伙伴关系的能力(根据第IIb节强制功能),而不仅仅是独立工作。

AI的三角色 - 评估类型

1. AI作为教师(学生是否从AI学习?)

  • 反思问题:“AI提出了哪些你未曾考虑的模式或方法?”
  • 评估:“AI的三个建议中哪一个最有价值?为什么?”
  • 转移:“你如何将AI的模式应用到新问题上?”

2. AI作为学生(学生是否有效地教AI?)

  • 规范质量:“编写一个规范,第一次尝试就产生正确的代码”
  • 反馈质量:“通过提供清晰的纠正来改进AI的输出”
  • 迭代:“根据AI的初始响应完善你的提示”

3. AI作为同事(学生是否有效合作?)

  • 收敛:“展示你和AI一起完善解决方案的迭代”
  • 决策制定:“你与AI的战术建议相比,你做出了哪些战略决策?”
  • 验证:“你如何验证AI的输出是正确的?”

示例评估项目

### Q:共同学习反思(10分)

在之前的练习中,你与AI合作实现了认证。

1. AI提出了哪些你未曾考虑的模式或方法?(5分)
2. 你如何验证AI的建议是适当的?(5分)

**评分标准**:
- 优秀(10):明确识别AI建议,清晰的验证方法
- 良好(7):提到AI的一般贡献,基本验证
- 一般(4):回答含糊,未提及验证
- 差(0):没有证据表明从AI学习

AI原生内容的评估平衡

  • 60-70%:传统技能(代码编写,调试)
  • 20-30%:共同学习技能(与AI合作)
  • 10-20%:验证/验证技能(检查AI输出)

第4步:设计多样化问题集

创建5-10个具有多样性的问题:

示例分布

Q1:多项选择题(理解) - 概念检查
Q2:代码追踪(理解) - 预测输出
Q3:代码补全(应用) - 填补战略空白
Q4:代码编写(应用) - 实现功能
Q5:调试(分析) - 寻找并修复错误
Q6:代码审查(评估) - 评估质量
Q7:项目(创造) - 整合概念

避免:10个相同的多项选择题(测试记忆,而不是理解)

第5步:设计多项选择题干扰项

对于多项选择题,加载干扰项设计指南:

读取reference/distractor-design.md

根据常见误解创建有意义的干扰项:

流程

  1. 确定正确答案
  2. 列出学生常犯的错误
  3. 为每个具体的误解创建干扰项
  4. 确保干扰项是合理的(不是明显错误的)

示例

Q:在此代码之后,x包含什么?
x = [1, 2, 3]
y = x
y.append(4)

A)[1, 2, 3, 4]  ← 正确(理解引用)
B)[1, 2, 3]     ← 认为x与y无关
C)[4]           ← 误解追加
D)错误         ← 认为通过y修改是无效的

干扰项分析:
B测试:赋值与复制的理解
C测试:追加操作的理解
D测试:引用语义的理解

第6步:为开放式问题创建评分标准

对于代码编写、项目和解释,加载评分标准指南:

读取reference/rubric-guidelines.md

创建具有标准的分析性评分标准:

  • 正确性(40%):产生正确的输出
  • 代码质量(25%):可读,结构良好
  • 效率(20%):适当的算法
  • 错误处理(10%):边缘情况
  • 风格(5%):Python最佳实践

每个标准有4个级别:优秀,良好,一般,差

加载模板:

读取templates/rubric-template.yml

第7步:验证认知分布

使用验证脚本检查评估平衡:

python .claude/skills/assessment-builder/scripts/validate-assessment.py assessment.yml

脚本检查:

  • 认知分布:60%+非记忆?
  • 问题多样性:多种问题类型?
  • MCQ干扰项:提供分析?
  • 评分标准:开放式问题是否有评分标准?
  • 目标对齐:问题是否映射到目标?

查看输出:

  • 验证分数:>80是好的,<60需要修改
  • 问题:需要修复的关键问题
  • 警告:质量改进
  • 建议:具体建议

第8步:根据验证进行改进

如果验证识别出问题:

问题:“只有40%非记忆问题” 修复:用代码编写或调试替换2-3个多项选择题

问题:“MCQ缺乏干扰项分析” 修复:记录每个干扰项测试的误解

问题:“缺少代码编写的评分标准” 修复:添加具有正确性、质量、效率标准的评分标准

第9步:添加答案和解释

对于每个问题:

  • 正确答案:什么是正确的
  • 解释:为什么它是正确的
  • 常见错误:为什么干扰项是错误的
  • 评分指导:如何评分

示例

Q3:编写函数以求偶数之和

答案:
def sum_evens(numbers):
    return sum(num for num in numbers if num % 2 == 0)

解释:
- 遍历数字
- 过滤偶数(num % 2 == 0)
- 求和过滤值
- 处理空列表(sum返回0)

常见错误:
- 忘记检查if num % 2 == 0
- 使用==而不是%=进行模运算
- 未处理空列表

第10步:打包完整评估

按照模板结构化评估:

读取templates/assessment-template.yml

包括:

  • 元数据:标题,受众,时间限制,分数
  • 学习目标:正在评估的内容
  • 问题:全部带有类型、分数、布鲁姆水平
  • 答案:解决方案和解释
  • 评分标准:开放式问题
  • 认知分析:分布细分

输出格式

以结构化的markdown提供评估:

# 评估:[标题]

**目标受众**:[初学者/中级/高级]
**时间限制**:[X分钟]
**总分**:[X]
**及格分数**:[X]

## 评估的学习目标

- [目标1]
- [目标2]
- [...]

## 认知分布

- 记忆/理解:X%
- 应用:X%
- 分析/评估:X%
- 创造:X%

---

## 问题1(X分)[类型:多项选择题] [布鲁姆:理解]

[问题文本]

A)[选项]
B)[选项]
C)[选项]
D)[选项]

---

## 问题2(X分)[类型:代码编写] [布鲁姆:应用]

编写一个函数,[规范]。

**要求**:
- [要求1]
- [要求2]

**测试用例**:
1. 输入:[x],预期:[y]
2. 输入:[x],预期:[y]

---

[继续所有问题...]

---

## 答案

### 问题1
**答案**:B

**解释**:[为什么B是正确的,以及为什么A、C、D是错误的]

**干扰项分析**:
- A测试:[误解]
- C测试:[误解]
- D测试:[误解]

### 问题2
**解决方案**:
```python
[完整的正确解决方案]

验收检查

  • [ ] 规范参考存在,每个问题至少映射到一个目标ID
  • [ ] 包括目标覆盖矩阵(问题→目标ID,布鲁姆水平)
  • [ ] ≥ 60%非记忆;多种问题类型存在
  • [ ] 验证包附加:答案,解释,干扰项分析和评分标准

目标覆盖矩阵(示例)

Q1 → [LO-001](理解)
Q2 → [LO-002](应用)
Q3 → [LO-002, LO-003](分析)
...

评分标准

正确性(40分)

  • 优秀(40):适用于所有测试用例
  • 良好(30):适用于标准案例
  • 一般(20):部分功能
  • 差(10):重大错误

代码质量(25分)

  • 优秀(25):清晰名称,良好结构
  • 良好(19):大多可读
  • 一般(13):一些混乱
  • 差(6):质量差

[继续所有标准…]


[继续所有问题…]


## 示例

### 示例1:为函数创建平衡评估

**输入**:"为Python函数创建6个问题的评估(初学者水平)"

**流程**:
1. 确定目标:定义函数,使用参数,返回值
2. 设计多样性:
   - Q1:多项选择题关于函数语法(理解)
   - Q2:追踪执行(理解)
   - Q3:完成函数(应用)
   - Q4:根据规范编写函数(应用)
   - Q5:调试函数(分析)
   - Q6:结合函数的小型项目(创造)
3. 为多项选择题创建基于常见错误的干扰项
4. 为Q4,Q6添加评分标准
5. 验证(检查60%+非记忆)

**输出**:完整的6个问题评估,包括答案和评分标准

---

### 示例2:为现有多项选择题添加干扰项

**输入**:"改进这个多项选择题的干扰项"[提供问题]

**流程**:
1. 加载干扰项设计参考
2. 确定正在测试的概念
3. 列出学生的常见误解
4. 为每个误解创建诊断性干扰项
5. 文档记录每个干扰项测试的内容

**输出**:改进的多项选择题,具有有意义的、合理的干扰项和分析

---

### 示例3:验证评估平衡

**输入**:"这个评估平衡吗?"[提供10个问题的考试]

**流程**:
1. 分析认知分布
2. 检查问题多样性
3. 验证多项选择题干扰项
4. 检查开放式问题的评分标准
5. 计算非记忆百分比
6. 提供具体建议

**输出**:验证报告,包括问题和建议

## 常见模式

### 模式1:形成性评估(快速检查)

3-5个问题 30%理解(快速概念检查) 50%应用(展示技能) 20%分析(识别错误) 15-20分钟


### 模式2:总结性评估(单元考试)

10-15个问题 15%理解 40%应用 30%分析/评估 15%创造(项目) 60-90分钟


### 模式3:技能展示

5-7个问题,主要是代码编写和项目 20%应用(基本实现) 40%分析(调试,优化) 40%创造(设计和构建)


## 验证清单

在最终确定评估之前:
- [ ] 60%+问题测试应用或更高阶思维
- [ ] 使用多种问题类型(不仅仅是多项选择题)
- [ ] 多项选择题具有有意义的、诊断性干扰项
- [ ] 开放式问题有评分标准
- [ ] 问题与学习目标对齐
- [ ] 每个问题都有清晰的指示
- [ ] 提供答案和解释
- [ ] 合理的时间分配
- [ ] 验证分数>80

## 参考资料

按需加载的支持文档:
- `reference/question-types.md` - 多项选择题,代码编写,调试,项目等
- `reference/distractor-design.md` - 基于误解的干扰项创建
- `reference/blooms-assessment-alignment.md` - 认知水平和问题类型
- `reference/rubric-guidelines.md` - 分析性评分标准创建

## 错误处理

如果验证失败:
1. 报告具体问题(例如,"只有30%非记忆问题","缺少评分标准")
2. 提出补救措施(例如,"用代码编写问题替换3个多项选择题")
3. 停止并要求用户干预(硬失败模式)

评估必须满足质量标准:平衡的认知分布,多样化的类型,有意义的干扰项,清晰的评分标准。