这篇文章起源于一个朋友的“吐槽”:出题太累了。他想用AI帮忙,但AI要么跑题,要么排版一塌糊涂。于是我用一种“搭积木”的方式,帮他捣鼓了一个小工具,效果居然还不错。
说实话,我搭一个智能出题助手,最初完全是被逼的。
一个做高中数学老师的老朋友,最近找我吐槽,说他们学校改用新教材后,所有的随堂测验卷和练习题都得重新出。他是班主任,本来事情就多,现在周末回家还得在电脑前一坐就是六七个小时,对着教材和真题一道一道地改题,实在撑不住。
他也试过直接扔给大模型生成试卷,但出来的题目要么题干数据和教材案例对不上,要么知识点超纲,要么排版完全不能看,拿过来还得一题一题地复制粘贴到Word里重新排版。
他问我,你搞技术的,有没有办法帮忙解决一下?
我想了一下,还真有。
他需要的其实是一套完整的出题流水线:给教材和往年的真题,系统自动解析内容、按知识点出题、控制难度和题型分布、最后输出一份排版过得去的试卷和答案解析。听起来像是一个标准的RAG应用场景,但如果让我从头用代码写,文档解析、向量检索、知识点抽取、题型分发、排版生成…每一样都得单独开发,折腾下来少说也得一周。
后来我试了一下FastGPT的可视化工作流,发现用现成的节点把这些步骤串起来,事情就简单多了。
先说说这套出题工作流是怎么搭的。核心分几步:文档解析节点读取我上传的教材PDF和往年真题,提取出文本和表格内容;知识点提取节点把内容分成函数、几何、概率等章节类别;指令分发节点根据我指定的题型和数量(比如单选8道、多选4道、填空4道、解答题2道),把任务拆开分别送到不同的生成节点;题目生成节点让大模型严格按照原文来出题。最后试卷排版节点把题目按题号整理好,打包成Word文件,同时生成答题卡和解析答案。
全程用鼠标拖拽连线,一行代码都不用写。我前后花了大概两个晚上的业余时间,调了几次分段参数和提示词,就拿到了一份能稳定运行的初版。
第一次跑出来的试卷说实话有点糙。有一道选择题的C选项和D选项完全重复了,还有一道几何题的辅助线标注走到了版心外面。但整体的知识点覆盖还不错,确实是从上传的教材里选取的内容,没有乱出题。
有个细节值得一提:为了让题目更贴近真实的考试风格,我在出题助手里额外加了一个“历史真题风格参考”知识库,把近三年学校的真实考题喂了进去,让大模型在出题时同时参考教材内容和有限的真题样本。这样一来,题目风格就比完全凭空生成要自然很多。
其实在这个方案之前,我也试过直接用通用的AI助手生成试卷,也看过Dify和Coze这类平台的做法。Dify的生态确实更国际化,流程编排也很成熟,但有一次我帮一家教育机构试过它的知识库功能,发现数据集只能放在云端托管的向量库里,没法本地存储。对于包含大量学生信息、教师教案和真题档案的教育机构来说,这个合规隐患基本就劝退了。
Coze的国内版上下文长度有限制,处理整本教材PDF的时候得分段剪裁再上传,对于每次换教材都需要重新出题的场景额外添了很多步骤。而且Coze本身也是一个闭环社区生态,我更愿意用能完全把控数据的方案。
回头来看,技术选型的关键还是回归需求。FastGPT不是万能的,它最适配的还是“知识库+RAG”这一类场景,在教育领域变出一个智能出题助手刚好在射程之内。模板市场的设想方向是对的,但实际体验下来,每个模板拉到自己的数据集上跑一遍之后,往往还是要微调一些节点参数,不可能真的“一键到位”。对于重度用户来说,最实用的功能恐怕还是私有化部署——所有的教案数据、学生作业样本都留在本地服务器,不用过任何云服务商的接口。
最后聊下未来。我觉得类似Agent这类的工具,在教育行业的想象空间远不止自动出题这一个场景。比如自动批改作业的Agent——让学生上传手写答案图片,用OCR识别文本后走类似的评测逻辑;比如虚拟助教Agent——搭建一个学期知识库,让学生课下随时提问,Agent严格按照教材大纲来回复;再比如学情分析Agent——根据历次测验的答题记录,定位每个学生薄弱的知识点,生成个性化强化练习。这些东西现在都已经有开源框架打好了基础,欠缺的可能只是把业务流程翻译成一个又一个节点连接的工作而已。
最后还是想问一下,各位在搞RAG或者自己搭Agent的时候,有没有遇到什么特别的挑战?比如知识库召回率上不去,或者多轮对话的时候上下文丢了一半之类的。有的话评论区一起聊聊,互相帮忙避坑。