ClassLLM 前端使用与教学运营全指南

覆盖 软件安装 · 授权激活 · 登录与账号 · 编译器配置 · 提示词管理 · 任务与 AI 出题 · 测试用例生成 · 学生管理 · 成长报告

概览

ClassLLM 通过 AI 出题 / 代码分析 / 智能反馈 / 成长评估 帮助教师高效布置、批改与监控学习进度,同时提升学生的自我纠错与迭代能力。

支持语言

Python / C++
可扩展其他语言

反馈模式

EC / AC / OI
指导 / 精简 / 分点

AI 功能

6+
出题 / 审阅 / 纠错 / 用例 / 报告

可配置项

30+
提示词 / 难度 / 编译器

软件安装

目标:最短 5~10 分钟内完成本地或服务器的可运行部署,并为后续 AI 功能(出题 / 测试生成 / 报告分析)提供稳定运行环境。安装阶段的正确性直接影响后续 编译超时、权限校验、模型请求限速 等体验,因此建议严格按步骤执行并做好环境记录。

  1. 获取发行包: 到官方分发渠道下载与操作系统匹配的安装压缩包(Windows 可执行 / Linux tar.gz)。若采用私有化离线模式,确保同时获取 requirements.txt 与可选离线依赖缓存。
  2. 解压与路径规划: 解压到不含空格及中文的路径(避免编译链及子进程调用失败),推荐:D:/ClassLLM/opt/classllm。提前为日志、数据库、临时编译结果预留 ≥5G 可用空间。
  3. 首次运行与机器码: 运行 class-LLM.EXE./start.sh,第一次会因为授权缺失触发机器码生成;此时后端只启动最小化服务,不开放 AI 相关接口。
  4. 授权申请: 复制机器码提交管理员 / 许可服务端生成 license.bin(绑定 CPU / 主板信息,迁移需重新申请)。
  5. 部署授权:license.bin 放在运行根目录,重新启动。系统会校验签名并写入 database/agreed_eula.flag 与许可缓存。
  6. 功能自检: 访问 http://127.0.0.1:8001,确认首页、静态资源、/admin 登录页均可访问;进入“系统诊断”查看:编译器探测、数据库连通、AI 通道(若配置)、磁盘剩余。

为保证 AI 代码评测效率,建议在 Linux 服务器配置 ulimit -n 4096 以上文件句柄,避免并发编译时资源耗尽。若后续计划启用 GPU / 推理微服务,可在安装阶段预留 Docker 环境或 Conda 虚拟环境,防止后期依赖冲突。

Linux 需安装 Python 3.11+(确保 ssl 模块正常),并安装 g++clang++;脚本执行前:chmod +x start.sh。建议新增系统用户 classllm 以最小权限运行。

管理员和学生登录

账号体系设计原则: 区分管理(布置 / 审核 / 分析)学习(提交 / 查看反馈)职责,确保权限最小化。管理员入口:/admin,默认账号 admin / admin123 仅用于首次初始化,务必在“安全设置”中立刻修改密码并开启(若已提供)IP 白名单或二次校验。学生入口为根路径或“学生登录”链接,支持预创建或批量导入 CSV(字段:用户名、显示名、初始密码、分组标签)。

认证流程: 登录提交后端颁发短期 Token(Header + 过期时间),前端仅存储在内存或 HttpOnly Cookie(具体取决于构建配置),过期后静默刷新。若授权文件异常或过期,管理端页面顶部会出现“许可告警”横幅,同时禁用 AI 出题与用例生成功能入口(防止非法调用带来合规风险)。

公网部署务必:1) 全站 HTTPS;2) 管理端限 IP 或 VPN;3) 日志脱敏(隐藏 Token 与部分代码内容);4) 定期巡检弱口令。

编译器配置

评测的“确定性 + 性能 + 安全隔离”高度依赖编译器配置。平台启动时会并行探测 g++clang++cl.exe 及常见 VS 安装路径,并记录版本号与支持的标准(如 c++17/20)。对 C++ 题目会使用沙箱执行(受限时间 / 内存 / 文件 IO),编译参数的优化级别会影响执行耗时与 TLE / MLE 识别准确性。合理的参数可以减少由于编译未开启优化导致的“假超时”误判。

