一、前言

随着高校数字化教学改革推进,Python 数据分析、人工智能、金融量化等课程实训需求持续暴涨,但传统线上实训平台普遍存在实训案例固化、更新成本高、学生编程卡点无即时指导、教学数据割裂、缺少智能辅助等痛点。教师新增实训内容需要修改前后端代码,学生代码报错只能等待线下答疑,班级学情无法量化分析,严重制约实操教学效果。

针对以上行业痛点,本文基于 Vue3+FastAPI 前后端分离架构,设计并实现智析 AI 大数据智能实训平台。平台核心创新为 Manifest 元数据驱动通用实验引擎,实现零代码拓展实训关卡;自研安全 Python 代码沙箱与多模式自动评测引擎;搭建「本地 RAG 离线知识库 + Coze 国内智能体」双轨 AI 助教体系,完全规避境外大模型访问不稳定问题,构建学生自主实训、AI 全程辅助、教师精准管控的完整教学闭环,可直接用于高校《Python 金融数据分析与挖掘》等课程常态化实训教学。

二、系统整体需求与痛点分析

2.1 传统实训平台现存痛点

  • 实训内容迭代成本高:实验关卡硬编码写入业务代码,新增 / 修改案例需要开发人员调整前后端,教师无法自主维护实训资源;
  • 编程实训缺乏安全隔离:学生恶意代码、死循环、网络请求易造成服务器卡顿、数据泄露;
  • 考核方式单一:仅支持运行结果比对,无法校验代码逻辑、语法规范,评测精度不足;
  • 答疑资源不足:课堂教师无法一对一实时解决代码报错、知识点疑问,学生卡点积累丧失学习兴趣;
  • 教学数据孤岛:实训记录、作业成绩、课堂签到相互独立,无统一学情看板,无法实现数据驱动精准教学;
  • AI 服务可用性差:多数平台依赖境外大模型,网络受限场景下智能功能直接失效。

2.2 平台核心建设目标

  • 自研 Manifest 元数据通用实验引擎,上传标准化 ZIP 包即可新增实训模块,做到零代码拓展;
  • 搭建程序编程 + 可视化界面双实训模式,兼顾零基础入门与高阶代码实操;
  • 实现隔离式代码沙箱 + 多规则自动评测,全流程自动化实训考核;
  • 构建离线 RAG+Coze 智能体混合 AI 体系,多级降级保障无网络也可基础答疑;
  • 打通备课、课堂、作业、批阅、学情分析全流程,形成教学闭环;
  • 基于 ECharts 实现实训结果、班级学情、个人知识图谱可视化展示。

三、系统整体架构与技术选型

3.1 技术栈整体方案

平台采用标准前后端分离架构,兼顾开发效率、运行稳定性与高校部署兼容性:

分层 技术方案 版本说明
前端 Vue3 + Vite + Element Plus + Pinia + ECharts/GL Vue3.5、ECharts6.1,支持 2D/3D 可视化
后端 FastAPI + SQLAlchemy + Python3.10+ 高性能异步接口,适配高并发实训场景
数据库 MySQL8.x 存储用户、班级、作业、学情等业务数据
AI 能力 本地轻量化 RAG、Coze 智能体 API 纯国内可用,无境外模型依赖
运行安全 独立子进程沙箱、JWT 权限鉴权 隔离学生代码,分级管控用户权限

3.2 整体业务流程

  1. 数据预处理:教材配套 CSV 金融数据集、实训代码素材通过标准化流水线清洗,依托 Manifest 配置完成资源封装;
  2. 通用实验引擎:解析 manifest.json 自动渲染实训页面、挂载数据集、加载测试用例;
  3. 代码运行评测:学生代码传入隔离沙箱执行,多模式评测引擎自动打分、输出错误明细;
  4. 混合 AI 中台:优先调用 Coze 智能体,网络异常自动降级本地 RAG 离线答疑;
  5. 师生业务层:学生端闯关实训、AI 答疑、成长档案;教师端班级管理、作业发布、学情分析、资源入库;
  6. 可视化输出:实训图表、班级学情、个人薄弱知识图谱前端动态渲染展示。

四、核心模块详细设计与实现

4.1 Manifest 元数据驱动通用实验引擎(平台核心创新)

传统平台实训关卡与业务代码强耦合,本平台自定义标准化 Manifest 元数据规范,所有实训模块打包为 ZIP 资源包,目录结构统一:

your_module.zip
├── manifest.json  # 关卡元数据、评测用例、可视化配置
├── data/          # CSV实训数据集
├── programs/      # 学生初始代码
├── demos/         # 参考答案、演示代码
└── assets/        # 附件教学素材

