题库生成与审验工作流
这份文档用于把教材、讲义、知识文档或已拆分的章节 Markdown 转换为结构化题库 JSON,并对已有题库进行质量审验、查漏补缺和难度重构。
它合并了原来的两类做法:
- 按章节文件批量生成题库 JSON。
- 先拆模块,再逐模块生成深度题目,最后审验和重构。
推荐顺序:
- 如果原始文档还没有按章节拆开,先使用《将 Markdown 按章节拆分》。
- 收集题库配置参数。
- 对文档或章节进行模块拆解。
- 按章节或模块生成题目 JSON。
- 合并后进行全局审验与重构。
0. 配置参数清单
开始生成前,建议一次性准备以下信息:
- 课程名称,例如:高等数学。
- 知识文档路径,或已拆分章节文件夹路径。
- 输入文件命名模式,例如:
导论.md、第1章.md、第2章.md。 - 输出根路径。
- 输出文件夹名称,默认可用
{课程名称}-题库。 - 输出文件命名格式,例如:
{课程名称}-{章节标识}-{章节名称}.json。 - 样例 JSON 文件路径,如已有系统格式要求,必须提供。
- 处理范围,例如:从
导论到第17章。 - 每个章节或模块的题量。
- 难度分布,例如:简单/中等/困难 = 40/40/20。
- 必含题型,例如:单选、多选、判断、填空、简答、材料题。
- 公式格式要求,例如:KaTeX/LaTeX。
- 是否允许生成跨章节综合题。
- 是否要求直接创建文件,还是只在对话中输出 JSON。
1. 提取模块大纲
使用场景:上传新文档后,先让 AI 梳理脉络,划分模块并提取核心考点。这个步骤适合用在整本教材、单章文档或专题资料上。
# 角色:资深知识结构分析师
我已经提供了相关【知识文档】。请先完全理解文档中的知识体系,不要生成题目。
## 核心任务
你的唯一任务是对文档进行系统化的“模块拆解”和“考点提取”。
## 拆解规则
1. 自动评估文档的逻辑边界,将内容划分为若干核心模块,通常为 4-8 个。
2. 为每个模块提炼一个清晰名称。
3. 每个模块列出 3-5 个必须覆盖的核心考点、易错点、易混淆点或底层逻辑。
4. 不要输出题目,不要写开场白。
## 输出格式
请按以下格式输出普通文本:
模块总数:N
【模块1名称】
核心要点:要点1、要点2、要点3
【模块2名称】
核心要点:要点1、要点2、要点3
其余模块以此类推。
2. 生成题库 JSON
使用场景:拿到模块列表或章节 Markdown 后,针对每个章节/模块单独生成题目。与旧版方案相比,这里不再要求事后用 ctrl+H 替换通用 id,而是在生成时直接要求唯一 id。
# 角色:高质量题库生成专家
请基于我提供的知识文档、章节 Markdown 或模块说明,生成符合指定 JSON 结构的题库。
## 当前任务参数
- 课程名称:
- 当前处理对象类型:章节 / 模块
- 当前处理对象名称:
- 当前处理对象核心要点:
- 题量:
- 难度分布:
- 必含题型:
- id 前缀:`question_{课程标识}_{章节或模块标识}`
- 样例 JSON 文件路径或样例结构:
- 输出方式:直接创建文件 / 仅输出 JSON
- 输出文件路径:
如果上述必要参数缺失,请先一次性列出缺失项,不要直接开始生成。
## 出题原则
1. 严禁生成只需翻阅原文即可作答的“查字典题”。
2. 严禁生成单纯名词解释或死记硬背题。
3. 所有题目必须来自文档内容,不得超纲。
4. 题目应覆盖当前章节/模块的核心概念、易错点、边界条件和底层逻辑。
5. 选择题干扰项必须有真实迷惑性,优先使用概念混淆、过度外推、条件遗漏、因果倒置等方式。
6. 解析使用“简明推理摘要”,说明破题关键、干扰项问题和结论依据;不要写长篇推演。
## 难度与排序
题目按“基础辨析 -> 综合应用 -> 高阶推演”的顺序排列。
- easy:基础概念、单点辨析、常见误区。
- medium:条件变化、局部综合、反直觉应用。
- hard:多变量推演、跨章节联动、材料题或极端条件分析。
## JSON 输出要求
必须输出合法 JSON。不要包含 `//` 注释,不要在 JSON 外输出解释文字。
字段规则:
- `metadata` 必须包含:`name`、`description`、`subject`、`version`、`author`、`tags`、`createdAt`。
- `questions` 是题目数组。
- 每道题必须包含:`id`、`type`、`difficulty`、`question`、`correctAnswer`、`explanation`、`tags`。
- 选择题必须包含 `options`。
- 简答题、填空题可包含 `placeholder`。
- 材料题必须包含 `content`,其中包含 `title`、`material`、`images`。
- `id` 必须使用给定 id 前缀并追加三位序号,例如:`question_gaoshu_chapter01_001`。
- 不得生成重复 id。
- 数学或物理公式使用 KaTeX/LaTeX 语法,JSON 字符串中的反斜杠必须转义,例如 `\\frac{a}{b}`。
参考结构如下:
```json
{
"metadata": {
"name": "章节或模块名称",
"description": "基于指定文档生成的题库",
"subject": "课程名称",
"version": "1.0.0",
"author": "AI生成",
"tags": ["课程标签", "章节或模块标签"],
"createdAt": "当前 ISO 8601 时间"
},
"questions": [
{
"id": "question_course_section_001",
"type": "single_choice",
"difficulty": "medium",
"question": "题干内容",
"options": ["选项A", "选项B", "选项C", "选项D"],
"correctAnswer": 0,
"explanation": "简明推理摘要:破题关键 -> 干扰项问题 -> 结论依据。",
"tags": ["考点1", "考点2"]
}
]
}
```
## 保存规则
如果你具备文件操作能力:
1. 按输出文件路径直接创建 JSON 文件。
2. 保存成功后,仅报告:`{文件名}.json 已成功保存至 {完整路径}`。
3. 如果文件已存在,请先说明冲突并等待确认,不要覆盖。
如果你不具备文件操作能力:
1. 只输出完整 JSON 代码块。
2. 不要额外输出说明、寒暄或 Markdown 正文。
3. 批量按章节生成
使用场景:已经有 导论.md、第1章.md、第2章.md 等章节文件,需要逐章生成题库文件。
# 角色:章节题库批量生成执行者
请根据已拆分的 Markdown 章节文件,逐个生成符合样例 JSON 结构的题库文件。
## 配置参数
- 课程名称:
- 输入文件夹路径:
- 输入文件命名模式:
- 输出根路径:
- 输出文件夹名称:
- 输出文件命名格式:
- 样例 JSON 文件路径:
- 起始章节:
- 结束章节:
- 每个文件题量:
- 难度分布:
- 必含题型:
- 其他要求:
## 执行规则
1. 开始前检查配置是否完整;如有缺失,一次性列出缺失项。
2. 扫描输入文件夹,按章节顺序处理文件。
3. 每个文件的处理流程:
- 读取章节 Markdown。
- 提取第一个一级标题作为章节名称。
- 基于章节内容生成题目。
- 严格匹配样例 JSON 的字段结构。
- 使用唯一 id 前缀:`question_{课程标识}_{章节标识}`。
- 保存为指定 JSON 文件。
4. 若输入文件缺失、样例 JSON 无法解析或输出目录无法写入,立即停止并报告具体错误。
5. 每处理完一个章节,报告已保存文件,并等待我输入“继续”后再处理下一章。
4. 题库审验与重构
使用场景:已经生成题库,或拿到旧题库,需要检查覆盖率、难度、题目质量、重复 id 和 JSON 结构。
# 角色:题库质量审验官
我已经提供【知识文档】以及【待审验的 JSON 题库】。请对题库进行全局审验、查漏补缺和必要重构。
## 审验目标
1. 删除或重构“查字典题”“死记硬背题”“原文定位题”。
2. 检查题库是否覆盖文档核心模块和关键考点。
3. 检查题目难度是否符合配置。
4. 检查题型分布是否符合要求。
5. 检查是否存在重复题、重复 id、错误答案、无效解析或字段缺失。
6. 检查 JSON 是否完全合法。
## 重构规则
1. 完全合格的题目可以原样保留。
2. 平庸但有价值的题目应重构,而不是简单删除。
3. 缺失的重要考点应新增题目补齐。
4. 干扰项必须更换为真实高质量干扰项,避免凑数。
5. 解析统一改为简明推理摘要,说明破题关键和结论依据。
6. 题目顺序按“基础辨析 -> 综合应用 -> 高阶推演”重排。
7. 所有 id 必须唯一;如发现旧 id 混乱,按统一前缀重新编号。
## 输出要求
请只输出校订后的完整 JSON,不要在 JSON 外输出解释文字。输出必须是合法 JSON,不包含注释。
5. 保留与删除原则
保留:
- 能稳定复用的配置参数清单。
- 样例 JSON 约束。
- 唯一 id 规则。
- 章节批量处理规则。
- 模块拆解、题目生成、审验重构三步流程。
删除或避免:
- 事后手动
ctrl+H替换 id 的做法。 - JSON 示例中的
//注释。 - 绑定某个具体模型名称的角色描述。
- 要求完整展开长篇思维链的表述。
- 只强调题量、不强调覆盖率和质量的生成方式。