问题典型原因解决是否影响 AI 功能
未检测到未入 PATH / 权限不足加入 PATH 或赋执行权限否(仅影响评测)
cl 不可用未加载 VS 环境变量使用 VS 开发者命令行 / 运行 vcvars
运行超时死循环 / 极端输入开启本地调试 / 增加超时提示间接:会影响 AI 反馈速度
判题延迟磁盘 IO 慢 / 参数未优化调整 -O2 / 使用 ramdisk是:延迟会影响学生体验

最佳实践: 统一编译参数集,避免不同任务“编译差异”导致学习误差;对高频题目可启用预编译缓存(需选装扩展)。

编译器参数建议

DPC++/SYCL 支持

平台支持基于 Intel oneAPI 的 DPC++(SYCL)程序编译运行(需部署 oneAPI 环境)。

AMD HIP 支持

平台支持在具备 AMD ROCm 环境的节点上编译/运行 HIP C++(实验性)。

NVCC/CUDA 支持

平台支持在具备 NVIDIA CUDA 环境的节点上编译/运行 CUDA C++(实验性)。

快速验证样例

// main.cu
#include <cstdio>
__global__ void add(int *a, int *b, int *c) { int i = threadIdx.x; c[i] = a[i] + b[i]; }
int main(){ int h_a[4]={1,2,3,4}, h_b[4]={10,20,30,40}, h_c[4]={0};
  int *d_a,*d_b,*d_c; cudaMalloc(&d_a,16); cudaMalloc(&d_b,16); cudaMalloc(&d_c,16);
  cudaMemcpy(d_a,h_a,16,cudaMemcpyHostToDevice); cudaMemcpy(d_b,h_b,16,cudaMemcpyHostToDevice);
  add<<<1,4>>>(d_a,d_b,d_c); cudaMemcpy(h_c,d_c,16,cudaMemcpyDeviceToHost);
  for(int i=0;i<4;i++) printf("%d ", h_c[i]);
  cudaFree(d_a); cudaFree(d_b); cudaFree(d_c); return 0; }

编译运行:

nvcc -O2 -std=c++17 main.cu -o main
./main  

环境变量: Windows 可设置 CUDA_PATH;Linux 注意 /usr/local/cuda/bin 需加入 PATH。

设备选择环境变量

后端在编译运行阶段支持以下设备选择环境变量,便于按节点/全局控制 GPU:

建议在对应算力节点的服务启动脚本中设置这些变量,或在容器编排中通过 env 传入。

分布式判题与统一调度