manifest.json 可定义关卡 ID、章节归属、测试用例、图表类型、前置解锁关卡等全部配置,引擎执行流程:

  1. 教师上传 ZIP 包,后端自动解压、解析 manifest 配置;
  2. 全局关卡注册表自动注册新模块,无需修改一行业务代码;
  3. 前端读取元数据动态生成专属实训界面,自动挂载数据集、任务文档;
  4. 学生提交代码后,引擎读取 test_cases 规则自动完成评测打分。

同时兼容无 manifest 的教材目录包,自动按文件顺序生成「关卡 1、关卡 2」,降低教师资源制作门槛。

4.2 安全代码沙箱与多模式自动评测系统

4.2.1 轻量化隔离 Python 沙箱

为防止死循环、恶意文件读写、违规网络请求,采用独立子进程隔离运行学生代码,内置 5 秒超时销毁、全局禁用网络、环境权限隔离三重防护,核心逻辑:

def run_code(code: str, timeout: int = 5):
    env = os.environ.copy()
    env["NO_NETWORK"] = "1"  # 禁止网络访问
    try:
        result = subprocess.run(
            ["python", "-c", code],
            capture_output=True, text=True, timeout=timeout, env=env
        )
        return {"stdout": result.stdout, "stderr": result.stderr, "returncode": result.returncode}
    except subprocess.TimeoutExpired:
        return {"error": "代码运行超时,请检查死循环"}

沙箱区分自测运行、正式提交两种模式:自测不计分,仅返回日志调试;正式提交执行全套评测用例计入成绩。

4.2.2 多模式 test_runner 评测引擎

支持 5 类可自由组合的评测规则,覆盖 Python 大数据全场景考核:

  • source_contains:检测代码是否包含指定核心函数 / 语法;
  • run_ok:校验代码无报错正常运行;
  • contains:校验输出结果包含指定文本;
  • 浮点返回值比对:自定义精度容差,规避浮点运算误判;
  • ASR 识别准确率:适配语音识别类实训关卡。

评测完成后逐用例展示详细失败原因、预期结果与实际输出,报错信息精细化展示,方便学生定位问题。

4.3 混合 AI 能力体系:本地 RAG + Coze 智能体多级降级

平台摒弃不稳定境外大模型,搭建离线兜底 + 在线增强双轨 AI 架构,内置自动降级容错逻辑,断网环境基础答疑功能不中断。

4.3.1 本地轻量化 RAG 检索增强(离线底座)

RAG 模块不依赖任何外部接口,独立完成知识点检索,知识库来源包含:实训 manifest 知识点、参考代码、教师上传讲义、历史问答库。采用 jieba 中文分词 + 关键词重叠打分,标题匹配加权提升检索精度,自动将当前关卡任务、学生代码、报错信息注入检索上下文,实现场景化答疑。网络中断时,RAG 承担全部 AI 问答能力,保障基础教学服务可用。

4.3.2 Coze 智能体双通道接入

内置 AI 学伴「小析」,采用双通道自动切换:优先 Web SDK 前端数字人交互,展示效果丰富;SDK 加载失败自动切换服务端 Open API 调用,保证对话功能可用。安全层面:Coze 密钥仅存储服务端环境变量,前端不暴露任何敏感令牌,规避泄露风险。

4.3.3 AI 助教八大工作模式

一套智能体适配师生双场景,自动切换提示词逻辑:

模式 使用对象 功能说明
qa 学生 课程专业知识点问答
guide 学生 分步引导解题,不直接给答案
debug 学生 代码报错定位、修复方案输出
preflight 学生 提交前代码规范自检
weak-review 学生 薄弱知识点针对性复习
analytics 教师 班级学情智能分析报告
generate-task 教师 自动生成实训题目、测试用例
knowledge 教师 知识库文档解析入库
4.3.4 AI 自动降级核心逻辑
def get_ai_response(query: str, context: dict, mode: str = "qa") -> str:
    # 优先级1:Coze在线智能体
    if coze_agent_client.is_service_available():
        try:
            return coze_agent_client.chat_completion(query, context, mode)
        except Exception as e:
            logger.warning("Coze服务异常,自动降级RAG离线模式")
    # 优先级2:本地RAG检索增强
    rag_docs = rag_service.retrieve_knowledge(query=query, context=context, top_k=3)
    ai_answer = rag_service.format_answer(rag_docs, query, mode)
    # 兜底:基础规则问答
    if not ai_answer:
        ai_answer = "当前离线答疑模式,可咨询Python、金融实训相关知识点"
    return ai_answer

4.4 三大用户角色与功能模块设计

平台划分学生、教师、管理员三类权限,接口层通过 JWT 鉴权严格隔离操作权限,无越权访问风险。

