评估构建器
创建与学习目标一致的多样化问题类型(多项选择题、代码补全、调试、项目)的评估,基于常见误解设计有意义的干扰项。激活条件:教育工作者设计测验、考试或测试以衡量理解力;需要在适当的认知水平(布鲁姆分类法)上的问题;希望平衡的认知分布(60%+非记忆);或需要开放式问题的评分标准。生成具有诊断性干扰项的多项选择题、代码编写提示、调试挑战和针对深层理解的项目评估。
版本:“2.1.0” 宪法对齐:v4.0.1
目的
评估构建器技能帮助教育工作者创建全面、平衡的评估,衡量概念理解(不仅仅是记忆)。此技能生成多样化的问题类型,为多项选择题设计有意义的干扰项,将问题与布鲁姆分类法水平对齐,并为开放式问题提供评分标准。
宪法v4.0.1对齐:此技能实现了评估优先的评估设计(所有支柱的基础)——在创建评估之前定义成功标准,并集成第IIb节(AI三角色框架)共同学习评估。
评估优先评估设计(宪法v4.0.1)
关键工作流程:
- 评估优先:在设计问题之前从章节规范中定义成功标准
- 目标第二:将问题映射到学习目标(来自规范)
- 问题第三:设计测试评估的评估项目
- 验证第四:验证问题是否真的测量了评估所定义的内容
评估规划模板:
### 评估规划(评估优先)
**来源**:`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
根据常见误解创建有意义的干扰项:
流程:
- 确定正确答案
- 列出学生常犯的错误
- 为每个具体的误解创建干扰项
- 确保干扰项是合理的(不是明显错误的)
示例:
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. 停止并要求用户干预(硬失败模式)
评估必须满足质量标准:平衡的认知分布,多样化的类型,有意义的干扰项,清晰的评分标准。