当并发评测需求上升时,可启用分布式算力节点(CoBackend)与统一调度:

  1. 许可限制: 许可策略中的 max_co_nodes 控制可注册算力端上限;0 表示不允许。
  2. 启用调度: 在“系统设置”打开“启用统一调度”;可选择“主后端作为节点”以将本机纳入候选。
  3. 注册节点: 在“算力节点管理”新增节点,填写名称与 Base URL(例如 http://10.0.0.12:8011)。可点击“探测”验证 /status 返回的 running_tasks
  4. 任务绑定(可选): 可在任务详情中限定可用节点,未绑定则由调度器按负载择优(优先 running_tasks 最低)。
  5. 调度行为: 无可用节点时返回 503;远端失败时回退本地(若配置允许)。
  6. 节点运行:cobackend 目录按系统构建并运行,Windows 推荐 MinGW/gcc 打包(见 cobackend/BUILD_README.md)。
健康检查:节点需提供 GET /status 接口,返回 { ok, running_tasks, uptime_s, version }。后续版本将支持可配置的健康探测路径。

快速配置步骤

  1. 在许可信息页确认 max_co_nodes >= 1
  2. 管理端“系统设置”:开启“启用统一调度”“主后端作为节点(可选)”。
  3. 在每台算力机启动 CoBackend,确保 GET /status 返回 ok
  4. “算力节点管理”新增并探测所有节点。
  5. (可选)在任务详情绑定可用节点;否则按负载自动调度。

管理员 API 参考

接口方法要点
/admin/system/settingsGET/PUT布尔:enable_node_scheduler, include_backend_as_node
/admin/co-nodesGET/POST字段:name, base_url
/admin/co-nodes/{id}/probePOST读取 running_tasks
/admin/tasks/{task_id}/nodesGET/PUT{"node_ids":[...]}

故障排查

自定义主题与品牌

如许可策略开启 allow_custom_branding,可自定义前端主题与品牌元素。

建议: 品牌资源放置在可持久目录,升级脚本内加入替换步骤;深色主题注意对比度 ≥ 4.5。

自定义库支持说明

C++: 如需使用第三方库,请在编译器配置的“附加参数”中添加 -I 指向三方库的绝对路径。例如:-I D:/third_party/include。确保库文件可被编译器访问,且路径无权限限制。

Python: 需自行通过 pip install 安装所需包,并确保评测环境的 PATH 中首位为目标 Python 解释器。平台不会自动安装依赖,建议在本地调试通过后再提交。

提示词管理

提示词(Prompt)是所有 AI 功能的“教学大纲 + 评分细则”。平台将不同场景拆分为独立模板:出题生成 / 答案审阅 / 代码纠错 / 测试样例扩展 / 成长报告分析。每个模板支持占位符组合,通过结构化指令约束模型输出格式,减少“跑题”“冗余”与不稳定。良好的提示词应满足:语境明确、角色定位、输出格式约束、评估标准明确、负面指令(不做什么)清晰。

教学导向:避免“直接写出完整答案”,改为“指出问题位置 + 解释原因 + 给出渐进提示 + 可选优化方向”。

评估指标: 可通过统计:平均反馈字数、重复率、学生二次提交改进幅度 来量化提示词优化成效。

任务创建

高质量任务 = 清晰题干 + 明确 IO 规范 + 足够边界 + 合理难度标注 + 可衡量评测标准。任务编辑器支持 Markdown/富文本,建议使用统一结构:题目背景 → 输入格式 → 输出格式 → 示例(含解释)→ 约束与提示。对多语言支持的任务,可同时上传 Python / C++ 标准答案,平台在“AI 审阅”阶段会根据学生所选语言自动适配提示词上下文,从而提升语言特定错误(如 Python 缩进 / C++ 未初始化变量)识别率。

  1. 基础信息: 标题、标签(数据结构 / 动态规划 / 字符串 等)、难度(按预期解法时间 / 算法复杂度分级)。
  2. 资源限制: 填写时间 / 内存上限,平台会按此配置沙箱;超限将提供反馈“性能优化建议”。
  3. 测试用例: 公开用例偏“教学演示”,隐藏用例覆盖极端场景(空 / 最大值 / 非法输入)。
  4. 标准答案: 建议包含“时间复杂度 / 空间复杂度 / 关键思想”注释;后续 AI 生成用例时会参考。
  5. 可选解析: 若提供官方题解,AI 反馈可引用其结构,保持“对齐教学意图”。

质量审查清单: 是否存在二义词?是否遗漏输入规模边界?示例是否展示典型与非典型?是否阻止硬编码(随机数 / 多样化隐藏用例)?

AI 自动出题

“AI 自动出题”旨在降低教师在海量基础 / 变式题目制作上的时间投入。通过输入知识点、目标技能(如:双指针、前缀和、区间 DP)、期望难度、是否需要多阶段提示,模型生成:题目背景、正式描述、输入输出规范、样例(含解释)、潜在解法思路、可扩展变体建议。生成过程内部会做两轮:第一次粗稿(结构化思路),第二次精修(格式与边界补全)。

  1. 填写需求: 关键词可多项(逗号分隔)+ 约束(例如“不要树结构”)。
  2. 选择模板: 不同提示词版本将影响生成风格(学术 / 教学引导 / 竞赛紧凑)。
  3. 生成预览: 支持再次“微调”(追加指令如“加强边界”)。
  4. 人工审核: 使用审核清单:正确性、边界覆盖、难度匹配、样例解释是否充分。
  5. 一键入库: 通过后写入任务库,可继续补充标准答案或交由 AI 草拟基准解法。
审核清单扩展:1) 是否含歧义单位;2) 是否存在可被硬编码的固定输出模式;3) 是否需要增加第二示例展示逆向场景;4) 难度标签是否与主流解法时间复杂度一致。