4.4.1 学生端核心功能
  • 双模式实训 IDE:在线代码编辑器,支持深浅主题、多文件 Tab、自动草稿缓存(本地 + 云端双备份,刷新不丢代码);程序模式写代码、界面模式可视化调参演示;
  • 关卡树形解锁机制:前置关卡未通关无法解锁后续章节,保障循序渐进学习;
  • 个人成长档案:自动沉淀所有提交记录、错题本,生成可视化知识图谱,高亮薄弱知识点;
  • 课堂服务:邀请码一键加班级、作业待办提醒、课堂签到、消息通知;
  • 悬浮 AI 学伴:实训页面常驻数字人,一键同步代码报错至 AI,无需复制粘贴上下文。
4.4.2 教师端核心功能
  • 班级全生命周期管理:创建班级生成 6 位唯一邀请码,管控学员、冻结异常账号;
  • 实训作业发布与批量批阅:自定义作业截止时间、提交次数限制,一键导出 Excel 成绩报表;
  • 零代码资料入库:上传 ZIP 实训包自动解析注册,支持教材目录无 manifest 快速导入;
  • 关卡管理:在线编辑元数据、增删测试用例、删除实训模块;
  • 多维学情看板:可视化班级通关率、卡点热力图、高频错误统计,AI 自动生成学情分析报告;
  • 知识库管理:上传教学文档自动解析入库,赋能 AI 答疑。
4.4.3 管理员端

全局账号管理、实训模块批量运维、系统参数配置、数据备份、日志审计,拥有平台最高操作权限。

4.5 数据处理与可视化模块

本模块负责将实训产生的原始数据(代码运行结果、评测分数、用户行为)转化为结构化的分析指标,并通过 ECharts/GL 图表库在前端进行动态、交互式的可视化呈现。其核心设计目标是实现数据与图表的解耦,通过 Manifest 元数据驱动图表渲染,使教师无需修改前端代码即可为不同实训模块配置专属可视化方案。

4.5.1 标准化数据流水线设计

数据流水线遵循“采集-清洗-聚合-存储”四步流程,确保数据质量与一致性:

  1. 数据采集:沙箱执行器捕获代码标准输出、错误流、运行耗时;评测引擎记录每个测试用例的通过状态、得分、预期与实际值;前端埋点记录学生页面停留、求助 AI 次数、关卡重试频率等行为数据。
  2. 数据清洗:后端服务对原始日志进行格式化处理,移除 ANSI 转义字符,将非结构化报错信息归类(如语法错误、运行时错误、逻辑错误),并将浮点数结果按预设精度(如小数点后 4 位)标准化。
  3. 数据聚合:按学生、班级、实训关卡、时间维度进行聚合计算,生成如“班级平均通过率”、“个人知识点掌握热力图”、“高频错误代码片段 Top 10”等指标。
  4. 数据存储:结构化指标存入 MySQL 业务表;原始运行日志(用于调试和审计)存入 MongoDB 或对象存储,通过实训 ID 与业务数据关联。

流水线通过异步任务队列(Celery)执行,避免阻塞主请求,并支持失败重试与数据回补。

4.5.2 ECharts/GL 可视化图表集成

前端基于 Vue3 深度集成 ECharts 6.1 与 ECharts GL,提供 2D/3D 图表能力,满足金融数据、算法过程、学情统计等多场景展示需求:

  • 基础图表组件化:封装可复用的 <VChart> 组件,通过 Props 接收图表配置(option)和数据(dataset),实现数据驱动更新。
  • 2D 图表:折线图展示个人成绩趋势;柱状图对比班级各关卡通过率;饼图显示知识点分布;散点图呈现算法聚类结果。
  • 3D 可视化:利用 ECharts GL 绘制三维曲面展示函数拟合效果,或构建 3D 地理信息图用于“智慧城市”类实训项目。
  • 交互与联动:支持图表缩放、拖拽、数据区域筛选;多个图表间可通过共享 dataset 实现联动,例如点击学情概览图中的某个班级,下方自动刷新该班级的详细数据表。
// 前端 Vue 组件中初始化 ECharts 示例
import { init } from 'echarts';
export default {
  mounted() {
    const chart = init(this.$refs.chartDom);
    chart.setOption({
      title: { text: '班级通关率统计' },
      tooltip: {},
      xAxis: { data: ['关卡1', '关卡2', '关卡3'] },
      yAxis: {},
      series: [{
        name: '通过率',
        type: 'bar',
        data: this.passRateData // 来自后端 API
      }]
    });
  }
}
4.5.3 基于 Manifest 元数据的动态图表渲染

这是本模块的核心创新点。在实训模块的 manifest.json 中,新增 visualization 配置节,用于声明该关卡所需图表的类型、数据绑定规则和样式。

