同步课评规范V1.0 v4.0:课程编号规范、目录结构、完成率统计规则

- 课程编号:CSP (C++) / AICODE (AI编程),必须与校宝一致
- 目录结构:.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md
- 文件命名:(请假)/(补课-去班级名) 后缀标记
- 完成率统计:三级查找规则(本班级→跨班级补课→其他老师仓库)
- keping-advanced skill 完整重写至 v4.0
- 所有 AI03 → AICODE03,所有 memory/student/ → .claude/memory/class/
This commit is contained in:
qiuyan
2026-05-14 13:41:26 +08:00
parent 079a09d743
commit bfc69267f6
12 changed files with 612 additions and 447 deletions

View File

@@ -1,7 +1,9 @@
# 核心规则
> 合并文件:系统基础规则 + 年龄段分类 + 课程类型定义 + 评价维度 + 评分标准
> 版本v3.1(合并版)| 更新日期2026-05-05
> 版本v4.0 | 更新日期2026-05-14
>
> **v4.0 变更**同步课评规范V1.0 — 新增3.4节「校宝课程编号规范」C++班统一用CSP、AI编程班统一用AICODE+编号
---
@@ -60,7 +62,7 @@
| 中班 | 4-5岁 | AGE_ZB | 想象力丰富,开始合作游戏 | 发明世界(智能笔) |
| 大班 | 5-6岁 | AGE_DB | 逻辑思维萌芽,任务意识增强 | 创造世界WEDO |
| 小学低年级 | 6-8岁 | AGE_PS_LOW | 抽象思维起步,规则意识强 | SPIKE |
| 小学中年级 | 8-10岁 | AGE_PS_MID | 逻辑思维发展,自主学习 | AI03 |
| 小学中年级 | 8-10岁 | AGE_PS_MID | 逻辑思维发展,自主学习 | AICODE03 |
### 2.2 各年龄段课评重点
@@ -121,6 +123,28 @@ IF age >= 8 AND age <= 10 → 小学中年级
8-10岁Python + AI启蒙 + 高级机器人
```
### 3.4 校宝课程编号规范课评规范V1.0强制要求)
> **所有课程编号必须与校宝排课系统中的 `class_name` 一致**,否则课评完成率自动化统计无法识别。
| 校宝 class_name | 标准编号 | 说明 |
|----------------|---------|------|
| CSP01信息学奥赛01 | **CSP01** | C++ 信息学奥赛班 |
| CSP02信息学奥赛02 | **CSP02** | |
| CSP05信息学奥赛05 | **CSP05** | |
| AICODE01代码编程入门课01 | **AICODE01** | AI 代码编程班 |
| AICODE02代码编程入门课02 | **AICODE02** | |
| AICODE03AI编程创新课03 | **AICODE03** | |
| AICODE04AI编程创新课04 | **AICODE04** | |
| AICODE06AI编程创新课06 | **AICODE06** | |
**强制规则**
1. **C++竞赛班统一用 `CSP`**:不得使用 `C++``信奥``信息学` 等缩写
2. **AI编程班统一用 `AICODE`**:不得使用 `AI``AI03` 等缩写,必须是完整的 `AICODE01``AICODE03`
3. **编号必须与校宝一致**:校宝叫 CSP01 就是 CSP01叫 AICODE03 就是 AICODE03
> **影响范围**:课评完成率自动化统计仅统计 CSP 和 AICODE 班级。乐高学前课程TUBE/DISC/INVENT/CREATE/SPIKE暂未纳入自动统计但建议遵循相同的目录结构规范。
---
## 四、评价维度与指标

View File

@@ -19,7 +19,7 @@
|---------|---------|---------|---------|
| 幼儿积木搭建(意识/发现/发明/创造世界) | 2.5-6岁 | 温暖活泼,画面感强,像蹲下来跟孩子说话 | 180-350字 |
| 少儿编程入门SPIKE/WEDO | 6-8岁 | 尊重平等,准确使用术语但不堆砌 | 190-350字 |
| 机器人竞赛进阶(AI03/AICODE | 8-10岁 | 专业竞技感,数据说话,承认比赛残酷 | 200-350字 |
| 机器人竞赛进阶AICODE03 | 8-10岁 | 专业竞技感,数据说话,承认比赛残酷 | 200-350字 |
---

View File

@@ -2,7 +2,7 @@
> 2026春季学期课程安排与周数计算规则
> 学期开始2026年3月2日第一周
> 当前日期2026年5月5日(第十周)
> 当前日期2026年5月14日(第十周)
> **重要说明**:周数仅用于后端自动匹配课程主题,**课评正文不显示周数信息**
---
@@ -57,8 +57,8 @@
| 第7周 | 4月13日 - 4月19日 | |
| 第8周 | 4月20日 - 4月26日 | |
| 第9周 | 4月27日 - 5月3日 | 劳动节调休 |
| 第10周 | 5月4日 - 5月10日 | **当前周** |
| 第11周 | 5月11日 - 5月17日 | |
| 第10周 | 5月4日 - 5月10日 | |
| 第11周 | 5月11日 - 5月17日 | **当前周** |
| 第12周 | 5月18日 - 5月24日 | |
| 第13周 | 5月25日 - 5月31日 | |
| 第14周 | 6月1日 - 6月7日 | 儿童节 |
@@ -123,18 +123,18 @@
| 第19周 | SPIKE-019 | 电子滚轮米尺 | 距离测量、数据显示、实用工具 | 数学应用、工具设计 |
| 第20周 | SPIKE-020 | 感应道闸 | 自动识别、开关控制、安全系统 | 物联网应用、系统设计 |
### 2.3 AI03-AICODE课程 - 20周完整主题
### 2.3 AICODE03课程 - 20周完整主题
| 周数 | 课程代码 | 课程主题 | 核心知识点 | 能力目标 |
|:---:|:-------:|:---------|:-----------|:---------|
| 第1周 | AI03-001 | Prompt基础 | 提示词结构、AI对话、基础指令 | AI认知、沟通技巧 |
| 第2周 | AI03-002 | 图像生成 | 文生图、风格描述、创意表达 | 多媒体创作、审美能力 |
| 第3周 | AI03-003 | 代码辅助 | AI编程助手、代码解释、调试帮助 | 编程效率、学习能力 |
| 第4周 | AI03-004 | 数据分析 | 数据处理、图表生成、结论提炼 | 数据思维、逻辑思维 |
| **第5周** | **AI03-005** | **项目整合** | **多AI协作、工作流设计、成果输出** | **系统思维、项目管理** |
| 第6周 | AI03-006 | 未来职业预测器 | AI工具链整合、项目开发、测试迭代 | AI协作、产品开发 |
| 第7周 | AI03-007 | 超能力抽签机 | 随机算法、交互设计、视觉美化 | 编程逻辑、创意设计 |
| **第8周** | **AI03-008** | **我的个人主页(上)** | **内容先行、板块化设计、自定义智能体** | **拆解力、审美力、AI协作** |
| 第1周 | AICODE03-001 | Prompt基础 | 提示词结构、AI对话、基础指令 | AI认知、沟通技巧 |
| 第2周 | AICODE03-002 | 图像生成 | 文生图、风格描述、创意表达 | 多媒体创作、审美能力 |
| 第3周 | AICODE03-003 | 代码辅助 | AI编程助手、代码解释、调试帮助 | 编程效率、学习能力 |
| 第4周 | AICODE03-004 | 数据分析 | 数据处理、图表生成、结论提炼 | 数据思维、逻辑思维 |
| **第5周** | **AICODE03-005** | **项目整合** | **多AI协作、工作流设计、成果输出** | **系统思维、项目管理** |
| 第6周 | AICODE03-006 | 未来职业预测器 | AI工具链整合、项目开发、测试迭代 | AI协作、产品开发 |
| 第7周 | AICODE03-007 | 超能力抽签机 | 随机算法、交互设计、视觉美化 | 编程逻辑、创意设计 |
| **第8周** | **AICODE03-008** | **我的个人主页(上)** | **内容先行、板块化设计、自定义智能体** | **拆解力、审美力、AI协作** |
> 第9-20周课程主题待更新
@@ -184,11 +184,11 @@
## 四、快速查询
### 4.1 当前周信息2026年5月5日)
- **周数**第10
- **发现世界主题**DISC-010 梳妆台(功能分区、镜子安装
- **SPIKE主题**SPIKE-010 电动螺丝刀(工具复刻、扭矩控制)
- **AI03主题**AI03-008 我的个人主页第8周内容第9周后待更新
### 4.1 当前周信息2026年5月14日)
- **周数**第11
- **发现世界主题**DISC-011 鳄鱼(嘴巴开合、铰链结构
- **SPIKE主题**SPIKE-011 摩天轮(圆周运动、速度控制)
- **AICODE03主题**AICODE03-008 我的个人主页第8周第9周后待更新
### 4.2 输入简化格式
教师只需提供:
@@ -209,7 +209,8 @@
## 五、版本信息
- **版本**v1.0
- **创建日期**2026-04-02
- **版本**v4.0
- **更新日期**2026-05-14
- **适用范围**2026春季学期全部课程
- **维护者**:穹狼教学团队
- **v4.0 变更**同步课评规范V1.0 — AI03课程代码改为AICODE03如AI03-005 → AICODE03-005更新当前周数至第11周

View File

@@ -1,12 +1,16 @@
# 工作流程规则:输入格式、批量生成、存储与特殊处理
> 合并文件:快捷输入格式 + 批量课评生成 + 新学生/补课处理 + 速记符号 + 快速入门
> 版本v3.2(拆分版)| 更新日期2026-05-05
> 版本v4.0(课评规范同步版)| 更新日期2026-05-14
>
> **v4.0 变更**
> - 新增第10节「课评规范V1.0对照规则」:课程编号、目录结构、文件命名、日期匹配、完成率统计、三级查找
> - 重写第5节「存储规则」以 `.claude/memory/class/` 标准目录结构为准
> - 更新第7节「自动双轨保存机制」改为单次文件保存 + 班级总结
> - 更新第3节「学生类型标记」保存位置指向新路径
> - 新增补课双向记录规则
>
> **v3.2 变更**
> - 速记符号系统拆分至 `21-shorthand.md`
> - 补课/新学生/转正规则拆分至 `22-student-mgmt.md`
> - 修复第10节重复子章节原10.3-10.7出现两次)
---
@@ -172,100 +176,96 @@ AI自动匹配班级学生名单实时纠正谐音
---
## 五、存储规则
## 五、存储规则(课评规范标准结构)
### 5.1 双轨保存机制
> ⚠️ **课评规范V1.0强制要求**:课评必须按次按学生**单独文件**保存,不可用汇总文件代替单次课评。目录结构必须遵循 `.claude/memory/class/` 标准,否则课评完成率自动化统计无法识别。
| 存储位置 | 文件路径 | 用途 | 时机 |
|---------|---------|------|------|
| **班级周汇总** | `memory/class-evaluation-summary/第X周/{班级}.md` | 每周全班课评汇总(含出勤) | 生成后自动保存 |
| **个人档案** | `memory/student/{班级}/{学生名}/历史课评记录.md` | 个人完整轨迹 | 生成后自动保存 |
### 5.1 标准目录结构
### 5.2 存储优先级
```
.claude/memory/class/
├── {班级名称}/ # 命名:{课程编号}{老师}{星期时间}(如 AICODE03小Q周五1900
│ ├── summaries/ # 班级总结/群发文案
│ │ ├── YYYYMMDD_课程编号-课次_班级反馈.md
│ │ └── YYYYMMDD_课程编号-课次_微信群.txt
│ ├── {学生姓名}/ # 学生个人目录
│ │ ├── feedback/ # 【个人课评目录 - 核心】
│ │ │ ├── YYYYMMDD_课程编号-课次.md # 正常课评
│ │ │ ├── YYYYMMDD_课程编号-课次(请假).md # 请假记录
│ │ │ └── YYYYMMDD_课程编号-课次(补课-去班级名).md # 补课追踪
│ │ └── profile.md # 学生画像
│ └── 补课/ # 补课学生专用目录
│ └── {学生姓名}/
│ └── feedback/
│ └── YYYYMMDD_课程编号.md
├── {班级名称2}/
└── ...
```
1. **第一优先级**:班级周汇总(必须成功)
2. **第二优先级**:个人档案(允许失败,下次补存)
### 5.2 文件命名规范
### 5.3 失败处理
#### 课程编号规则
- 班级汇总保存成功,个人档案保存失败 → 记录到待补存队列,下次生成前自动补存
**必须与校宝排课系统中的 `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 失败处理
- 个人课评文件保存失败 → 记录到待补存队列,下次生成前自动补存
- 教师可输入`补存``同步`手动触发
### 5.4 学生类型保存对照
| 类型 | 标记 | 保存位置 |
|------|------|---------|
| 正式学生 | 无标记 | 班级汇总 + 个人档案 |
| 本班补课 | `[补课]` + 当前班级档案存在 | 班级汇总 + 个人档案 |
| 跨班级补课 | `[补课]` + 其他班级档案存在 | 班级汇总(补课班级)+ 个人档案(原班级,标注补课信息)|
| 体验学生 | `[体验]` | 仅班级汇总 |
| 缺课学生 | `[缺课]` | 仅班级汇总(记录缺席)|
### 5.5 班级周汇总文件格式
班级周汇总文件包含以下部分:
#### 头部信息
```markdown
# {班级名} 第{X}周汇总
> 课程代码:{CODE-XXX}
> 课程主题:{主题名称}{知识点}
> 上课日期:{YYYY-MM-DD}{星期} {时间段}
> 班级人数:{N}人(出勤{M}人,缺勤{K}人)
> 代课老师:{老师姓名(如有)}
```
> **规则**
> 1. 如未特别标明代课老师,默认本班由常规老师授课,头部信息中不显示代课老师字段,班级整体情况中不显示代课老师反馈部分。
> 2. **出勤判定**:有课评=出勤,无课评=缺课。补课/体验在课评状态表中标注。
#### 本周课评状态
```markdown
## 本周课评状态
| 学生 | 状态 | 类型 | 档案位置 | 操作 |
|:-----|:----:|:----:|:---------|:----:|
| {姓名}{小名} | ✅ 已保存 | 常规学生 | 本班 | [查看] [修改] |
| {姓名}{小名} | ✅ 已保存 | 补课学生 | {原班级} | [查看] [修改] |
| {姓名}{小名} | ✅ 已保存 | 体验学生 | - | [查看] [修改] |
```
#### 学生课评列表
每个学生包含:
- 学生姓名(小名)
- 类型标记(补课/体验/常规)
- 三段式课评内容
- 教师备注
#### 本周班级整体情况
```markdown
## 本周班级整体情况
### 课程目标达成度
- **知识点掌握**{主题}{N}/{N}学生掌握)
- **技能操作**{技能点}{掌握情况}
- **{其他维度}**{评估结果}
### 共性亮点
1. {亮点1}
2. {亮点2}
3. {亮点3}
### 共性问题
1. {问题1}
2. {问题2}
### 教师反馈
> {授课老师的整体评价}
>
> **注**:如为代课老师授课,标题改为"代课老师反馈",并注明代课老师姓名。
```
---
## 六、推荐工作流程
@@ -301,74 +301,74 @@ AI生成 → 查看质量报告 → 完成(已自动双轨保存)
## 七、自动双轨保存机制(核心功能)
> 课评生成后立即自动保存到班级汇总和个人档案,无需教师确认
> 课评生成后立即自动保存为个人课评文件 + 班级总结,无需教师确认
### 7.1 机制概述
```
生成阶段 保存阶段 完成阶段
───────── ───────── ─────────
AI生成课评 → 【自动双轨保存】 → 教师可随时查看/修改
↓ ↓ ↓
质量检查通过 → 班级汇总 + 个人档案 → 完成(无需确认)
生成阶段 保存阶段 完成阶段
───────── ───────── ─────────
AI生成课评 → 【自动保存】 → 教师可随时查看/修改
↓ ↓
质量检查通过 → feedback/YYYYMMDD_课程编号.md → 完成(无需确认)
+ summaries/YYYYMMDD_课程编号_班级反馈.md
```
**核心原则**
-**生成即双轨保存**:课评生成后立即自动保存到班级周汇总和个人档案
-**生成即保存**:课评生成后立即自动保存为单次课评文件到 `feedback/`
-**无需确认**:教师无需点击"确认",课评直接生效
-**全程可修改**:生成后教师可随时修改,修改后自动同步到两个位置
-**出勤自动记录**:有课评即视为出勤,状态直接体现在班级汇总中
-**全程可修改**:生成后教师可随时修改文件内容
-**文件名即考勤**:有课评文件即视为出勤
### 7.2 保存流程
#### 标准流程
```
教师输入表现 → AI生成课评 → 质量检查 → 【自动双轨保存】→ 完成
教师输入表现 → AI生成课评 → 质量检查 → 【自动保存到 feedback/】→ 完成
```
#### 详细步骤
```python
def on_evaluation_generated(student, evaluation):
def on_evaluation_generated(student, evaluation, class_info):
"""课评生成后自动触发"""
# 1. 质量检查
if not quality_check(evaluation):
return regenerate(student)
# 2. 自动保存到班级汇总
# 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_class_summary(student, evaluation)
log_success(f"{student} 课评已保存到班级汇总")
save_to_file(filepath, format_evaluation(evaluation))
log_success(f"{student} 课评已保存{filepath}")
except SaveError as e:
log_error(f"班级汇总保存失败:{e}")
log_error(f"个人课评文件保存失败:{e}")
return retry_or_alert()
# 3. 自动保存到个人档案(如有档案)
if has_archive(student):
try:
save_to_personal_archive(student, evaluation)
log_success(f"{student} 课评已保存到个人档案")
except SaveError as e:
add_to_compensation_queue(student, evaluation, error=e)
log_warning(f"{student} 个人档案保存失败,已加入补存队列")
# 4. 展示给教师(已保存状态)
return show_to_teacher(student, evaluation, status="已保存")
return show_to_teacher(student, evaluation, filename=filename, status="已保存")
```
### 7.3 学生类型处理
### 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 自动触发条件
| 场景 | 触发动作 | 自动保存 |
@@ -379,9 +379,9 @@ def on_evaluation_generated(student, evaluation):
**自动保存优先级**
```
优先级1必须成功班级周汇总文件写入
优先级1必须成功个人课评文件 feedback/*.md
↓ 成功
优先级2允许失败个人档案写入
优先级2允许失败班级总结 summaries/*.md
↓ 失败
加入待补存队列,下次触发时重试
```
@@ -439,116 +439,46 @@ AI定位班级汇总中乔乔的课评
提示修改完成
```
### 7.7 个人档案存储格式规范
### 7.7 个人课评文件内容格式
#### 文件结构
#### 标准课评模板(单次文件)
个人档案`memory/student/{班级}/{学生名}/历史课评记录.md`必须遵循以下结构
个人课评文件 `feedback/YYYYMMDD_课程编号-课次.md` 内容格式
```markdown
# 历史课评记录
# 课程名称CSP05-07 初等数论2
> 按时间倒序记录所有课后评价(最新课评始终在最上方)
## 学生信息
- **姓名**{学生姓名}
- **班级**{班级名称}
- **建档日期**{YYYY-MM-DD}
## 课评记录列表
### 最新记录
### {日期} | {课程代码} | {课程主题}
**核心表现**{关键词}
**授课日期**: 2026-04-18
**课评内容**
{三段式课评内容}
学生今天课堂非常认真三类作业全部完成。但课堂练习调试12次2次运行错误、3次答案错误、2次编译错误说明边界条件和代码规范性还需加强。建议每道题重新手写框架减少复用旧代码这样基础更扎实。
**能力评估**(当时):
- 专注度:/5
- 精细动作:/5
- 工具使用:/5
- 问题解决:/5
- 社交合作:/5
**教师备注**
- 亮点:
- 需关注:
- 保存时间:{日期时间}
- 代课老师:{如有}
课后整理埃氏筛法模板,记录今天的坑点。
---
### {更早日期} | {课程代码} | {课程主题}
...
**老师签名XXX**
```
#### 存储顺序规则(重要)
#### 请假记录模板
**必须遵循:时间倒序排列,最新课评在最上方**
```markdown
# 请假记录
```
文件结构示意:
# 历史课评记录
### 最新记录 ← 这是占位符,指向最新的课评
### 2026-05-01 | DISC-009 ← 最新课评第1条刚保存的
...
---
### 2026-04-23 | DISC-008 ← 次新课评第2条
...
---
### 2026-04-17 | DISC-007 ← 更早前课评第3条
...
---
**日期**: 2026-05-05
**课程**: CSP05-10
**学生**: 刘毅潇
**状态**: 请假
**原因**: (如有)
```
#### 追加新课的算法
#### 补课追踪模板(补课班级侧)
```python
def append_evaluation_to_archive(student, new_evaluation):
"""
将新课评追加到个人档案
规则:插入到文件顶部(最新记录位置)
"""
# 1. 读取现有档案
archive = read_personal_archive(student)
# 2. 定位插入点("### 最新记录"标记之后)
insert_position = find_marker(archive, "### 最新记录")
# 3. 构建新课评条目(包含日期、课程代码、内容等)
new_entry = format_evaluation_entry(new_evaluation)
# 4. 插入到顶部(确保最新在最上面)
archive.insert_after(insert_position, new_entry)
# 5. 保存文件
write_personal_archive(student, archive)
log_success(f"{student} 新课评已保存到个人档案顶部")
```
文件开头注明补课来源:
#### 现有档案顺序修复
```markdown
(补课,来自 AICODE06洋芋周日1400
对于已存在顺序混乱的档案,提供修复指令:
```
教师输入:修复{学生}档案顺序
教师输入:整理{学生}历史课评
AI处理
1. 读取该学生所有历史课评
2. 按日期降序排序(最新的在前)
3. 重写个人档案文件
4. 报告修复结果
{正常课评内容}
```
### 7.8 失败处理机制
@@ -723,3 +653,137 @@ students:
```
**限制**单次修改不超过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不得使用缩写