风控提示: 生成结果建议教师阅读后再发布,避免概念偏差;可开启“需要人工确认”开关防止学生看到未审核草稿。

AI 生成测试用例

测试用例直接决定“作弊成本”和“学习反馈精度”。AI 用例生成模块会读取:题目描述 + 标准答案 +(可选)历史失败提交,推断潜在边界(空输入 / 极值 / 重复元素 / 顺序特征 / 随机压力)。系统内部会为每类样例打标签(基础 / 边界 / 随机 / 特殊 / 构造反例),便于教师勾选启用并分配权重。启用前用例处于“草稿”态,不参与学生评测。

  1. 准备阶段: 确保标准答案正确(否则 AI 可能依据错误逻辑推断)。
  2. 选择策略: 可以指定生成数量 + 类型比例(例如 边界 30% / 随机 30% / 特殊 10%)。
  3. 生成评估: 查看每个用例“覆盖点说明”(例如:命中空数组、命中最大长度、命中重复值)。
  4. 冲突检测: 系统会尝试发现冗余(功能相同不同数据)并标记“可合并”。
  5. 启用 & 权重: 启用后写入评测计划;复杂度高或稀有边界用例可赋更高分值。
类型含义示例价值
基础验证主流程正确性正常排序输入防止主逻辑遗漏
边界极小 / 极大 / 空 / 单元素N=0 / N=max捕获边界防护缺失
随机高规模压力1e5 随机测试时间复杂度
特殊格式 / 前导零 / 空行000123 / 空白行检测健壮性
反例触发潜在误解对称 / 重复模式区分错误假设

质量确认: 建议人工运行标准答案验证所有生成样例输出一致性;必要时随机抽样对学生常见错误代码执行,确认能有效区分。

学生管理

学生管理模块围绕“组织结构 + 账号生命周期 + 行为追踪”设计。通过分组(班级 / 层次 / 训练营阶段)可以对任务、报告、统计进行切片分析。新增账号时支持批量导入并自动生成初始密码(可勾选首次登录强制修改),避免弱口令长期存在。系统记录:登录时间、最近提交、平均迭代次数、放弃任务数,供教学决策。

数据合规: 导出学生成绩前应遵循隐私策略,仅含必要字段。建议定期清理长时间未登录账户。

学生成长报告

成长报告模块通过聚合提交日志、评测结果、AI 反馈标签,构建多维画像:知识掌握、问题定位速度、代码质量、稳健性、改进意愿。AI 会解析若干轮代码差异,判断学生是否“机械修补”还是“理解后重构”。报告输出包含:趋势图(提交 / 通过率 / 迭代次数)、错误结构分布(逻辑 / 边界 / 性能 / 格式)、高频失误词云、建议路径(推荐题单 / 技能补足)。

教学使用方式: 教师可在班级层面筛选“停滞学生”(最近 7 天无通过,迭代数低)进行定向辅导;也可导出匿名对比,用于教学方案迭代。

AI 方法概述: 采用规则 + LLM 混合:规则提取结构化指标;LLM 对代码差异摘要与风格评估,最后合成自然语言总结。

学生用户页面(总览)

学生端提供统一入口与判题界面:登录 → 任务列表/自由练习 → 在线编写/粘贴代码 → 提交评测 → 查看分点结果与 AI 反馈(如启用)。

提交流程与状态

  1. 选择语言与题目 → 粘贴/编写代码 → 提交评测。
  2. 队列/分配节点 → 运行中(可选展示日志)。
  3. 完成后查看每个测试点详情与总分。

常见错误自查

提示含义处理
编译失败语法/依赖阅读编译日志,先本地最小复现
运行超时复杂度/死循环检查数据规模与算法;优化 I/O
输出不匹配格式/空格/换行严格比对样例格式,移除调试输出

公网部署建议

