用途
Quiz Generator 用于生成大学水平的概念性测验,目标是测试学生对章节内容的理解而非死记硬背。它适用于创建章节末评估(end-of-chapter assessments),生成包含 50 道题的完整题库,覆盖章节所有概念,并在每次作答后提供即时反馈。
主要能力
- 生成 50 道概念性题目,要求 75% 以上达到 Apply 级别或更高,避免回忆型问题。
- 每题固定 4 个选项,正确答案均匀分布(每个索引约 12-13 题),无 3 个以上连续相同索引。
- 选项长度控制在 ±3 词以内,防止学生通过选择最长或最短选项猜测答案。
- 每次会话随机展示 15-20 道题,支持间隔重复(不同重考显示不同题目)。
- 即时反馈:每次作答后显示正确选项高亮、错误原因及 100-150 词的解析。
- 解析覆盖所有选项:解释正确答案为何正确,每个干扰项为何错误,并建立现实世界联系。
- 每题包含 source 字段,链接到具体课程以便复习。
- 提供答案重分布脚本,解决 LLM 难以均匀分布答案的问题。
使用方式
- 生成 50 道题,聚焦概念性(75%+ Apply 级别),而非回忆。
- 运行重分布脚本:
python scripts/redistribute_answers_v2.py quiz.md A,序列 A-H 提供不同分布(每个索引约 12-13 题)。 - 手动验证选项长度:为所有 50 道题的每个选项计数,确保全部在 ±3 词以内。
- 输出为 Quiz 组件格式的 Markdown 文件,文件命名模式为
##_chapter_##_quiz.md。
Quiz 组件格式示例:
---
sidebar_position: 5
title: "Chapter X: [Topic] Quiz"
---
# Chapter X Quiz
Brief intro (1-2 sentences).
<Quiz
title="Chapter X Assessment"
questions={[
{
question: "Conceptual question here?",
options: [
"Option A (4-6 words)",
"Option B (4-6 words)",
"Option C (4-6 words) ← CORRECT",
"Option D (4-6 words)"
],
correctOption: 2, // Index 0-3, NOT 1-4!
explanation: "Why C is correct (2-3 sentences). Why A is wrong (1-2 sentences). Why B is wrong. Why D is wrong. Real-world connection.",
source: "Lesson 1: Topic Title"
},
// ... 49 more questions (total: 50)
]}
questionsPerBatch={18}
/>
适用场景
- 创建章节末评估,覆盖所有章节概念。
- 需要概念性测验而非回忆型测验的教学场景。
- 支持间隔重复的交互式测验,每次重考显示不同题目。
- 需要即时反馈和详细解析的在线学习环境。
限制
- 必须生成恰好 50 道题,不能少于 50 道。
- correctOption 使用 0-3 索引,而非 1-4。
- 每题必须恰好 4 个选项。
- 所有选项长度必须在 ±3 词以内,需手动计数验证。
- 解析必须 100-150 词,覆盖所有 4 个选项。
- 必须包含 source 字段,不能有 passingScore 属性。
- 文件命名必须遵循
##_chapter_##_quiz.md模式。 - 如果验证失败,需运行重分布脚本、重新计数选项长度、检查解析引用是否匹配 correctOption;若 2 次尝试后问题仍存在,应停止并报告。