View File

@@ -1,7 +1,9 @@
# 学生特殊处理:补课、新学生、转正
> 从 20-workflow.md 拆分,专注补课/体验/新学生/转正规则
> 版本v3.1 | 更新日期2026-05-05
> 版本v4.0 | 更新日期2026-05-14
>
> **v4.0 变更**同步课评规范V1.0 — 新增补课双向记录规则;更新存储路径为 `.claude/memory/class/` 标准结构;新增补课目录 `补课/` 专用路径
---
@@ -33,21 +35,21 @@
### 1.2 补课学生分类处理
**情况A自己班级的学生补课**
- **判断**:学生在 `memory/student/{当前班级}/` 目录中存在
- **处理**:正常双轨保存(班级汇总 + 个人档案)
- **判断**:学生在 `.claude/memory/class/{当前班级}/` 目录中存在
- **处理**:正常生成课评到 `feedback/YYYYMMDD_课程编号-课次.md`
**情况B跨班级补课档案在其他班级**
- **判断**:学生在 `memory/student/{其他班级}/` 目录中存在
- **处理**:自动双轨保存(跨班级模式
- ✅ 保存到补课班级周汇总
-追加到原班级个人历史课评记录.md标注补课班级信息
- **判断**:学生在 `.claude/memory/class/{其他班级}/` 目录中存在
- **处理**:自动跨班级保存(课评规范标准
-课评文件保存到补课班级`补课/{学生名}/feedback/YYYYMMDD_课程编号.md`
-原班级侧生成补课追踪文件 `feedback/YYYYMMDD_课程编号-课次(补课-去班级名).md`
- **无需询问,自动完成**
**情况C其他老师班级补课学生**
- **判断**:任何班级都不存在该学生档案
- **处理**:询问后决定
- [1] 保存到班级汇总
- [2] 创建新档案(双轨保存
- [1] 保存到补课班级的 `补课/{学生名}/feedback/`(仅班级记录)
- [2] 创建新档案(在本班建立 `profile.md`
### 1.3 跨班级补课示例
@@ -60,10 +62,11 @@ AI检测
判断跨班级补课学生原班级周四19点补课班级周六09点
自动处理:
课评保存到「第8周/发现世界-周六09点.md」补课班级周汇总
→ 课评追加到「student/发现世界-周四19点/林瀚丞/历史课评记录.md」原班级个人档案
标注【跨班级补课】本节课程在周六09点班完成
自动处理(课评规范标准)
补课班级侧:保存到「补课/林瀚丞/feedback/YYYYMMDD_DISC-008.md」
(内容开头注明"(补课,来自 发现世界-周四19点"
→ 原班级侧:保存到「林瀚丞/feedback/YYYYMMDD_DISC-008(补课-去发现世界-周六09点).md」
(简要记录补课去向)
```
---
@@ -110,3 +113,35 @@ AI检测
```
**快捷指令**`小明转正``小明[正式]`
---
## 四、课评规范V1.0补课记录要求
### 4.1 补课目录结构
```
.claude/memory/class/{补课班级}/
├── 学生姓名/ ← 正式学生
│ └── feedback/
│ └── YYYYMMDD_课程编号.md
└── 补课/ ← 补课学生专用
└── {学生姓名}/
└── feedback/
└── YYYYMMDD_课程编号.md
```
### 4.2 双向记录
**补课产生两条文件记录**
| 位置 | 文件名 | 内容 |
|------|--------|------|
| 原班级侧 | `feedback/YYYYMMDD_课程编号-课次(补课-去班级名).md` | 记录"去了哪补课" |
| 补课班级侧 | `补课/{学生}/feedback/YYYYMMDD_课程编号.md` | 正常课评,开头注明来源 |
### 4.3 自动化统计影响
- 补课学生必须在补课班级的 `补课/` 目录下有课评文件
- 原班级侧的 `(补课-去...).md` 文件用于标记出勤状态(补课=到课)
- 系统三级查找的第二级会搜索所有 `补课/` 目录

View File

@@ -1,7 +1,9 @@
# 学生管理规则:画像建立、千人千面、姓名处理
> 合并文件:班级差异与千人千面 + 学生画像建立指南 + 姓名处理规则
> 版本v3.1(合并版)| 更新日期2026-05-05
> 版本v4.0 | 更新日期2026-05-14
>
> **v4.0 变更**同步课评规范V1.0 — 更新档案存储路径为 `.claude/memory/class/` 标准;学生画像文件改为固定名 `profile.md`
---
@@ -62,15 +64,23 @@ Step 6: 持续更新成长轨迹
| 成长轨迹 | 每次课后 |
| 家长沟通 | 需要时 |
### 1.6 档案存储位置
### 1.6 档案存储位置(课评规范标准)
```
memory/student/{班级}/{学生名}/
├── 用户画像.md # 核心档案
├── 历史课评记录.md # 课评记录
└── 成长素材.md # 照片/作品记录
.claude/memory/class/{班级}/{学生名}/
├── feedback/ # 课评目录(单次单独文件)
│ ├── YYYYMMDD_课程编号-课次.md # 课评文件
│ ├── YYYYMMDD_课程编号-课次(请假).md # 请假记录
│ └── ...
├── profile.md # 学生画像(固定文件名)
└── summaries/ # 阶段性总结(可选)
└── YYYY-MM_月度总结.md
```
> **历史数据**保留在 `memory/student/` 下,新课评按此标准路径保存。
>
> **课评规范要求**:学生画像文件必须命名为 `profile.md`(而非`用户画像.md`),课评文件使用 `YYYYMMDD_课程编号-课次.md` 格式。
---
## 二、姓名处理规则
@@ -240,6 +250,6 @@ TUBE-001 小小班A班
## 五、相关文件
- **用户画像模板**`memory/student/用户画像模板.md`
- **历史课评模板**`memory/student/历史课评记录模板.md`
- **成长素材模板**`memory/student/成长素材模板.md`
- **用户画像模板**`memory/student/用户画像模板.md`(历史)
- **标准课评模板**详见 [20-workflow.md 第7.7节](20-workflow.md)
- **课评规范全文**[20-workflow.md 第10节](20-workflow.md) 课评规范V1.0对照

View File

@@ -6,9 +6,10 @@
>
> **首次上课/补课说明**:详见 [20-workflow.md](20-workflow.md)第3节、第7节
>
> **存储位置**生成后自动双轨保存
> - 班级周汇总:`memory/class-evaluation-summary/第X周/{班级}.md`
> - 个人历史课评:`memory/student/{班级}/{学生名}/历史课评记录.md`
> **存储位置**课评规范标准
> - **个人课评文件**`.claude/memory/class/{班级}/{学生名}/feedback/YYYYMMDD_课程编号-课次.md`
> - **班级总结**`.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md`
> - **历史档案**(过渡保留):`memory/student/{班级}/{学生名}/`
---

View File

@@ -1,13 +1,14 @@
# 课评输出格式规则 - 小学版6-10岁
> 适用课程SPIKE一年级AI03-AICODE四年级
> 适用课程SPIKE一年级、AICODE03(四年级)
> 特点:结构化呈现,视觉化分隔,降低阅读负担,专业清晰
>
> **首次上课/补课说明**:详见 [20-workflow.md](20-workflow.md)第3节、第7节
>
> **存储位置**生成后自动双轨保存
> - 班级周汇总:`memory/class-evaluation-summary/第X周/{班级}.md`
> - 个人历史课评:`memory/student/{班级}/{学生名}/历史课评记录.md`
> **存储位置**课评规范标准
> - **个人课评文件**`.claude/memory/class/{班级}/{学生名}/feedback/YYYYMMDD_课程编号-课次.md`
> - **班级总结**`.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md`
> - **历史档案**(过渡保留):`memory/student/{班级}/{学生名}/`
---
@@ -191,7 +192,7 @@
━━━━━━━━━━━━━━━━━━━━━━━
📊 课评报告|怡瞳|四年级
━━━━━━━━━━━━━━━━━━━━━━━
📅 2026-03-26 AI03-001 初识AI协作
📅 2026-03-26 AICODE03-001 初识AI协作
```
---
@@ -435,13 +436,13 @@ Prompt编写的基本概念理解了能写出简单的指令让AI执行。但
---
### 示例2AI03四年级
### 示例2AICODE03四年级
```
━━━━━━━━━━━━━━━━━━━━━━━
📊 课评报告|怡瞳|四年级
━━━━━━━━━━━━━━━━━━━━━━━
📅 2026-03-26 AI03-001 初识AI协作
📅 2026-03-26 AICODE03-001 初识AI协作
【核心表现】