server {
    listen 80;
    server_name classllm.example.com;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl http2;
    server_name classllm.example.com;
    ssl_certificate     /etc/ssl/certs/fullchain.pem;
    ssl_certificate_key /etc/ssl/private/privkey.pem;
    location / { proxy_pass http://127.0.0.1:8001; }
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;
}

安全要点扩展: 除了强制 HTTPS、限制 /admin 源 IP、定期轮换管理员密码、清理无效账号,还建议:1) 启用 WAF 过滤非常规 POST 频率;2) 对 AI 相关接口加入速率限制防止滥用;3) 分离静态资源与 API 域名,降低 Cookie 暴露;4) 采用最小权限文件系统(仅 data 目录可写);5) 定期备份数据库(全量 + 增量)并做恢复演练;6) 开启日志轮转防止磁盘被写满;7) 对编译沙箱启用 seccomp / namespace(若选装)进一步降低逃逸风险。

性能调优: 高频访问(代码提交 / 反馈轮询)可置于独立后端实例并通过负载均衡分发;AI 长耗时任务(报告汇总)可采用异步队列,前端轮询任务状态避免阻塞。

常见问题 (FAQ)

问题说明解决进一步建议
授权失败机器码与授权不符 / 时间漂移校准时间 & 重新生成 license.bin保持服务器时间同步(NTP)
AI 生成偏题描述过短 / 缺少边界语境增加场景 + 明确排除条件建立题目需求模板复用
反馈冗长提示词未约束格式添加“精简分点”指令设定最大字数 & 要点列表
学生硬编码公开用例过少补充隐藏 + 动态随机周期替换部分隐藏用例
评测超时代码复杂度或死循环提示优化方向 + 超时日志打开“性能热点提示”功能
AI 等待长并发超限 / 外部模型延迟排队提示 + 降采样策略使用本地缓存 / 提前预热
报告数据空提交量低于统计阈值放宽阈值或先积累数据引导学生完成基础题集

优化路径: 建议建立内部 Wiki 记录常见问题处理脚本 / 排查路径(例如:授权 → 日志 → 时间 → 许可文件哈希),降低重复沟通成本。

总体入口与页面导航(使用视角)

平台前端对不同角色提供清晰固定入口:学生访问根地址(或提供的统一学生入口链接)即可进入“智能学生主页”;管理员使用管理入口地址登录账号后获取任务管理、用例管理、统计分析、AI 辅助等能力。顶部导航(或浏览器地址)可直接访问的数据看板、AI 对话助手、许可信息等页面。普通使用无需了解技术细节,只需记住:学生始终走同一个入口;管理员登录一次后可在浏览器标签间自由切换功能页面,无需重复认证。

推荐给用户的记忆方式:1) “学生只记一个 URL”;2) “管理员两个核心页面:管理页 + 数据大屏”;3) “需要临时分析/灵感用 AI 对话页面”;4) “出现许可或功能受限时检查许可信息页”。培训时可将这些地址制作成快捷方式或放入校园内网门户统一入口。

学生智能入口(学生该怎么用)

学生访问统一入口后会看到:如果尚未登录→出现登录表单;登录成功后系统自动判断当前是否“布置任务模式”。如果教师已经分配任务,页面直接呈现任务列表或当前进行中的任务;如果暂时没有布置任务,则展示“暂无任务”提示并提供刷新操作;当平台处于自由练习模式时,学生自动进入自由练习(含代码评测与 AI 反馈)区域。学生只需掌握:① 牢记账号密码;② 没任务时先做自由练习;③ 界面显示维护提示时稍后再试或联系教师。

常见使用问题及自助排查:1) 登录后仍提示未登录→尝试关闭浏览器重新进入;2) 页面长时间加载→检查网络或询问教师是否处于维护;3) 任务不见了→确认是否已切换到自由模式;4) 账号被占用或提示密码错误→联系教师重置密码。建议学生每次练习结束主动退出登录,避免共享终端上账号被他人使用。

管理端数据面板(管理员怎么读数据)

登录管理后台后可进入数据面板:上方为模式标签(任务模式 / 自由模式)与快速入口按钮;中间大区块显示关键数字(总提交、活跃主机、通过率等);左侧/右侧为类型占比与 24 小时趋势;下方列出最近或重点任务的概览卡片。管理员日常查看顺序建议:① 先看“通过率”与“活跃主机”是否异常下降;② 看 24 小时提交是否断崖式减少(判断是否服务异常或节假日);③ 针对低通过率任务点击“成绩”进入成绩明细,导出 CSV 做线下分析;④ 如发现大量失败且集中来自少数终端,可查看“主机”列表,排查是否环境异常。

