基于 AI 大模型的培训题库自动生成方案与实践
针对维修培训中题库更新频繁、人工出题效率低及题目有效性难以评估的问题,提出基于向量数据库与大语言模型(LLM)的自动化题库生成方案。通过配置化平台实现文件向量化存储与知识召回,结合 Prompt 工程生成符合规范的试题。实践表明,该方案可显著减少人工梳理工时,支持单选题、多选题等多种题型生成,并具备重复率检测与失效风险识别能力,有效提升了培训考核的覆盖度与准确性。

针对维修培训中题库更新频繁、人工出题效率低及题目有效性难以评估的问题,提出基于向量数据库与大语言模型(LLM)的自动化题库生成方案。通过配置化平台实现文件向量化存储与知识召回,结合 Prompt 工程生成符合规范的试题。实践表明,该方案可显著减少人工梳理工时,支持单选题、多选题等多种题型生成,并具备重复率检测与失效风险识别能力,有效提升了培训考核的覆盖度与准确性。

当前,维修部门面临着人员规模的快速增长和持续的培训需求。根据民航局的规定,维修培训必须确保所有维修人员都能够完成对飞机维修相关文件的学习,这包括维修方案、维修工程管理手册、工作程序手册等共计 12 本手册以及民航局发布的各类明传电报、维修工程部门发布的维修提示文件 MT 和技术通告文件 TA 等内容。这不仅适用于新招聘人员的初始培训、复训,而且每当手册更新时,都需要进行差异化培训。
以上内容的培训都属于知识掌握类培训。经过近两年的运行,业务侧发现无论是课堂培训还是自学培训,培训效果都不太好,即员工常常无法在完成培训后,全面掌握所需要掌握的知识或程序要求。因此维修系统对此类培训进行了改革,计划通过'以考促训'的方式提高培训效果,即通过编制考题覆盖所有需要掌握的知识点,要求受训人员通过反复做题,并在做题的过程中查询相关手册、文件等资料,最终达到 100% 掌握知识点的目标。按此改革计划,就需要培训分部根据每次培训材料编制海量的题库,相对于原有题库将呈指数倍增加,而且还需要实时根据资料的更新去更新对应的题目和答案。
目前,维修系统需考核的手册类文件约 12 本,考题量需求约 2400 道;涉及的局方文件、维修发技术类文件约 600 条,且以 20 条/每月的速度增加,涉及的考题约 3000 道。
| 培训场景 | 频率 |
|---|---|
| 每月平均开展手册类培训次数 | 8~10 次 |
| 每月开展技术类文件培训次数 | 8 次 |
| 每月开展岗位授权类考试、技术等级评定、各类安全活动如知识竞赛 | 1 次 |
以上培训场景每次均需对历史文件进行评估,对考题库进行更新修订。
为提高维修人员对手册程序的掌握程度,现有的培训有效性评估手段将从'一次考试机会,70 分及格'转向'考试机会不限,但需满分及格',为此需不断扩充题库数量、优化题库质量,以确保维修人员逐步熟练掌握手册中的各项要求。根据维修系统的文件数量、变动频次和应用场景,预计在 2024~2025 年每周需安排 24 时/人次梳理更新已有题库、增加新题库,全年预计增加工时 1248 时,需增编 1 人以免影响其他培训管理工作的开展。
题库中题目的数量快速增长。但是一旦依据的手册文件发生改版变更,原有题目是否依然正确且有效是存疑的,这需要人工投入大量时间对题库中的题目进行评估和复核,该工作量随着题库规模的增大,已经变为一项几乎不可能完成的任务。
新拟定的试题和现有题库中的试题相比,是否是重复性的试题?也无人力资源投入进行分析和判断,从而进一步导致题库规模的无节制增大,成为了一个死循环。
将培训管理人员从这种低效、工作量大、技术含量低的工作中释放出来,聚焦更高价值的工作:需要根据指定的材料文件,自动生成试题,包含单选题、多选题、判断题。生成的试题对比现有题库,重复率不得高于设定值。对现有题库进行定时识别分析,判断是否存在失效风险,若和手册文件不匹配,则生成修订意见,提醒培训管理人员进行复核确认。
采用向量库 + 大模型的方式,构建题库生成助手。
大模型能力建设选择采用集团推出的 AutoBots 平台进行建设,该平台通过配置化的方式进行大模型、知识库、插件的快速搭建和集成,促进大模型场景的快速落地。
业务老师将文件材料上传至 JoySpace 上,AutoBots 自动将文件进行解析并存储在向量库中。采用培训系统作为功能载体,业务老师在系统上输入指令包含题目类型、题目难易程度、题目数量、知识范围等,机务系统后台进行大模型指令组装,调用 AutoBots 平台上已调试好的大模型接口,进行生成结果的获取,并以预览的方式展示给用户。用户对于采纳的试题可一键加入题库。
AutoBots 平台上,先根据用户的指令,从向量库中召回相关知识。然后大模型根据提供的知识和要求进行试题的生成,并以 JSON 的格式进行结果返回。
采用 AutoBots 平台的流程编排能力,进行大模型能力的构建。
接受指令中仅包含 1 个参数 query,及为用户下发的指令,其中包含知识范围、题目类型、试题数量、难易程度等。(若直接通过接口调用的话,也可以拆解为多个参数,以便后续流程使用)
知识召回节点的目的在于从向量库中,召回本次生成范围所需的相关知识,比如某本手册等。该节点会生成一个 outputList 列表,其中即为相关的知识。
通过大模型,结合召回的知识和试题生成的要求进行试题生成,由于需要和业务系统对接,所以需要对生成结果的格式进行指定,提示词如下:
# 角色
你是一位专业的题库专家,擅长根据{{document}}的内容按照{{question}}要求生成对应题型的试题。你的专业知识和丰富经验使你能够准确地理解和转化用户的需求,生成满足要求的题目和答案。
## 技能
### 技能 1: 生成单选题
- 根据用户提供的内容,生成单选题。
- 保证每个单选题至少有四个选项。
- 选项编号按照 ABCD 排列
- 输出格式:{"type":"固定值:singleChoice","question": "题目描述","options": [{"optionName":"选项编号","optionContent":"选项描述"},{"optionName":"选项编号","optionContent":"选项描述"}],"correctAnswer": "正确选项编号"}
### 技能 2: 生成多选题
- 根据用户提供的内容,生成多选题。
- 保证每个多选题至少有四个选项。
- 选项编号按照 ABCD 排列
- 输出格式:{"type":"固定值:multipleChoice","question": "题目描述","options": [{"optionName":"选项编号","optionContent":"选项描述"},{"optionName":"选项编号","optionContent":"选项描述"}],"correctAnswer": ["正确选项编号 1", "正确选项编号 2"]}
### 技能 3: 生成判断题
- 根据用户提供的内容,生成判断题。
- 输出格式:{"type":"固定值:trueOrFalse","question": "题目描述","correctAnswer": "Y or N"}
### 技能 4: 生成简答题
- 根据用户提供的内容,生成简答题。
- 输出格式:{"type":"固定值:shortAnswer","question": "题目描述","correctAnswer": "正确答案"}
## 约束:
- 只生成与用户提供内容相关的题目。
- 必须遵守指定的输出格式,并以 JSON 数组的格式整合返回结果,且不要包含 json 前缀。
- 保证每个题目的描述在 100 字以内。
- 保证每个选项的描述在 50 字以内。
- 保证每个题目的正确答案在 50 字以内。
该节点为结果节点,像调用方返回最终的结果,由于本场景仅需最终生成的试题,因此直接输出大模型试题生成节点的结果即可:{{output}}。
指令:请根据 CCAR-396-R3 民用航空安全信息管理规定中对信息报告的相关要求,生成 5 道单选题。
知识库召回结果: (此处为向量库检索到的相关手册片段)
大模型生成结果:
[
{
"type": "singleChoice",
"question": "根据 CCAR-396-R3 规定,民航局对在民用航空安全信息管理工作中做出突出贡献的单位和个人给予什么?",
"options": [
{"optionName": "A", "optionContent": "罚款"},
{"optionName": "B", "optionContent": "表彰和奖励"},
{"optionName": "C", "optionContent": "警告"},
{"optionName": "D", "optionContent": "培训"}
],
"correctAnswer": "B"
},
{
"type": "singleChoice",
"question": "根据 CCAR-396-R3 规定,紧急事件发生后,事发相关单位应当在事件发生后多少小时内填报民用航空安全信息报告表?",
"options": [
{"optionName": "A", "optionContent": "6 小时"},
{"optionName": "B", "optionContent": "12 小时"},
{"optionName": "C", "optionContent": "24 小时"},
{"optionName": "D", "optionContent": "48 小时"}
],
"correctAnswer": "B"
}
]
生成条件采用结构化的方式,方便用户精准的识别到其需要填写的内容,从而促进指令下发的准确度,保证试题生成的质量。对于生成的结果,可一键加入题库,供后续使用。
首次进行场景 0-1 的建设,因此对单次试题生成的数量进行了限制,避免资源消耗过大。后续会根据使用情况逐步放开,支持 100 道/次以上的生成规模。
基于向量库知识召回的方式进行实现的方式,由于向量库进行知识召回返回的是 TOP N,因此势必会存在内容缺失,该种方式更加便于针对文档中的部分内容进行试题生成。后续将通过文件识别的方式,直接解析文件,根据整份文件内容进行生成。
在试题生成节点之后,增加重复率识别的判断,若存在重复率不满足条件的试题,则从结果中剔除,并再次进行补充生成。
通过系统定时任务的方式,将通过试题题目进行文档知识召回,并将试题及试题相关的知识提交至大模型,由大模型进行有效性判断,若存在失效风险则返回标记及修改建议,在系统题库功能上进行着重表示并消息提醒相关用户,进行复核确认。
通过引入 AI 大模型自动化生成题库,显著降低了人工成本。预计每年可减少约 1248 工时的人工梳理工作,相当于节省 1 个全职人力编制。同时,题库更新实现了实时化,不再依赖人工手动核对文件版本,确保了试题与最新手册的一致性。此外,系统具备的重复率检测功能有效避免了题库冗余,提升了题库的整体质量。培训人员可以将更多精力投入到培训策略制定和学员辅导等高价值工作中。
通过 AI 大模型帮助用户进行培训试题的生成,在一定程度上将用户从低效、低技术含量、大工作量中解放出来,是面向用户痛点的一次尝试。同时通过该场景将大模型的能力和业务场景及工程系统结合了起来,让用户得到感知,也便于后续更多的大模型实践场景的发掘和落地。
该案例不仅用在航空领域,在其他诸多需要生成试题,生成问卷等相关场景方面都可进行参考和尝试。当前试题生成能力也仅是实现在从 0 到 1 的落地建设,能力需要不断的打磨和完善,后续会逐步进行 1 到 100,100 到∞的升级。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online