1. 项目概述:智能出题助手的价值与挑战
在教育科技领域,自动题目生成一直是个高频且具有挑战性的需求。传统的人工出题方式效率低下,而直接使用大语言模型(LLM)生成题目又面临着三大核心痛点:
首先是幻觉问题 - 当要求生成"数据库事务隔离级别"相关的题目时,模型可能会编造出根本不存在的隔离级别。其次是格式一致性问题,即使模型生成了正确内容,返回的JSON结构可能缺失必填字段或类型错误。最后是难度控制的难题,所谓的"中等难度"题目可能实际上过于简单或复杂。
我最近在开发一个在线教育平台时,就深刻体会到了这些痛点。平台需要为每个知识点动态生成数百道题目,人工审核每道题目的成本根本无法承受。这促使我开始探索基于SpringAI的智能出题解决方案。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型:为什么选择ReAct范式
2.1 Agent架构的核心要素
现代AI应用正在从简单的聊天模式向智能体(Agent)模式演进。一个完整的Agent需要具备四大核心能力:
- 规划(Planning):能够分解复杂任务并制定执行策略
- 记忆(Memory):保留历史交互信息作为决策依据
- 工具使用(Tools):调用外部API或数据库获取额外信息
- 反思(Reflection):评估自身输出并进行迭代优化
在题目生成场景中,这些能力对应着:
- 规划:决定先出题还是先验证
- 记忆:记录题目修改历史和验证反馈
- 工具:查询知识点数据库或计算公式
- 反思:根据评分调整题目内容
2.2 ReAct范式的优势
ReAct(Reasoning+Acting)特别适合题目生成这类需要反复迭代的任务。其核心是Thought-Action-Observation循环:
- 思考(Thought):分析当前问题(如"选项C表述不清")
- 行动(Action):执行具体操作(修改选项C的描述)
- 观察(Observation):评估行动结果(重新验证题目质量)
这种范式相比单次API调用有两个显著优势:
- 允许模型基于反馈进行自我修正
- 可以将复杂任务分解为多个可管理的步骤
3. 系统架构设计
3.1 责任链模式实现工作流
我采用责任链模式将出题流程抽象