使用建议:每天固定时间截取主要指标用于教学周报;当通过率异常高(>95%)且提交数低时要警惕题目难度过低或学生跳过练习;当通过率低(<30%)且失败集中在同一测试点时应回到任务用例查看是否用例设计过度刁钻。若需要将数据投屏,可在浏览器进入全屏模式,面板布局会自动适配。

AI 对话助手(管理员怎么使用)

进入 AI 对话页面后左侧是会话列表,右侧是消息区与输入区。首次进入自动生成一个空会话;点击“新建会话”可开始新的主题;单击切换会话,删除图标可移除不需要的历史;双击标题可重命名为更有意义的名称(例如“第3章节教学思路”)。消息输入框里粘贴代码或描述问题,按“发送”或 Ctrl/Cmd+Enter 发送。AI 回复会逐段出现,耐心等待加载完成再提出下一问,避免上下文被截断。

高效使用技巧:1) 同一会话保持单一主题,减少模型跑题;2) 复杂问题先分解列出要点再请求逐条展开;3) 当需要生成题目时明确给出难度、输入规模、禁止事项(如“不要使用递归”);4) 若回答太长可追加“请精简成要点”进行二次压缩;5) 敏感或不确定答案用“请标注不确定项”让 AI 给出风险提示。使用结束后,如设备非本人专用最好退出管理员登录,防止他人继续访问对话历史。

测试用例管理(管理员日常操作步骤)

在任务详情进入“测试用例管理”后可看到用例表格:每行包含名称、分值、顺序、是否隐藏。常用流程:① 新增:点击“新增用例”,填写输入、期望输出、是否隐藏、分值;② 编辑:点击“编辑”修改后保存;③ 删除:谨慎删除已对学生开放的用例;④ 批量操作:勾选多行后统一删除/改分值/切换隐藏状态;⑤ CSV 导入:准备好列顺序正确的文件后点击“导入CSV”快速批量创建;⑥ AI 生成:在对话框中选择语言、标准答案代码、难度与数量,观察进度条,生成完成后刷新表格即可批量启用或微调。

实战建议:公开用例保持“可让学生快速理解格式”,难度低;隐藏用例覆盖极端边界与大数据规模;避免所有用例都可见导致学生硬编码。评分分配上,把“核心正确性”测试点设为高分,格式/细节或性能测试点设为次高或额外加分。AI 批量生成后务必抽样人工查看:是否存在重复、是否有输出与题意不符、是否出现过度随机无复现价值的输入。必要时先标记为隐藏,用一两次课堂后再逐步公开。

在线代码编辑区域(学生如何书写)

代码输入区域支持在顶部快速选择语言(如提供),主体是可直接粘贴和修改的文本框。基本使用:粘贴题目代码骨架 → 根据题意补全逻辑 → 检查输入输出格式 → 提交。支持用 Tab 键插入缩进(或直接粘贴外部 IDE 代码),不需要手动设置字体。没有复杂语法提示,适合快速练习与课堂演示。若需更强大的自动补全,学生可以在本地 IDE 完成后再粘贴过来。

写代码注意事项:1) 先用最小数据自测输入输出是否一致;2) 避免使用本地绝对路径、硬编码文件读写;3) C++ 代码注意关闭多余调试输出;4) Python 代码避免使用过长全局变量名影响可读性;5) 提交失败多次后不要盲改,结合 AI 反馈或测试结果定位具体失败用例再改;6) 养成添加简短注释的习惯,便于 AI 与教师更好理解意图。

使用许可弹窗(首次进入需操作)

首次访问平台若出现许可(EULA)弹窗,需完整阅读后点击“同意”才能继续。若长时间网络不佳导致无法加载状态,可刷新或稍后再试。管理员培训时应强调:未阅读直接跳过可能忽视重要的隐私与安全条款;学生端如在公共机房操作,确认同意后即可开始练习,无需重复点击。若频繁重复出现,可能是浏览器清理了本地存储或服务器重置,需要重新确认一次。

建议机构做法:将许可中的关键条款(数据用途、禁止行为、账号责任)整理成简短告知海报张贴在实验室;定期复核版本是否更新,必要时通过班级群或公告再次提醒用户重新阅读。

