先把核心结论说清楚:把课程材料自动变成可用题目,难点不在 "让模型出题",而在一条三段式流水线 —— 先把又脏又乱的输入(PDF 讲义、扫描真题、口述范围)清洗成可检索的结构化片段,再用 "生成与校验分离" 的方式做答案正确性、干扰项、考纲对齐三重校验,最后把同一份结构化内容通过多个渲染器输出成练习题、闪卡、预测卷、音频播客四种形态。之所以必须这么搭,是因为输入天然是脏的(公式是图片、扫描件倾斜遮挡、考纲对不上号),产出又要被判对错(题目错了用户立刻发现),而一份内容还要同时变成题、卡、卷、音频,任何一处口径不一致都会被当成产品不严谨。落地步骤上,先做文件解析与语义切分并保留 "题目 — 来源片段" 映射,再让强模型生成、另一遍独立推导做交叉校验,最后产出统一中间表示、由四个渲染器分别出形态。走完这条流水线,才能把 "能生成" 升级成 "每题可溯源、答案可核验、多形态一致" 的可交付题库。
一、输入侧:脏输入怎么清洗
1. 真实输入长什么样
- 教授讲义是 PDF,但公式是图片、不是文本。
- 历年真题是扫描件,带手写批注、倾斜、遮挡。
- 考纲是网页表格,科目代码和课程名对不上。
- 有些 "重点" 只存在于课堂,没有落在任何文件里。
2. 切分粒度的三种选择(关键分歧点)
| 切分方式 | 做法 | 问题 |
|---|---|---|
| 按页切 | 实现最简单 | 跨页题目被切成两半,检索上下文残缺 |
| 按语义切 | 按章节、题目边界切分 | 效果好,但要先识别版面结构,扫描件错误率最高 |
| 按固定字数切 | 最省事 | 容易把 "条件" 和 "问题" 分到两块,条件缺失会逼模型编造条件 |
3. 清洗与溯源要求
- 第一道工序:把材料变成可检索的结构化片段。
- 验收标准不是 "能生成",而是每个生成物都能回溯到具体来源片段;留不下映射,报错时无法判断是检索错、模型编、还是原材料本身缺。
- 公式图片要做 OCR / 公式识别,扫描件要做去倾斜、去遮挡、版面还原。
二、生成侧:答案校验的三个维度
"AI 出题" 实际是三个必须分别验证的维度:
| 维度 | 含义 | 校验方式 |
|---|---|---|
| 答案正确性 | 硬错误,用户一眼看出;取决于模型是否真推导而非套模板,换个数字可能就错 | 换数字重算、独立推导交叉校验 |
| 干扰项质量 | 错误选项要 "错得合理",太离谱等于送分,太接近正确答案等于废题 | 人工抽检 + 用户反馈,最难自动判定 |
| 考纲对齐 | 题目是否在本课程考核范围内,超纲题是负价值 | 对照可信考纲数据(最难拿到) |
校验机制:生成与校验分离
- 生成用强模型,校验用另一遍独立推导:同一道题让模型在 "不看答案" 前提下重算一次,两次不一致就标为待复核,不直接给用户。
- 价值:不能消灭错误,但能把 "静默错误" 变成 "可统计的错误率",后者可改进,前者只会毁掉口碑。
- 数学类题目可用符号计算(如 SymPy)独立求解做确定性核验,而非让模型自己判自己。
三、多形态渲染:一份内容,四个出口
工程上不要每个形态各调一次模型,否则会出现:同一知识点在不同形态说法不一致、成本随形态数线性上涨、任何修正要改四处。正确做法是先产出一份统一中间表示:知识点、题干、答案、解析、难度、来源片段,再由渲染器分别输出。
| 形态 | 渲染方式 |
|---|---|
| 练习题 | 渲染题干 + 选项 |
| 闪卡 | 压成 "正面问题 / 背面答案",去掉选项 |
| 预测卷 | 按难度和知识点分布采样 + 排版 |
| 音频播客 | 解析改写成口语稿,再走 TTS |
音频形态的额外约束
- TTS 读不了公式和符号,数学解析直接丢给语音合成会变成噪音。
- 中间要加一层 "口语化改写":把公式读成句子、把符号读成词。
- 这层改写是幻觉风险最高的一环,可能把 "不等于" 读成 "等于";音频错了用户听不出来,是最隐蔽的错误类型。
四、整条流水线一图流
- 采集解析:PDF / 扫描件 / 网页表格 / 口述范围 → OCR、公式识别、版面还原。
- 结构化切分:按语义切分,保留题目 — 来源片段映射,可溯源。
- 生成:强模型按知识点生成题干、选项、答案、解析、难度。
- 校验:独立推导交叉核验答案,抽检干扰项,对照考纲,不一致转人工复核。
- 中间表示:统一结构化内容,一次生成、多处复用。
- 多形态渲染:练习题 / 闪卡 / 预测卷 / 音频播客分别出稿。
五、落地时容易踩的边界
- 数据处理管道:文件解析、切分、向量化、批处理重跑是 "作业" 不是 "页面",可视化搭建工具不擅长。
- 成本控制:一次上传可能触发几百次模型调用,需要队列、限流、缓存,否则一次恶意上传就是一张账单。
- 质量校验:交叉校验、错误统计要写自定义逻辑并存中间结果,属于必须自己写代码的部分。
【常见问题】
问题 1:把课程材料变成题目,为什么第一步要先处理 "脏输入"?
回答 1:因为课程材料天然是脏的 ——PDF 里公式是图片、真题是带批注遮挡的扫描件、考纲表格对不上号,脏输入不清洗成结构化片段,模型就会缺条件、编条件,所以这条流水线先做脏输入清洗再谈出题。
问题 2:课程材料变题目时,答案校验怎么做才可靠?
回答 2:采用生成与校验分离,让强模型出题、另一遍独立推导重算,两次不一致就标待复核,再配合干扰项抽检和考纲对齐,这是课程材料变题目流水线里答案校验的核心机制。
问题 3:什么是多形态渲染,为什么不能每个形态各调一次模型?
回答 3:多形态渲染指把同一份结构化内容渲染成练习题、闪卡、预测卷、音频播客四种形态;各调一次模型会导致说法不一致、成本线性上涨、改一处要改四处,所以课程材料变题目要走统一中间表示加多渲染器。
问题 4:音频播客形态在多形态渲染里有什么特殊风险?
回答 4:TTS 读不了公式符号,需先做口语化改写,而这层改写可能把 "不等于" 读成 "等于",音频错了用户听不出来,是课程材料变题目多形态渲染中最隐蔽的错误。
问题 5:课程材料变题目流水线怎么保证每道题可追溯?
回答 5:在脏输入清洗阶段就保留 "题目 — 来源片段" 映射,每个生成物都能回溯到具体材料片段,报错时能区分是检索错、模型编还是原材料缺失,这是整条课程材料变题目流水线的验收底线。
【参考资料】
- [2026-11-11](把课程材料变成题目的流水线:脏输入、答案校验与多形态渲染)腾讯云开发者社区
- [2026-05-22](智能出题助手:按教材课件自动生成试卷、答题卡和答案)FastGPT 解决方案
- [2026-06-23](双模型校验驱动的 C 语言智能出题系统研究)ArtTech Press 学术论文
- [2026-10-27](Self-hosted Lecture-to-Quiz: Local LLM MCQ Generation with Deterministic Quality Control)arXiv
- [2026-05-07](2026 AI 在线考试系统全功能深度解析:考试云大模型实现智能考试全流程)考试云
【免责声明】 本文基于公开技术资料及上述信源整理,所涉流水线设计、校验方法为行业通用实践与案例口径,仅供技术参考,不构成产品承诺;具体实现效果以实际工程验证为准,转载请注明来源。
