Files
taojianmin 1d20cfa708 v1.0.1: 课程成绩异常诊断与报告生成 - 初版骨架
基于匠厂 skill-template 主仓 v1.0.108 派生的业务技能。

核心业务:
- 教师在教务系统录完成绩后自动触发
- 统计指标计算 + 三种异常模式识别(高分低能 / 两极分化 / 挂科异常)
- 生成三段式 AI 评语(总体 / 问题 / 建议)

输出形态:
- HTML 报告(含统计表 + 正态分布图 + AI 评语)
- 高风险课程自动标记 + 异常预警通知

预期提效:教师撰写成绩分析报告的时间从半天 → 10 分钟。

业务行生命周期:无(一次性报告存档,不重复处理)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-14 12:19:12 +08:00

7.1 KiB
Raw Permalink Blame History

课程成绩异常诊断与报告生成 — 技能需求文档

派生自匠厂 skill-template 主仓 development/REQUIREMENTS.md,对应规格书第 4.2 节「🟣 教务处 Skill 002 —— 成绩分析"异常诊断与报告生成"」。


0. 技能标识

  • 拟定 slug(英文):analyze-grade-distribution-aa
  • 中文 name:课程成绩异常诊断与报告生成
  • 中文 description(一句话):教师在教务系统录完成绩后,自动计算统计指标、识别"高分低能 / 两极分化 / 挂科异常"三种异常模式、生成三段式评语,输出图文并茂的《课程成绩分析报告》
  • account-manager platform_key(如有):N/A
  • 命名形态:标准型
  • 目标 OEM 市场 brands(可选):未写则仅挂匠厂
  • 网页 RPA(如有)— 登录策略:不适用

0.1 宿主入口定位(必填)

主能力(Action id / CLI) 对话 数据管理 定时 教程章节 不挂理由
health / version / config-path 挂 不挂 不挂 入口二 默认必备
analyze-grade-distribution 挂 row(课程成绩) 不挂 入口一/入口二 sync
batch-analyze-courses 挂 toolbar(课程成绩) 不挂 入口一/入口二 async
render-html 挂 row(分析报告) 不挂 入口一/入口二 sync
flag-high-risk-course 不挂 row(分析报告) 不挂 入口一 写状态
sync-historical-grades 挂 toolbar(历史成绩) 挂(占位) 入口一/入口三 cron 占位

0.1.1 用户市场文档

  • README.md:能力 / 场景 / 边界
  • TUTORIAL.md:覆盖两入口,入口三写「占位」

0.2 AI + RPA 协作与授权边界

Agent 设计

  • 用户意图:分析单门课程 / 批量分析 / 查看报告 / 解释预警 / 标记高风险 / 同步历史成绩
  • 意图 → Action 映射:
    • 分析单门课程 → analyze-grade-distribution
    • 批量分析 → batch-analyze-courses
    • 查看报告 → render-html
    • 标记高风险 → flag-high-risk-course
    • 同步历史 → sync-historical-grades
  • 缺参数追问:课程名称 / 学期 / 课程 ID
  • 必须确认的动作:
    • batch-analyze-courses 批量分析前确认范围与数量
    • flag-high-risk-course 标记前提示推送对象
  • 结果解释:成功(评分 + 异常模式 + 评语)、部分成功(评语生成失败但统计完成)、失败(历史数据缺失 → 仅做统计不预警)

授权与平台边界

  • 教务系统 API 由教务处统一开通
  • 学生个人成绩明细受教务系统权限控制,技能仅输出聚合统计与匿名分布
  • 严禁逆向教务系统、破解私有协议
  • 异常检测算法调参时停止并上报

RPA 风控设计

  • 执行端:N/A

0.3 业务行生命周期

本技能对「分析报告」无角色约束(一次性报告存档)。


1. 文档目标

本文档用于明确 analyze-grade-distribution-aa 的研发范围、交付标准、依赖关系和验收要求。

2. 业务背景

  • 现状:教师每学期末需撰写课程总结与成绩分析报告,平均耗时半天
  • 痛点:人工计算统计指标效率低;"高分低能 / 两极分化 / 挂科异常"难以识别;督导难以及时锁定高风险课程
  • 目标:自动完成「统计指标计算 + 三种异常识别 + AI 评语生成」,输出「HTML 报告 + 高风险课程标记」