账号与使用安全注意事项(面向教师与管理员)

为保证学生学习数据与系统稳定:1) 管理员账号密码设置为高强度并定期更换;2) 学生密码初次分发后建议要求登录后立即修改;3) 公共设备使用完点击“退出登录”;4) 避免在无 HTTPS 的公共网络输入管理员口令;5) 发现 AI 对话或测试用例生成被频繁刷请求,应临时限制相关入口并排查是否被滥用;6) 不要将生成的隐藏测试用例随意发给学生;7) 从浏览器导出的成绩文件妥善保存,含学生隐私信息。

异常处理提示:学生普遍登录不上——检查服务器是否到期/许可是否失效;AI 反馈长时间无响应——提示学生先切换普通判题模式;提交总量骤降——检查网络或是否在维护窗口;若怀疑账号泄露,立即重置密码并通知相关用户。必要时可准备一份“常见故障速查表”贴在办公室。

学生端 AI 反馈(学生如何获得改进建议)

在学生界面选择“AI 反馈”标签页:左侧贴入或编写 Python 代码(当前通用场景默认 Python),可切换“流式输出”与“普通输出”。流式适合快速看到生成过程,普通适合一次性拷贝结果。点击提交后等待反馈出现;反馈通常包含:问题定位、潜在错误、修改建议、可选优化方向。若代码完全无法运行,先根据提示修正语法/缩进再提交;看到“思考过程”说明系统给出了推理轨迹,学生应优先自己思考再参考它。完成修改后再次提交,比较差异,形成迭代。

高效使用方法:1) 每次仅聚焦一个核心问题(如“超时”“数组越界”),避免一次贴上过长需求;2) 避免把题目的标准答案直接请求 AI 解释——鼓励自主尝试后再寻求提示;3) 对返回的建议打勾(在纸面或记录本上)逐项完成;4) 如果反馈冗长,可手动总结出三条关键动作再继续;5) 避免在尚未理解错误原因时盲目复制 AI 建议代码;6) 将多次失败仍未解决的代码截图或保存,课堂答疑时与教师讨论。

学生判题(如何查看每个测试点)

在“代码判题”页选择语言后编写或粘贴程序,点击“提交代码”启动评测。评测结果区域会显示每个测试用例是否通过、得分以及总体得分与通过率。若存在隐藏测试点(通常用于防止硬编码),学生只能看到是否通过,不会看到具体输入输出——因此不要依赖样例硬编码逻辑。通过少量用例时:先观察失败用例是否集中在某一类(例如大数据量、空输入),再针对性修改。连续全部失败时,重点检查:输入读取格式、是否多输出空格、是否遗漏换行。达到较高通过率后再寻求优化(性能 / 代码风格)。

改进流程建议:1) 调整前先复制失败用例描述(若可见)到笔记;2) 用最小改动尝试修复单一问题;3) 重复提交仍失败则切换到“AI 反馈”获取定位建议;4) 达到 100% 通过后复盘哪些边界此前未预料,写入个人“错题与边界清单”;5) 不要在未理解差异的情况下整体换用网上现成解法,保持思考连贯性。

测试结果列表(如何解读)

评测完成后看到的结果表格列通常包含:用例名称、状态(通过/失败)、得分、是否隐藏,以及(若公开)输入 / 期望输出 / 实际输出 / 错误信息。最先关注“总通过率”:低于 40% 优先排查基础正确性;40%~80% 重点找剩余失败模式;达到 100% 后再做性能或风格提升。若某用例失败但输出内容与期望几乎一致,注意是否多/少空格、末尾多行、大小写、额外调试输出。若所有隐藏用例失败,可能你的解法只适配公开示例,需要考虑边界(空、最大、重复、负数、特殊字符等)。

阅读顺序建议:1) 浏览所有失败用例名称找共性;2) 打开一个典型失败用例详细对比输入与输出差异;3) 若有错误信息先解决语法/运行异常,再回归逻辑;4) 记录修复思路与尝试次数,避免陷入无序修改;5) 修复后再次提交验证是否只剩少量“顽固”用例,再结合 AI 反馈定位更深层问题。


© 2024-2025 北京素鳞科技产业有限公司 | 静态只读页面,可直接分发。