- 课程编号:CSP (C++) / AICODE (AI编程),必须与校宝一致
- 目录结构:.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md
- 文件命名:(请假)/(补课-去班级名) 后缀标记
- 完成率统计:三级查找规则(本班级→跨班级补课→其他老师仓库)
- keping-advanced skill 完整重写至 v4.0
- 所有 AI03 → AICODE03,所有 memory/student/ → .claude/memory/class/
790 lines
27 KiB
Markdown
790 lines
27 KiB
Markdown
# 工作流程规则:输入格式、批量生成、存储与特殊处理
|
||
|
||
> 合并文件:快捷输入格式 + 批量课评生成 + 新学生/补课处理 + 速记符号 + 快速入门
|
||
> 版本:v4.0(课评规范同步版)| 更新日期:2026-05-14
|
||
>
|
||
> **v4.0 变更**:
|
||
> - 新增第10节「课评规范V1.0对照规则」:课程编号、目录结构、文件命名、日期匹配、完成率统计、三级查找
|
||
> - 重写第5节「存储规则」:以 `.claude/memory/class/` 标准目录结构为准
|
||
> - 更新第7节「自动双轨保存机制」:改为单次文件保存 + 班级总结
|
||
> - 更新第3节「学生类型标记」:保存位置指向新路径
|
||
> - 新增补课双向记录规则
|
||
>
|
||
> **v3.2 变更**:
|
||
|
||
---
|
||
|
||
## 一、快速入门(30秒上手)
|
||
|
||
### 1.1 三步完成课评
|
||
|
||
```
|
||
第1步:指定班级(一次即可)
|
||
/课评 班级:发现世界-周四19点
|
||
|
||
第2步:输入学生表现
|
||
乔乔:观望5分钟→主动搭3层→自己调整,开心,比上周进步
|
||
昊昊:慢热,搭3层,反复调整,稳定
|
||
|
||
第3步:AI自动生成并保存
|
||
AI生成 → 自动双轨保存 → 完成!
|
||
```
|
||
|
||
**完成!课评已自动保存到班级汇总和个人档案,无需确认。**
|
||
|
||
### 1.2 核心理念
|
||
|
||
- **有姓名** → AI知道是谁
|
||
- **有行为** → AI知道做了什么
|
||
- **其他随意** → AI自动补充
|
||
|
||
支持:口语化、碎片化、无序化、语音转文字。
|
||
|
||
---
|
||
|
||
## 二、输入格式
|
||
|
||
### 2.1 自然语言输入(推荐)
|
||
|
||
**方式1:极简一句话**
|
||
|
||
```
|
||
乔乔今天开始不敢碰,后来主动搭了三层,球卡住自己调高度,挺稳定的,比上周主动多了
|
||
```
|
||
|
||
**方式2:关键词速记**
|
||
|
||
```
|
||
乔乔:gj5→zd3→zt ↑++
|
||
昊昊:慢热→zd3→反复调 →
|
||
```
|
||
|
||
### 2.2 批量输入格式
|
||
|
||
**标准列表式(推荐)**
|
||
|
||
```
|
||
课程:DISC-007
|
||
班级:发现世界-周四19点
|
||
日期:4月16日
|
||
|
||
1. 乔乔:gj5→zd3→zt ↑++
|
||
2. 昊昊:慢热→zd3→反复调 →
|
||
3. 张小明[体验]:搭了3层,开心
|
||
4. 李小红[补课]:专注完成,稳定
|
||
```
|
||
|
||
**简化表格式**
|
||
|
||
```
|
||
学生 核心表现 情绪 对比
|
||
─────────────────────────────────────────
|
||
乔乔 gj5→zd3→zt ↑ ++
|
||
昊昊 慢热→zd3→反复调 → 渐入佳境
|
||
小明[体验] 搭3层参与 ↑ 积极
|
||
```
|
||
|
||
### 2.3 语音输入优化
|
||
|
||
AI自动匹配班级学生名单,实时纠正谐音:
|
||
- "良心桥" → "梁昕乔"
|
||
- "中云浩" → "钟昀昊"
|
||
|
||
> **速记符号完整定义**:参见 `21-shorthand.md`
|
||
|
||
---
|
||
|
||
## 三、学生类型标记
|
||
|
||
### 3.1 标记说明
|
||
|
||
| 标记 | 含义 | 处理方式 | 保存位置 |
|
||
|------|------|----------|---------|
|
||
| 无标记 | 正式学生 | 双轨保存 | 班级汇总+个人档案 |
|
||
| `[补课]` | 补课学生 | 自动检测档案位置,跨班级自动双轨保存 | 班级汇总+个人档案 |
|
||
| `[体验]` | 体验课学生 | 仅班级汇总 | 班级汇总(标记体验) |
|
||
| `[缺课]` | 今天缺席 | 记录缺席 | 班级汇总(标记缺课) |
|
||
| `[new]` | 新学生首次 | 创建档案 | 班级汇总+个人档案 |
|
||
|
||
### 3.2 标记使用示例
|
||
|
||
```
|
||
批量输入示例:
|
||
|
||
周四19点 DISC-007
|
||
|
||
乔乔:gj5→zd3→zt ↑++
|
||
昊昊:慢热→zd3→反复调 →
|
||
张小明[体验]:搭了3层,开心
|
||
李小红[补课]:专注完成,稳定
|
||
```
|
||
|
||
**AI自动处理**:
|
||
- 乔乔、昊昊:双轨保存
|
||
- 张小明[体验]:仅保存到班级汇总,不询问
|
||
- 李小红[补课]:检查档案 → 当前班级存在 → 双轨保存;其他班级存在 → **自动跨班级双轨保存**
|
||
|
||
> **补课/新学生/转正详细规则**:参见 `22-student-mgmt.md`
|
||
|
||
---
|
||
|
||
## 四、批量生成流程
|
||
|
||
### 4.1 标准流程
|
||
|
||
```
|
||
教师极简输入 → AI并行解析每个学生 → 预加载课程/档案 →
|
||
并行生成个性化课评 → 质量检查 → 【自动双轨保存】→ 完成
|
||
```
|
||
|
||
**预加载说明**:
|
||
- **课程预加载**:系统根据日期自动计算学期周数,匹配课程主题和知识点(详见 [`15-semester-weeks.md`](15-semester-weeks.md))
|
||
- **档案预加载**:调取学生画像(性格气质、学习特点、历史表现)实现千人千面生成(详见 [`30-student.md`](30-student.md))
|
||
|
||
### 4.2 批量输出界面
|
||
|
||
```
|
||
━━━━━━━━━━━━━━━━━━━━━━━
|
||
📊 批量生成完成(5份)|发现世界-周四19点|DISC-007
|
||
━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
✅ 乔乔 198字 正常
|
||
✅ 昊昊 205字 正常
|
||
⚠️ 小强 165字 偏短
|
||
✅ 张小明[体验] 192字 体验学生
|
||
✅ 李小红[补课] 201字 补课学生
|
||
|
||
【批量操作】
|
||
[全部发送] [逐个查看] [标记修改] [取消]
|
||
━━━━━━━━━━━━━━━━━━━━━━━
|
||
```
|
||
|
||
### 4.3 自动通过条件(同时满足)
|
||
|
||
- ✅ 学生有完整档案
|
||
- ✅ 字数在弹性范围内(180-350字)
|
||
- ✅ 无敏感词/异常表述
|
||
- ✅ 情绪描述合理
|
||
|
||
### 4.4 需教师关注条件(任一满足)
|
||
|
||
- ⚠️ 体验/补课学生(无档案)
|
||
- ⚠️ 字数偏差>20字
|
||
- ⚠️ 检测到负面情绪词
|
||
- ⚠️ 与上周表现差异过大
|
||
- ⚠️ 内容重复度高
|
||
|
||
---
|
||
|
||
## 五、存储规则(课评规范标准结构)
|
||
|
||
> ⚠️ **课评规范V1.0强制要求**:课评必须按次按学生**单独文件**保存,不可用汇总文件代替单次课评。目录结构必须遵循 `.claude/memory/class/` 标准,否则课评完成率自动化统计无法识别。
|
||
|
||
### 5.1 标准目录结构
|
||
|
||
```
|
||
.claude/memory/class/
|
||
├── {班级名称}/ # 命名:{课程编号}{老师}{星期时间}(如 AICODE03小Q周五1900)
|
||
│ ├── summaries/ # 班级总结/群发文案
|
||
│ │ ├── YYYYMMDD_课程编号-课次_班级反馈.md
|
||
│ │ └── YYYYMMDD_课程编号-课次_微信群.txt
|
||
│ ├── {学生姓名}/ # 学生个人目录
|
||
│ │ ├── feedback/ # 【个人课评目录 - 核心】
|
||
│ │ │ ├── YYYYMMDD_课程编号-课次.md # 正常课评
|
||
│ │ │ ├── YYYYMMDD_课程编号-课次(请假).md # 请假记录
|
||
│ │ │ └── YYYYMMDD_课程编号-课次(补课-去班级名).md # 补课追踪
|
||
│ │ └── profile.md # 学生画像
|
||
│ └── 补课/ # 补课学生专用目录
|
||
│ └── {学生姓名}/
|
||
│ └── feedback/
|
||
│ └── YYYYMMDD_课程编号.md
|
||
├── {班级名称2}/
|
||
└── ...
|
||
```
|
||
|
||
### 5.2 文件命名规范
|
||
|
||
#### 课程编号规则
|
||
|
||
**必须与校宝排课系统中的 `class_name` 完全一致**:
|
||
|
||
| 校宝 class_name | 标准编号 | 说明 |
|
||
|----------------|---------|------|
|
||
| CSP01信息学奥赛01 | **CSP01** | C++ 信息学奥赛班 |
|
||
| AICODE03AI编程创新课03 | **AICODE03** | AI 编程创新班 |
|
||
|
||
**强制规则**:
|
||
- C++ 班统一用 `CSP`,不得用 `C++`、`信奥` 等
|
||
- AI 编程班统一用 `AICODE`,不得用 `AI`、`AI03` 等缩写
|
||
|
||
#### 文件命名格式
|
||
|
||
| 类型 | 格式 | 示例 |
|
||
|------|------|------|
|
||
| 单次课评 | `YYYYMMDD_课程编号-课次.md` | `20260418_CSP05-07.md` |
|
||
| 请假记录 | `YYYYMMDD_课程编号-课次(请假).md` | `20260505_CSP05-10(请假).md` |
|
||
| 补课追踪 | `YYYYMMDD_课程编号-课次(补课-去班级名).md` | `20260505_CSP05-10(补课-去AICODE03茄子周六1600).md` |
|
||
| 班级反馈 | `YYYYMMDD_课程编号-课次_班级反馈.md` | `20260418_CSP05-07_班级反馈.md` |
|
||
| 群发文案 | `YYYYMMDD_课程编号-课次_微信群.txt` | `20260418_CSP05-07_微信群.txt` |
|
||
| 月度总结 | `YYYY-MM_月度总结.md` | `2026-04_月度总结.md` |
|
||
| 学生画像 | `profile.md`(固定名) | `profile.md` |
|
||
|
||
#### 日期规则(关键)
|
||
|
||
**文件名中的 `YYYYMMDD` 必须与校宝 `teaching_date` 完全一致。**
|
||
|
||
| 校宝 teaching_date | 正确文件名 | 错误文件名 | 原因 |
|
||
|-------------------|-----------|-----------|------|
|
||
| 2026-05-10(周六) | `20260510_CSP01-10.md` | `20260511_CSP01-10.md` | 05-11是周日,非上课日 |
|
||
| 2026-05-09(周五) | `20260509_AICODE04-09.md` | `20260510_AICODE04-09.md` | 应取校宝日期而非提交日期 |
|
||
|
||
### 5.3 考勤状态文件检测
|
||
|
||
AI及自动化系统扫描 `feedback/` 目录时,通过文件名后缀判断状态:
|
||
|
||
| 文件名匹配 | 判定 |
|
||
|-----------|------|
|
||
| `YYYYMMDD_课程编号-课次.md` | 正常课评,计为到课 |
|
||
| `YYYYMMDD_课程编号-课次(请假).md` | 请假,不要求课评 |
|
||
| `YYYYMMDD_课程编号-课次(补课-去班级名).md` | 补课追踪,课评在补课班级 |
|
||
|
||
### 5.4 双轨保存机制(新规范)
|
||
|
||
| 存储位置 | 标准路径 | 用途 | 保存时机 |
|
||
|---------|---------|------|:--------:|
|
||
| **个人课评文件** | `feedback/YYYYMMDD_课程编号-课次.md` | 单次个人课评 | 生成后自动保存 |
|
||
| **班级总结** | `summaries/YYYYMMDD_课程编号-课次_班级反馈.md` | 班级群发文案 | 课后编写 |
|
||
| **学生画像** | `profile.md`(固定名) | 学生基础信息 | 建档时创建 |
|
||
|
||
### 5.5 存储优先级
|
||
|
||
1. **第一优先级**:个人课评文件 `feedback/*.md`(必须存在,关系到完成率统计)
|
||
2. **第二优先级**:班级总结 `summaries/*.md`(课后必写,但不影响个人完成率)
|
||
|
||
### 5.6 失败处理
|
||
|
||
- 个人课评文件保存失败 → 记录到待补存队列,下次生成前自动补存
|
||
- 教师可输入`补存`或`同步`手动触发
|
||
|
||
---
|
||
|
||
## 六、推荐工作流程
|
||
|
||
### 6.1 课后5分钟快速流程
|
||
|
||
```
|
||
Step 1(1分钟): 指定班级
|
||
/课评 班级:发现世界-周四19点
|
||
|
||
Step 2(2分钟): 速记输入
|
||
乔乔:gj5→zd3→zt ↑++
|
||
昊昊:慢热→zd3→反复调 →
|
||
小明[体验]:zd3 ↑
|
||
小红[补课]:专注完成 →
|
||
|
||
Step 3(2分钟): 查看并保存
|
||
AI生成 → 查看质量报告 → 完成(已自动双轨保存)
|
||
|
||
完成!课评已自动双轨保存,无需确认。
|
||
```
|
||
|
||
### 6.2 不同场景推荐
|
||
|
||
| 场景 | 推荐方式 | 预计时间 |
|
||
|------|---------|----------|
|
||
| 常规课后(8人) | 速记批量输入 | 3-5分钟 |
|
||
| 重点关注学生 | 自然语言详细描述 | 2-3分钟/人 |
|
||
| 边走边记 | 语音转文字 | 实时 |
|
||
| 周汇总整理 | 查看班级周汇总文件 | 1分钟 |
|
||
|
||
---
|
||
|
||
## 七、自动双轨保存机制(核心功能)
|
||
|
||
> 课评生成后立即自动保存为个人课评文件 + 班级总结,无需教师确认
|
||
|
||
### 7.1 机制概述
|
||
|
||
```
|
||
生成阶段 保存阶段 完成阶段
|
||
───────── ───────── ─────────
|
||
AI生成课评 → 【自动保存】 → 教师可随时查看/修改
|
||
↓ ↓ ↓
|
||
质量检查通过 → feedback/YYYYMMDD_课程编号.md → 完成(无需确认)
|
||
+ summaries/YYYYMMDD_课程编号_班级反馈.md
|
||
```
|
||
|
||
**核心原则**:
|
||
- ✅ **生成即保存**:课评生成后立即自动保存为单次课评文件到 `feedback/`
|
||
- ✅ **无需确认**:教师无需点击"确认",课评直接生效
|
||
- ✅ **全程可修改**:生成后教师可随时修改文件内容
|
||
- ✅ **文件名即考勤**:有课评文件即视为出勤
|
||
|
||
### 7.2 保存流程
|
||
|
||
#### 标准流程
|
||
|
||
```
|
||
教师输入表现 → AI生成课评 → 质量检查 → 【自动保存到 feedback/】→ 完成
|
||
```
|
||
|
||
#### 详细步骤
|
||
|
||
```python
|
||
def on_evaluation_generated(student, evaluation, class_info):
|
||
"""课评生成后自动触发"""
|
||
|
||
# 1. 质量检查
|
||
if not quality_check(evaluation):
|
||
return regenerate(student)
|
||
|
||
# 2. 构建文件名和路径
|
||
date = class_info['teaching_date'] # 取校宝排课日期,非编写日期
|
||
course_code = class_info['course_code'] # 如 CSP05-07 或 AICODE03-05
|
||
filename = f"{date}_{course_code}.md"
|
||
filepath = f".claude/memory/class/{class_info['class_dir']}/{student}/feedback/{filename}"
|
||
|
||
# 3. 自动保存个人课评文件
|
||
try:
|
||
save_to_file(filepath, format_evaluation(evaluation))
|
||
log_success(f"{student} 课评已保存:{filepath}")
|
||
except SaveError as e:
|
||
log_error(f"个人课评文件保存失败:{e}")
|
||
return retry_or_alert()
|
||
|
||
# 4. 展示给教师(已保存状态)
|
||
return show_to_teacher(student, evaluation, filename=filename, status="已保存")
|
||
```
|
||
|
||
### 7.3 学生类型与文件路径对照
|
||
|
||
| 类型 | 档案状态 | 课评文件保存路径 |
|
||
|:-----|:---------|:----------------|
|
||
| **正式学生** | 有档案 | `.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md` |
|
||
| **本班补课** | 有档案(本班) | `.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md` |
|
||
| **跨班级补课** | 有档案(他班) | `.claude/memory/class/{补课班级}/补课/{学生}/feedback/YYYYMMDD_课程编号.md` |
|
||
| **其他老师班级补课** | 有档案(其他老师) | `.claude/memory/class/{班级}/补课/{学生}/feedback/YYYYMMDD_课程编号.md` |
|
||
| **体验/临时学生** | 无档案 | `.claude/memory/class/{班级}/补课/{学生}/feedback/YYYYMMDD_课程编号.md` |
|
||
| **缺课学生** | 有档案 | ❌ 不生成课评 |
|
||
|
||
> **⚠️ 重要**:跨班级补课学生必须放在 `补课/` 目录下,否则自动化统计系统的三级查找可能无法识别。
|
||
|
||
### 7.4 自动触发条件
|
||
|
||
| 场景 | 触发动作 | 自动保存 |
|
||
|:-----|:---------|:--------:|
|
||
| 单学生课评生成完成 | 立即触发 | 班级汇总 + 个人档案(双轨)|
|
||
| 批量课评全部生成完成 | 全部生成后批量触发 | 班级汇总 + 个人档案(双轨,批量)|
|
||
| 课评修改完成 | 立即触发 | 班级汇总 + 个人档案(双轨,更新)|
|
||
|
||
**自动保存优先级**:
|
||
```
|
||
优先级1(必须成功):个人课评文件 feedback/*.md
|
||
↓ 成功
|
||
优先级2(允许失败):班级总结 summaries/*.md
|
||
↓ 失败
|
||
加入待补存队列,下次触发时重试
|
||
```
|
||
|
||
### 7.5 教师交互指令
|
||
|
||
#### 查看类指令
|
||
|
||
| 指令 | 功能 | 返回内容 |
|
||
|:-----|:-----|:---------|
|
||
| `查看{学生}` | 查看指定学生课评详情 | 完整课评内容 + 状态 + 操作按钮 |
|
||
| `查看全部` | 查看所有已生成课评 | 列表视图,含快速操作 |
|
||
| `查看本周` | 查看本周班级汇总 | 打开本周班级汇总文件 |
|
||
|
||
#### 修改类指令
|
||
|
||
| 指令 | 功能 | 触发动作 |
|
||
|:-----|:-----|:---------|
|
||
| `修改{学生}:{内容}` | 修改指定学生课评 | 直接编辑,更新班级汇总和个人档案 |
|
||
| `重生成{学生}` | 完全重新生成 | 删除原课评,重新生成,自动双轨保存 |
|
||
| `删除{学生}` | 删除该学生课评 | 从班级汇总和个人档案中删除(保留记录)|
|
||
|
||
### 7.6 修改规则
|
||
|
||
#### 支持修改的范围
|
||
|
||
| 修改类型 | 示例 | 处理方式 | 字数限制 |
|
||
|:---------|:-----|:---------|:--------:|
|
||
| 词语替换 | "搭建"→"拼搭" | 直接替换 | 不影响 |
|
||
| 称呼修改 | "乔乔"→"昕乔" | 全文替换 | 不影响 |
|
||
| 内容补充 | 在"完成了"后添加"还帮助了同伴" | 插入文本 | 单条≤50字 |
|
||
| 内容删除 | 删除"这个调整值得注意" | 删除文本 | 单条≤50字 |
|
||
| 情绪调整 | "开心"→"兴奋" | 替换关键词 | 不影响 |
|
||
|
||
#### 不支持修改的场景(需重生成)
|
||
|
||
- 改变课评结构(如从3段改为4段)
|
||
- 改变评价基调(从负面改为正面)
|
||
- 补充大量内容(>100字)
|
||
- 改变课程主题理解
|
||
|
||
#### 修改流程
|
||
|
||
```
|
||
教师:修改乔乔:把"搭建"改为"拼搭"
|
||
↓
|
||
AI定位班级汇总中乔乔的课评
|
||
↓
|
||
执行替换 → 字数检查 → 质量检查
|
||
↓
|
||
更新班级汇总文件
|
||
↓
|
||
同步更新个人档案(如有)
|
||
↓
|
||
提示修改完成
|
||
```
|
||
|
||
### 7.7 个人课评文件内容格式
|
||
|
||
#### 标准课评模板(单次文件)
|
||
|
||
个人课评文件 `feedback/YYYYMMDD_课程编号-课次.md` 内容格式:
|
||
|
||
```markdown
|
||
# 课程名称:CSP05-07 初等数论2
|
||
|
||
**授课日期**: 2026-04-18
|
||
|
||
**课评内容**:
|
||
学生今天课堂非常认真,三类作业全部完成。但课堂练习调试12次(2次运行错误、3次答案错误、2次编译错误),说明边界条件和代码规范性还需加强。建议每道题重新手写框架,减少复用旧代码,这样基础更扎实。
|
||
|
||
课后整理埃氏筛法模板,记录今天的坑点。
|
||
|
||
---
|
||
**老师签名:XXX**
|
||
```
|
||
|
||
#### 请假记录模板
|
||
|
||
```markdown
|
||
# 请假记录
|
||
|
||
**日期**: 2026-05-05
|
||
**课程**: CSP05-10
|
||
**学生**: 刘毅潇
|
||
**状态**: 请假
|
||
**原因**: (如有)
|
||
```
|
||
|
||
#### 补课追踪模板(补课班级侧)
|
||
|
||
文件开头注明补课来源:
|
||
|
||
```markdown
|
||
(补课,来自 AICODE06洋芋周日1400)
|
||
|
||
{正常课评内容}
|
||
```
|
||
|
||
### 7.8 失败处理机制
|
||
|
||
| 失败类型 | 处理方式 | 教师感知 | 补偿机制 |
|
||
|:---------|:---------|:---------|:---------|
|
||
| 班级汇总写入失败 | 立即重试3次,仍失败则报错 | 显示错误提示 | 手动重试按钮 |
|
||
| 个人档案写入失败 | 标记FAILED,加入待补存队列 | 静默处理,下次提示 | 自动补存 |
|
||
| 并发冲突(班级) | 自动合并(追加模式) | 无感知 | 自动解决 |
|
||
| 并发冲突(个人) | 队列化处理,串行重试 | 延迟1-2秒 | 自动重试 |
|
||
| 磁盘满/权限不足 | 加入待补存队列,提醒教师 | 显示警告 | 手动触发补存 |
|
||
|
||
#### 待补存队列处理
|
||
|
||
```
|
||
检测到待补存课评(2条):
|
||
|
||
1. 乔乔 - 第7周发现世界
|
||
状态:班级汇总已保存,个人档案保存失败
|
||
原因:磁盘临时满
|
||
[立即补存] [忽略]
|
||
|
||
2. 昊昊 - 第7周发现世界
|
||
状态:班级汇总已保存,个人档案保存失败
|
||
原因:权限被拒绝
|
||
[立即补存] [忽略]
|
||
|
||
[全部补存]
|
||
```
|
||
|
||
### 7.9 批量生成界面
|
||
|
||
#### 生成完成展示
|
||
|
||
```
|
||
━━━━━━━━━━━━━━━━━━━━━━━
|
||
📊 课评生成完成(5份)|发现世界-周四19点|DISC-007
|
||
━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
✅ 已保存
|
||
|
||
✅ 乔乔 198字 已保存
|
||
✅ 昊昊 205字 已保存
|
||
✅ 张小明 192字 体验学生(仅班级汇总)
|
||
✅ 李小红 201字 补课学生(跨班级自动保存)
|
||
⚠️ 小强 165字 字数偏短(建议检查)
|
||
|
||
【操作选项】
|
||
[查看全部] [修改] [重生成]
|
||
━━━━━━━━━━━━━━━━━━━━━━━
|
||
```
|
||
|
||
#### 逐个查看模式
|
||
|
||
```
|
||
━━━━━━━━━━━━━━━━━━━━━━━
|
||
📋 课评详情 1/5 |乔乔
|
||
━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
【课评内容】
|
||
乔乔本节课学习了"旋转飞机"...
|
||
(完整课评内容)
|
||
|
||
【状态】✅ 已双轨保存
|
||
【字数】198字 ✅ 符合标准
|
||
【质量】✅ 无敏感词 ✅ 情绪合理 ✅ 学生档案完整
|
||
|
||
【操作】
|
||
[查看下一份] [修改] [重生成]
|
||
━━━━━━━━━━━━━━━━━━━━━━━
|
||
```
|
||
|
||
### 7.10 状态管理面板
|
||
|
||
在班级汇总文件顶部自动维护状态面板:
|
||
|
||
```markdown
|
||
---
|
||
class: 发现世界-周四19点
|
||
week: 7
|
||
course: DISC-007
|
||
generated_at: 2026-04-17T16:00:00
|
||
status:
|
||
total: 5
|
||
saved: 5
|
||
failed: 0
|
||
students:
|
||
- name: 乔乔
|
||
status: saved
|
||
saved_at: 2026-04-17T16:05:00
|
||
- name: 昊昊
|
||
status: saved
|
||
saved_at: 2026-04-17T16:06:00
|
||
- name: 张小明
|
||
status: saved
|
||
saved_at: 2026-04-17T16:07:00
|
||
note: 体验学生,仅班级汇总
|
||
---
|
||
|
||
## 本周课评状态
|
||
|
||
| 学生 | 状态 | 操作 |
|
||
|:-----|:----:|:----:|
|
||
| 乔乔 | ✅ 已保存 | [查看] [修改] |
|
||
| 昊昊 | ✅ 已保存 | [查看] [修改] |
|
||
| 张小明 | ✅ 已保存 | [查看] [修改] |
|
||
| 李小红 | ✅ 已保存 | [查看] [修改] |
|
||
| 小强 | ⚠️ 保存失败 | [重试] [查看] |
|
||
```
|
||
|
||
### 7.11 快捷指令速查
|
||
|
||
| 场景 | 指令 | 效果 |
|
||
|:-----|:-----|:-----|
|
||
| 查看全部 | `查看全部` | 查看本周所有已保存课评 |
|
||
| 查看单个 | `查看乔乔` | 查看乔乔的课评详情 |
|
||
| 修改课评 | `修改乔乔:把"搭建"改为"拼搭"` | 修改指定课评内容 |
|
||
| 重生成 | `重生成乔乔` | 重新生成乔乔的课评 |
|
||
| 手动补存 | `补存` / `同步` | 手动触发待补存队列处理 |
|
||
|
||
---
|
||
|
||
## 八、出勤统计(嵌入班级汇总)
|
||
|
||
> 出勤信息直接记录在班级周汇总文件中,无需独立的出勤统计文件
|
||
|
||
### 8.1 出勤判定规则
|
||
|
||
| 状态 | 图标 | 判定方式 |
|
||
|:-----|:----:|:---------|
|
||
| **出勤** | ✅ | 有档案 + 已生成课评 |
|
||
| **补课** | 🔄 | 档案在其他班级 + 来本班上课(课评状态表标注) |
|
||
| **体验/临时** | 📝 | 无档案 + 已生成课评(课评状态表标注) |
|
||
| **缺课** | ❌ | 有档案 + 未生成课评(头部人数自动体现) |
|
||
|
||
### 8.2 出勤信息位置
|
||
|
||
出勤数据直接体现在班级周汇总文件中:
|
||
|
||
**头部信息**(一行搞定):
|
||
```markdown
|
||
> 班级人数:{N}人(出勤{M}人,缺勤{K}人)
|
||
```
|
||
|
||
**课评状态表**(已有,兼做出勤记录):
|
||
```markdown
|
||
| 学生 | 状态 | 类型 | 操作 |
|
||
|:-----|:----:|:----:|:----:|
|
||
| 乔乔 | ✅ 已保存 | 常规 | [查看] |
|
||
| 小红 | ✅ 已保存 | 补课 | [查看] |
|
||
| 小明 | ✅ 已保存 | 体验 | [查看] |
|
||
```
|
||
|
||
### 8.3 查看出勤
|
||
|
||
| 指令 | 功能 | 返回内容 |
|
||
|:-----|:-----|:---------|
|
||
| `查看出勤` | 查看本周各班级出勤 | 读取各班级汇总头部信息汇总 |
|
||
| `查看{班级}出勤` | 查看指定班级 | 返回该班级汇总的头部+状态表 |
|
||
| `标记缺课 {学生}` | 手动标记缺课 | 在班级汇总中添加缺课记录 |
|
||
|
||
---
|
||
|
||
## 九、快速编辑功能
|
||
|
||
支持小修改直接编辑,无需重新生成:
|
||
|
||
```
|
||
修改乔乔:把"搭建"改为"拼搭"
|
||
修改昊昊:称呼改为"昊昊小朋友"
|
||
修改小明:在"完成了"后添加"还帮助了同伴"
|
||
```
|
||
|
||
**限制**:单次修改不超过50字,单篇累计不超过100字。超出限制建议重新生成。
|
||
|
||
---
|
||
|
||
## 十、课评规范V1.0对照规则(强制)
|
||
|
||
> 以下规则来自上级统一发布的「课评管理规范V1.0」,**所有老师必须遵守**,否则课评完成率自动化统计无法正确识别。
|
||
|
||
### 10.1 课程编号规范
|
||
|
||
**班级文件夹中的课程编号必须与校宝排课系统的 `class_name` 一致**:
|
||
|
||
| 校宝 class_name | 标准编号 | 文件名示例 |
|
||
|----------------|---------|-----------|
|
||
| CSP01信息学奥赛01 | **CSP01** | `20260418_CSP01-07.md` |
|
||
| CSP02信息学奥赛02 | **CSP02** | `20260418_CSP02-07.md` |
|
||
| CSP05信息学奥赛05 | **CSP05** | `20260418_CSP05-07.md` |
|
||
| AICODE01代码编程入门课01 | **AICODE01** | `20260418_AICODE01-07.md` |
|
||
| AICODE02代码编程入门课02 | **AICODE02** | `20260418_AICODE02-07.md` |
|
||
| AICODE03AI编程创新课03 | **AICODE03** | `20260418_AICODE03-05.md` |
|
||
| AICODE04AI编程创新课04 | **AICODE04** | `20260418_AICODE04-07.md` |
|
||
| AICODE06AI编程创新课06 | **AICODE06** | `20260418_AICODE06-07.md` |
|
||
|
||
**强制规则**:
|
||
1. C++竞赛班统一用 `CSP`:不得使用 `C++`、`信奥`、`信息学` 等作为课程前缀
|
||
2. AI编程班统一用 `AICODE`:不得使用 `AI`、`AI03`、`AI01` 等缩写,必须是完整编号
|
||
3. **编号必须与校宝一致**:校宝叫 CSP01 就是 CSP01,叫 AICODE03 就是 AICODE03
|
||
|
||
### 10.2 目录结构标准
|
||
|
||
```
|
||
.claude/memory/class/
|
||
├── {课程编号}{老师}{星期时间}/ # 如 AICODE03小Q周五1900
|
||
│ ├── summaries/
|
||
│ ├── {学生姓名}/
|
||
│ │ ├── feedback/
|
||
│ │ │ └── YYYYMMDD_课程编号-课次.md
|
||
│ │ └── profile.md
|
||
│ └── 补课/
|
||
│ └── {学生姓名}/
|
||
│ └── feedback/
|
||
│ └── YYYYMMDD_课程编号.md
|
||
└── ...
|
||
```
|
||
|
||
### 10.3 日期匹配规则
|
||
|
||
**文件名中的 YYYYMMDD 必须与校宝 teaching_date 完全一致。**
|
||
|
||
常见错误:
|
||
- ❌ 用课评编写/提交日期而非实际上课日期
|
||
- ❌ 周六上课但文件标周日日期
|
||
- ❌ 用课次所属周的周一/周日日期
|
||
|
||
**正确做法**:上完课当天就写完课评,文件名日期取校宝排课日期。
|
||
|
||
### 10.4 课评完成率统计规则
|
||
|
||
#### 数据来源
|
||
- **出勤基准**:校宝 API 排课数据(`teaching-schedule`),以校宝为准
|
||
- **统计范围**:仅统计 CSP 和 AICODE 班级
|
||
- **时间范围**:默认上周三到本周二
|
||
|
||
#### 出勤状态判定
|
||
|
||
| 校宝 attendance_status | 判定 | 课评要求 |
|
||
|----------------------|------|---------|
|
||
| 含 `到课`/`出勤`/`签到` | **到课** | 必须有课评文件 |
|
||
| 含 `请假` | **请假** | 当天不要求课评 |
|
||
| 其他 | **缺勤** | 不要求 |
|
||
|
||
- 补课学生(`student_identity = 补课`)按到课处理,必须有课评
|
||
- 试听学生(`student_identity = 试听`)按到课处理,必须有课评
|
||
|
||
#### 三级查找规则
|
||
|
||
对校宝中每个到课学生,系统按以下优先级查找课评文件:
|
||
|
||
```
|
||
校宝记录:学生S 在日期D 到课,排课老师为T,班级编号为B
|
||
|
||
第1级 → 去老师T的仓库,在班级B对应目录下查找
|
||
路径:T仓库/.claude/memory/class/{含B的目录}/S/feedback/
|
||
文件:YYYYMMDD(D)_*.md(排除汇总/登记/总结/班级反馈)
|
||
找到 → 匹配成功 ✓
|
||
未找到 → 进入第2级
|
||
|
||
第2级 → 去老师T的仓库,在其他所有班级的 补课/ 目录下查找
|
||
路径:T仓库/.claude/memory/class/{其他班级}/补课/S/feedback/
|
||
找到 → 匹配成功 ✓
|
||
未找到 → 进入第3级
|
||
|
||
第3级 → 去其他所有老师的仓库,在所有班级的 补课/ 目录下查找
|
||
路径:其他老师仓库/.claude/memory/class/{任意班级}/补课/S/feedback/
|
||
找到 → 匹配成功 ✓
|
||
未找到 → 标记为「缺失」✗
|
||
```
|
||
|
||
#### 完成率计算
|
||
|
||
```
|
||
应发总数 = 到课学生数(本班到课 + 补课到课 + 试听到课)
|
||
已完成 = 按三级查找规则匹配到的学生数
|
||
完成率 = 已完成 / 应发总数 × 100%
|
||
```
|
||
|
||
请假学生不纳入应发总数。请假学生后续在其他课堂补课(校宝中以补课身份出现),按到课学生处理。
|
||
|
||
#### 学生名匹配规则
|
||
|
||
- 去除空格后比较
|
||
- 支持包含匹配(如仓库 `梁铭轩` 可匹配校宝 `梁铭轩(大)`)
|
||
- 去除后缀标记如 `(am)`、`1` 等再尝试
|
||
|
||
### 10.5 补课双向记录规范
|
||
|
||
补课产生两条记录,分别在原班级和补课班级:
|
||
|
||
**场景**:洋芋老师的学生王五,到茄子老师的 AICODE03 班补课
|
||
|
||
**1) 原班级侧(洋芋老师)**:
|
||
- 文件:`feedback/20260510_AICODE06-03(补课-去AICODE03茄子周六1600).md`
|
||
- 内容:简要说明去哪补课
|
||
|
||
**2) 补课班级侧(茄子老师)**:
|
||
- 文件:`补课/王五/feedback/20260510_AICODE03-05.md`
|
||
- 内容开头注明:`(补课,来自 AICODE06洋芋周日1400)`,后续正常写课评
|
||
|
||
### 10.6 课后必做清单
|
||
|
||
- [ ] 为每位**到课**学生编写个人课评(保存到 `feedback/YYYYMMDD_课程编号-课次.md`)
|
||
- [ ] 日期取校宝排课日期,不是编写日期
|
||
- [ ] 补课学生必须有课评(放在补课班级的 `补课/学生名/feedback/` 下)
|
||
- [ ] 编写班级总结(保存到 `summaries/YYYYMMDD_课程编号-课次_班级反馈.md`)
|
||
- [ ] 课程编号使用标准格式(CSP/AICODE),不得使用缩写
|