内训考题生成Agent
目录
一、项目概述
1.1 项目背景
在金融、能源、制造等强监管行业,企业每年需要组织大量内部培训与合规考核,以确保员工掌握业务制度、风控要求与操作规范。以某城商行(本文统一脱敏称为「JL银行」)为例,其信息科技、风险合规、人力资源等条线每年需组织数十场专业考试,且每年业务制度在变化,考题命制长期依赖业务专家手工编写,费时费力。
传统人工命题模式存在三个突出痛点:
一是出题周期长,一套覆盖五种题型、含查重校验的标准试卷往往需要 2–3 个工作日;
二是质量不稳定,题目与制度原文的贴合度、知识点分布、难度梯度高度依赖出题人个人经验;
三是题库沉淀难,历史考题缺乏结构化管理,重复率高、更新慢。
随着大语言模型(LLM)技术成熟,基于企业内部制度知识库自动生成可控、可溯源、可查重的考题,成为破解这一困境的可行路径。
1.2 项目目标
- 效率目标:将单套覆盖5种题型的标准试卷的命制时间从 2–3 个工作日压缩至 5 分钟以内。
- 质量目标:题目 100% 基于企业制度或管理文件原文生成,题干、选项、答案、解析、出处五要素齐全,支持与历史题库自动查重去重。
- 覆盖目标:支持单选题、多选题、判断题、填空题、简答题五种主流题型,满足常规培训考核、合规考试、岗位认证等场景。
- 落地目标:基于 Dify 平台搭建可直接运行的工作流应用,零代码维护、可 API 集成到现有培训系统,并沉淀为可跨行业复用的资产。
1.3 项目价值
- 金融/政企的内部:考试是高频刚需,且是“政治任务”。新规出台、岗位认证、季度合规、反洗钱、消保……每一项都要“有题、有卷、有留痕、有出处”。人力出题慢、质量参差、无法追溯依据,是培训部门常年的痛。
- **可回溯:**它产出的不是题,是“带 origin 出处、可追溯、可直接进题库系统”的合规资产。代码校验节点强制
origin字段、强制 questionList 结构,这恰恰是金融机构敢用 AI 出题的前提——每道题能查到制度原文,出事能免责。
面向强监管行业的“AI 出题 + 可追溯合规”工具,替代培训岗 70% 的重复出题工时。
| 维度 | 价值体现 |
|---|---|
| 业务价值 | 培训出题降本提效,专家从重复劳动中解放,专注审核与教学设计 |
| 合规价值 | 题目可溯源至制度条款,减少「题不对规」风险,支撑监管检查 |
| 技术价值 | 形成「知识库 RAG + 题型路由 + 结构化生成 + 查重校验」可复用范式 |
| 场景价值 | 方法论可平移至企业内训、院校考试、产品认证、合规测评等场景 |
二、业务需求分析
2.1 目标用户与使用场景
| 角色 | 核心诉求 | 典型场景 |
|---|---|---|
| 培训管理员 | 快速组卷、控制题型与数量、避免重复 | 新员工入职考、年度合规考 |
| 业务/合规专家 | 题目贴合制度、答案准确、可溯源 | 专业序列认证、风控专项考 |
| HR / 教务 | 试卷格式规范、可直接打印或导入考试系统 | 岗位胜任力测评、晋升考核 |
| 系统管理员 | 易维护、可对接、数据安全 | 接入培训平台、权限与审计 |
2.2 功能性需求
2.2.1 参数化出题
用户通过结构化参数发起生成请求:题型、题目数量)、知识点内容(knowledgeContent,可由知识库检索自动填充)、历史考题(主要用于查重)。
2.2.2 五种题型覆盖
- 单选题:题干 + 4 个选项 + 1 个正确答案 + 解析 + 出处。
- 多选题:题干 + 4–5 个选项 + 2 个及以上正确答案 + 解析 + 出处。
- 判断题:题干 + 对/错答案 + 解析 + 出处。
- 填空题:题干含空位标记 + 标准答案 + 出处。
- 简答题:题干 + 参考答案要点 + 评分说明 + 出处。
2.2.3 知识库RAG
支持从企业制度库(如《专业序列管理办法》《员工培训管理实施细则》《信息科技风险管理办法》)检索知识点,题目必须基于检索到的原文生成,严禁模型臆造。
2.2.4 查重与差异化
将新生成题目与 historyQuestions 传入的历史题库比对,语义相似或实质重复的题目自动重新生成,确保同一批次内不重复、与历史题库重复率可控。
2.2.5 结构化输出
统一以 JSON 输出,字段包含题型、题干、选项、答案、解析、出处、难度等,便于下游自动排版为 Word 试卷或导入考试系统。
2.3 非功能性需求
| 类别 | 要求 |
|---|---|
| 性能 | 单套 20 题生成耗时 ≤ 60 秒(视模型响应);支持并发 |
| 可用性 | Dify 可视化工作流,非技术人员可维护提示词与知识库 |
| 准确性 | 答案与制度原文一致,出处可定位到具体的章节和条款细则 |
| 可扩展性 | 新增题型仅需新增一条分类分支 + 一套提示词模板 |
| 安全性 | 制度文档内部留存,支持本地化/私有化部署,全链路脱敏 |
| 兼容性 | 提供标准 API,可对接培训系统、考试平台、OA |
2.4 业务约束与边界
- 本系统定位为「出题辅助」,最终试卷须经业务专家审核后发布,不替代专家终审。
- 知识点来源仅限已入库的制度文档,未入库内容不生成。
- 简答题采用「参考答案要点 + 评分说明」形式,不替代人工阅卷。
三、方案设计
3.1 设计原则
- 结构化优先:用 Workflow 而非 Chatflow,输入输出均为结构化数据,便于工程集成。
- 路由解耦:不同题型用独立分支与提示词,便于逐题型调优,互不影响。
- 知识约束:题目必须来自知识库检索结果
3.2 整体技术架构
系统采用「参数输入 → 知识检索 → 题型路由 → 并行生成 → 聚合校验 → 结构化输出」的六层流水线架构,基于 Dify Workflow 编排,底层调用大语言模型,上层可对接培训系统或直接在 Dify 界面使用。
| 层次 | 组成 | 职责 |
|---|---|---|
| 接入层 | Dify Start 节点 / REST API | 接收题型、数量、知识点、历史题等参数 |
| 知识层 | Dify 知识库(向量+关键词混合检索) | 提供制度原文片段,约束生成边界 |
| 路由层 | 问题分类器(Question Classifier) | 识别题型并路由到对应生成分支 |
| 生成层 | 5 个 LLM 节点(各题型独立提示词) | 按模板生成结构化题目 JSON |
| 校验层 | 代码节点(Code) | JSON 解析、字段校验、查重去重、兜底处理 |
| 输出层 | 结束节点 / 文档导出微服务 | 返回 JSON,可选导出 Word 试卷 |
3.3 工作流