3. 开发目标

  • 拉取某课程全班成绩明细(平时分 / 期中分 / 实验分 / 期末分 / 总评)
  • 拉取该课程的教学大纲(考核项权重)
  • 拉取历史成绩数据(前置课程 / 同课程历史)
  • 计算统计指标 + 正态分布 + 三种异常模式识别
  • 生成 AI 三段式评语
  • 输出 HTML 报告 + 异常预警通知
  • 写入业务表(课程成绩 / 分析报告 / 历史成绩 / 高风险课程)

4. 功能范围

必须实现

  • 支持 python scripts/main.py health / version / config-path / init-db
  • 支持 python scripts/main.py analyze-grade-distribution --course-id <id>
  • 支持 python scripts/main.py batch-analyze-courses --semester-id <id>(async)
  • 支持 python scripts/main.py render-html --report-id <id>
  • 支持 python scripts/main.py flag-high-risk-course --report-id <id>
  • 支持 python scripts/main.py sync-historical-grades(async,cron 占位)
  • 完成 §0.1 入口定位表

可后续扩展

  • 多课程横向对比报告
  • 学生个人学习轨迹预警
  • 与学校教学质量监控平台对接

5. 非功能要求

  • 目录结构符合 skill-template 规范
  • 入口统一为 scripts/main.py
  • 用户市场四 Tab
  • 输出机读友好;错误前缀 ERROR:
  • Windows UTF-8 兼容
  • 单门课程分析耗时 ≤ 30 秒(学生数 ≤ 200)

6. 输入输出要求

输入

  • course_id:课程主键(必填)
  • semester_id:学期主键(仅 batch 必填)
  • report_id:报告主键(仅 render / flag 必填)
  • 依赖系统:教务系统 API(成绩读写)
  • 环境变量(.env):
    • AA_API_BASE_URL:教务系统 API 入口
    • AA_API_TOKEN:调用凭证
    • HIGH_FAIL_RATE_THRESHOLD:挂科异常阈值(默认 0.30)
    • SCORE_GAP_THRESHOLD:高分低能阈值(默认 20)
    • STD_DEV_RATIO_THRESHOLD:两极分化阈值(默认 1.5)

输出

  • 成功结果:analyze-grade-distribution 返回 {max_score, min_score, avg, median, std, pass_rate, excellent_rate, anomaly_flags, ai_comment}
  • 错误输出:ERROR: 稳定码 + 中文 message
  • 数据库记录:写入 分析报告 表
  • HTML 报告:落到 html/

7. 依赖的兄弟技能或外部系统

兄弟技能依赖

  • 无强制依赖

外部系统依赖

  • 教务系统 API(成绩读写):必须

Python 包依赖(requirements.txt)

  • HTTP 请求:requests>=2.31.0,<3
  • 数值计算:numpy>=1.24.0,<2
  • 数据处理:pandas>=2.0.0,<3
  • 统计可视化(图表占位):matplotlib>=3.7.0,<4
  • jiangchang-platform-kit 由宿主提供

8. 不在本次范围内的内容

  • 本次不实现学生个人学习轨迹预警
  • 本次不集成教学质量监控平台
  • 本次不做 cron 启用(占位 Action 已就位)
  • 本次不兼容旧模板历史结构

9. 验收标准

  • 代码结构符合模板规范
  • health / version / config-path / init-db 命令执行正常
  • analyze-grade-distribution 在含 100 门课程的样例库中完成一次分析,耗时 ≤ 30 秒
  • 业务表写入和查询符合 references/SCHEMA.md
  • 异常识别准确率 ≥ 90%(基于样例库)
  • SKILL.md 的 developer_ids 已配置
  • 安装后按 §0.1 完成宿主多入口验收

10. 开发注意事项

  • 只修改当前 skill 仓库
  • 学生个人成绩明细受教务系统权限控制
  • 异常检测阈值可在 runtime/config 调参
  • cli 只做参数解析;核心逻辑在 service

11. 变更记录

日期 版本 变更人 变更内容
2026-09-14 v1.0.1 匠厂 初版需求文档,骨架就位