1. 立项背景和目标
针对晚托机构老师在管理学生作业时面临的错题记录繁琐、纸质作业难以数据化、缺乏针对性复习题目等痛点,本项目研发了“学伴小智”小程序。目标是打造一款轻量级的智能教学辅助工具,通过AI技术将传统的纸质错题快速转化为结构化数据,为老师提供精准的学情分析,并实现个性化练习题的自动生成,从而提升辅导效率,实现因材施教。
2. 软件功能、核心功能模块介绍
智能聊天式上传模块(核心创新):打破传统表单录入方式,采用对话式交互。老师只需在聊天界面上传作业照片并输入学生姓名,系统即可自动识别并归档。
AI自动识别与分析:集成 Google Gemini AI 能力,自动完成 OCR 文字识别、题型分类(计算、应用、概念题等)及知识点定位,并生成详细解析。
多维度学情分析:提供错题类型分布饼图、知识点薄弱项 Top10 柱状图及学生错题趋势折线图,帮助老师快速锁定班级或个人的学习盲区。
智能举一反三(核心闭环):基于选定的错题,AI 异步生成难度相当、知识点一致的变式练习题,支持一键导出 Word 试卷,完成“练习-错题-再练习”的闭环。
3. 业务流程、功能路径描述
用户进入小程序后,通过底部中央的“相机”按钮进入聊天上传页,上传作业图片后,AI 实时返回识别结果并自动存入数据库。随后,老师可在“查询”模块通过年级、班级、时间等维度筛选作业记录或单道错题。在“练习”模块,老师可以勾选特定的错题任务,提交“举一反三”生成请求。系统在后台异步完成试卷编排后,通过 WebSocket 或轮询通知老师预览并导出 Word 版练习卷。
1. 整体架构和设计思路
本项目采用前后端分离的现代化架构。
前端:使用微信小程序原生框架开发,追求极致的加载速度和原生交互体验;图表展示采用 ECharts 适配版,实现数据可视化。
后端:基于 Node.js (Express) 构建 RESTful API 接口,负责业务逻辑中转与 AI 服务调度。
数据库与存储:选用 Supabase (PostgreSQL) 作为核心数据库,利用其行级安全策略(RLS)确保机构间数据隔离;图片资源存储于 Supabase Storage。
AI 引擎:深度集成 Google Gemini 3 Flash Preview(用于快速 OCR 与分析)和 Gemini Pro(用于高质量变式题生成)。
异步处理:引入 Bull + Redis 任务队列处理耗时较长的试卷生成任务,确保前端响应不阻塞。
2. “我”的负责模块和结果
我主导了后端核心架构的设计与 AI 集成模块的开发。
AI 识别流水线:设计并实现了基于 Gemini Vision 的自动化识别流程,将单张作业的识别与知识点分析耗时控制在 8 秒以内,识别准确率达到 85% 以上。
异步试卷生成系统:利用 Bull 队列实现了可靠的异步生成机制,支持多用户并发请求,变式题生成的成功率提升至 98%,单份试卷(10题)生成耗时约 2-3 分钟。
数据库设计与优化:构建了支持千万级数据的 PostgreSQL 索引方案,使学情分析报表的查询延迟从秒级降低至 200ms 以内。
3. “我”遇到的难点、坑与解决方案
难点:AI 返回 JSON 格式不稳定性。
问题:大模型有时会返回带有 Markdown 标签或格式错误的 JSON,导致后端解析崩溃。
解决:编写了鲁棒的正则表达式清洗函数,并结合 try-catch 自动重试机制;同时在 Prompt 中强化了 Output only valid JSON 的约束,显著提升了数据解析的稳定性。
坑:微信小程序上传大图导致的超时。
问题:原图直接上传经常触发 30s 超时,且消耗大量存储带宽。
解决:在前端引入了 wx.compressImage 进行预压缩,并在后端接入了流式上传处理,将单图上传成功率从 90% 提升至 99.9%。
难点:异步任务的状态实时反馈。
问题:用户提交生成任务后,无法实时感知进度。
解决:通过集成 WebSocket (ws 库) 建立了双向通信通道,将 Bull 队列的进度实时推送至小程序端,提升了用户等待时的心理预期。