3.4 关键技术选型
| 技术项 | 选型 | 选型理由 |
|---|---|---|
| 编排平台 | Dify Workflow | 可视化、可导出 DSL、内置知识库与代码节点、易交付 |
| 大语言模型 | DeepSeek-V4-flash | Dify 内置供应商,零插件依赖,中文与指令遵循强,成本低 |
| 检索模式 | 向量 + 关键词混合检索 | 兼顾语义召回与制度条款精确匹配 |
| 结构化 | LLM JSON 输出 + 代码节点兜底 | 保证下游可解析,模型抖动时不崩 |
| 文档导出 | FastAPI + python-docx 微服务 | Dify 沙箱不能 pip install,导出能力外置复用 |
3.5 知识库设计
知识库由企业制度文档构成,每份文档按 500–1000 字符分段、overlap 100、混合检索 top_k 3–5。本项目以三份制度为示例(均已脱敏):
- 《JL银行专业序列管理办法》——支撑专业序列认证考题。
- 《JL银行员工培训管理实施细则》——支撑培训管理类考题。
- 《JL银行信息科技风险管理办法》——支撑信息科技风控合规考题。
五、迁移价值分析
本项目的核心竞争力不止于「做出一个能出题的 agent」,而在于从这一真实场景中抽象出可跨行业、跨场景复用的资产,沉淀一套能力。
5.1 代码与工具资产
| 资产 | 形态 | 复用场景 |
|---|---|---|
| 试卷生成引擎 | JSON→标准试卷 Word(含答题卡/答案键) | 企业内训、院校、认证考试通用 |
| 文档导出微服务 | FastAPI + python-docx(MD/JSON→DOCX) | 所有文档生成类 agent 共用底座 |
| 题型提示词模板库 | 5 套结构化 Prompt | 新增题型即插即用 |
| 题库查重组件 | 相似度比对 + LLM 判定 | 题库去重、营销文案去重、知识库去重 |
5.2 跨行业迁移
| 行业 | 迁移后的形态 |
|---|---|
| 金融/保险 | 合规考试、产品认证、反洗钱培训出题 |
| 制造/能源 | 安全生产规程考试、岗位操作认证 |
| 医疗/医药 | 医疗合规、药械知识考核 |
| 教育/培训 | 教辅出题、知识点随堂测、模拟卷 |
| 政企/事业单位 | 党建学习、制度考核、入职培训 |
六、测试与验收
6.1 验收标准
| 编号 | 验收项 | 验收标准 |
|---|---|---|
| AC1 | 题型覆盖 | 五种题型均能正确生成,字段完整、答案合法 |
| AC2 | 知识溯源 | 每题均含出处,且与传入知识点一致,无臆造 |
| AC3 | 数量准确 | 生成题目数量与 questionCount 一致(≤20) |
| AC4 | 查重有效 | 与历史题库重复题目被重新生成或过滤 |
| AC5 | 结构化 | 输出为合法 JSON,可被下游直接解析 |
| AC6 | 性能 | 单套 20 题生成耗时在可接受范围(≤60 秒) |
6.2 典型测试用例
| 用例 | 输入要点 | 预期结果 |
|---|---|---|
| 正常单选 | 题型=单选题,数量=5,含知识点 | 返回 5 道单选 JSON,字段齐全、有出处 |
| 多选校验 | 题型=多选题,数量=3 | 答案为数组且 ≥2 项,干扰项合理 |
| 数量边界 | questionCount=20 | 正确返回 20 题不报错 |
| 非法题型 | questionType=作文题 | 走默认分支,返回合法取值提示 |
| 查重 | historyQuestions 含与知识点相似题 | 新题与之不重复或被标记过滤 |
| 空知识点 | knowledgeContent 为空 | 走知识库检索召回原文知识后生成 |
七、项目价值与落地思考
8.1 业务价值量化方向
- 时间成本:出题周期由天级降至分钟级,预计节省 90% 以上人工出题时间。
- 人力成本:专家从「写题」转向「审题」,单位时间产出更高质量试卷。
- 质量提升:题目可溯源、查重可控,减少错题、重复题、超纲题。
- 知识沉淀:制度更新即可生成新题,题库与制度保持同步。
8.2 技术难点与解决
| 难点 | 解决思路 |
|---|---|
| 模型幻觉、题不对规 | 强制基于知识库检索结果生成,出处可追溯,提示词,模型参数 |
| 提示词约束 schema + 代码节点正则提取兜底 | |
| 题目重复 | 生成时传入历史题提示规避 |
8.3 从单点项目到可复用产品
本项目刻意采用「参数化 + 路由解耦 + 知识库驱动 + 结构化输出」的设计,使其不与某一家企业、某一套制度强绑定。真正的落地能力体现在:不仅完成了 JL银行一个出题场景,还沉淀出可复用的引擎、模板、组件与方法论,迁移到新行业只需更换知识库与少量提示词。这种「从一个场景抽象出一类能力」的工程思维,是本项目作为作品的核心亮点。
8.4 后续展望
- 接入题库管理系统,实现「入库—生成—审核—发布—考后分析」闭环。
- 引入难度自适应与知识点覆盖度算法,自动优化组卷。
- 扩展多模态题型(图解题、案例分析题)。