// manifest.json 片段示例
{
  "module_id": "finance_analysis_01",
  "visualization": {
    "charts": [
      {
        "chartId": "chart1",
        "type": "line",
        "title": "股票收盘价趋势分析",
        "dataBinding": {
          "source": "student_output", // 数据来源:student_output(学生代码输出)、predefined_dataset(预设数据集)、aggregated_stats(聚合统计)
          "key": "close_price" // 绑定数据集中名为 close_price 的字段
        },
        "style": {
          "width": "600px",
          "height": "400px"
        }
      },
      {
        "chartId": "chart2",
        "type": "scatter",
        "title": "聚类结果可视化",
        "dataBinding": {
          "source": "student_output",
          "x": "feature1",
          "y": "feature2",
          "cluster": "label"
        }
      }
    ]
  }
}

动态渲染引擎工作流程

  1. 配置解析:前端加载实训页面时,从 Manifest 中读取 visualization 配置。
  2. 数据获取:根据 dataBinding.source 向后端发起特定 API 请求,获取对应数据。例如,student_output 会请求本次代码运行的输出结果。
  3. 图表生成:将获取到的数据,按照配置的图表类型(type)和绑定规则,动态生成 ECharts 标准 option 对象。
  4. 组件渲染:将 option 传递给通用的 <VChart> 组件,渲染出对应的图表实例。

优势

  • 零前端开发:教师通过编辑 JSON 即可为新课配置全新图表,无需前端参与。
  • 数据与视图解耦:同一套数据(如股票价格)可根据配置渲染为折线图、K 线图或面积图。
  • 即时反馈:学生提交代码后,图表随运行结果实时更新,提供直观的学习反馈。
4.5.4 可视化模块与系统其他模块的联动
  • 与实验引擎联动:Manifest 中的图表配置被引擎解析,作为页面渲染的一部分。
  • 与沙箱联动:沙箱的输出数据被流水线处理后,成为图表的数据源。
  • 与 AI 助教联动:在“analytics”模式下,AI 可调用可视化数据生成学情分析报告的文字描述。
  • 与学情看板联动:教师端的班级看板,实质上是多个聚合图表(如柱状图、热力图)的仪表盘,其数据来自本模块的聚合流水线。

通过以上设计,数据处理与可视化模块不仅完成了数据的“最后一公里”展示,更通过元数据驱动实现了高度的灵活性和可扩展性,成为平台提升教学体验与效率的关键组成部分。

五、总结与展望

5.1 平台核心价值总结

本文设计并实现的“智析 AI 大数据智能实训平台”,通过引入 Manifest 元数据驱动的通用实验引擎,从根本上解决了传统实训平台内容迭代成本高、教师无法自主维护的痛点,实现了实训模块的“零代码”拓展。平台构建了包含安全沙箱、多模式评测引擎、混合 AI 助教(本地 RAG + Coze 智能体)以及数据可视化在内的完整技术栈,形成了“资源制作-实训执行-智能辅导-学情分析”的教学闭环。

其核心价值体现在:

  • 对教师:降低了实训内容制作与维护的技术门槛,提供了多维度的学情分析工具,实现了数据驱动的精准教学。
  • 对学生:提供了安全、即时、个性化的编程实训与 AI 答疑环境,通过游戏化的闯关机制和可视化反馈提升学习兴趣与效率。
  • 对管理者:构建了稳定、可扩展、易于部署的国产化教学平台,保障了教学服务的连续性与数据安全。

5.2 未来工作展望

平台未来可从以下几个方向进行深化与拓展:

  1. AI 能力增强:探索集成更多国内主流大模型(如文心一言、通义千问)作为 Coze 的备选或增强,并引入代码自动生成、智能代码审查等更高级的 AI 编程辅助功能。
  2. 实训场景扩展:当前平台以 Python 大数据分析为核心,未来可支持更多编程语言(如 Java, C++)及更丰富的实训类型(如算法竞赛、软件测试、网络安全攻防)。
  3. 协作与社交功能:增加小组协作实训、代码互评、排行榜、经验分享社区等功能,增强平台的互动性与趣味性。
  4. 移动端适配:开发轻量级移动端应用或小程序,支持学生利用碎片化时间进行代码阅读、知识点复习与轻量练习。
  5. 产学研融合:与企业合作,引入真实产业项目案例作为实训内容,并探索将平台能力输出,服务于企业内部的技能培训与考核。

5.3 结语

“智析 AI 大数据智能实训平台”以 Manifest 元数据为枢纽,将通用实验引擎、安全沙箱、智能评测、混合 AI 助教与数据可视化深度融合,为高校 Python 及相关课程的数字化实训教学提供了一套完整、灵活、智能的解决方案。平台已具备在高校常态化教学中部署应用的条件,并为其未来的功能演进与生态扩展奠定了坚实的技术基础。我们相信,此类平台的普及将有力推动高等教育在人工智能时代的教学改革与创新实践。

6月30日 (1)

Logo

一站式 AI 云服务平台

更多推荐