同步课评规范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协作
【核心表现】

View File

@@ -1,7 +1,7 @@
---
name: keping-advanced
description: 穹狼乐高编程高级课评生成Skill。当用户需要生成个性化课评、写课后反馈、创建学生评价时使用。根据学生画像、课程教案、历史课评、学期周数等多维度信息自动生成180-350字专业课评根据输入丰富度弹性调整。支持自动周数计算和主题关联。采用"生成即双轨保存"流程:课评生成后立即自动保存到班级周汇总和个人档案,无需教师确认。同时自动更新出勤统计。支持补课/体验学生的灵活处理(可仅保存到班级周汇总)。适用于2.5岁-小学四年级学生,支持幼儿积木、少儿编程、机器人竞赛等多种课程类型。触发词:/课评、/keping、/写课评、生成课评。
version: 3.1.0
description: 穹狼乐高编程高级课评生成Skill。当用户需要生成个性化课评、写课后反馈、创建学生评价时使用。根据学生画像、课程教案、历史课评、学期周数等多维度信息自动生成180-350字专业课评根据输入丰富度弹性调整。支持自动周数计算和主题关联。采用"生成即自动保存"流程:课评生成后立即自动保存到 feedback/ 个人课评文件课评规范V1.0标准),无需教师确认。支持补课/体验学生的灵活处理。适用于2.5岁-小学四年级学生,支持幼儿积木、少儿编程、机器人竞赛等多种课程类型。触发词:/课评、/keping、/写课评、生成课评。
version: 4.0.0
author: 穹狼教学团队
---
@@ -21,33 +21,32 @@ author: 穹狼教学团队
---
## 8步执行流程v3.1 生成即双轨保存模式 + 出勤统计自动更新
## 8步执行流程v4.0 课评规范V1.0标准 + 自动保存
```
┌─────────────────────────────────────────────────────────────────────────┐
│ Step 1: 读取学生用户画像 │
│ ├── 情况A学生档案存在 → 正常读取
│ ├── 情况A学生档案存在 → 正常读取 `.claude/memory/class/{班级}/{学生}/profile.md`
│ └── 情况B学生档案不存在补课/体验学生)→ 标记类型 │
│ Step 2: 读取对应课程的课评规则 │
│ Step 3: 读取本节课教案内容(含周数计算) │
│ Step 4: 读取该学生近10次历史课评如存在
│ Step 4: 读取该学生近10次历史课评如存在,从 feedback/ 目录读取)
│ Step 5: 结合教师提供的本节课表现 │
│ Step 6: 生成180-350字个性化课评根据输入丰富度弹性调整
│ ↓ 【自动生成】 │
│ Step 7: 【自动双轨保存】
│ ├── 7.1 保存到班级周汇总:`memory/class-evaluation-summary/第X周/{班级}.md` │
│ ├── 7.2 保存到个人历史课评(如有档案):
│ ├── 常规学生:`memory/student/{班级}/{学生}/历史课评记录.md`
│ │ └── 补课学生:同时保存到补课班级汇总 + 原班级个人档案 │
│ └── 7.3 更新出勤统计:`memory/class-evaluation-summary/第X周/出勤统计.md` │
│ Step 7: 【自动保存】课评规范V1.0标准)
│ ├── 7.1 保存个人课评文件:`.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md` │
│ ├── 7.2 班级总结:`.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md`
└── 7.3 补课/体验学生:补课班级 `补课/` 目录 + 原班级(双向追踪)
│ Step 8: 展示保存结果,教师可随时查看/修改 │
└─────────────────────────────────────────────────────────────────────────┘
```
> **重要变更**
> 1. **v3.1 生成即双轨保存**:课评生成后立即自动保存,无需教师确认
> 2. **自动更新出勤统计**:每次保存自动更新出勤统计文件
> 3. **全程可修改**:保存后教师可随时修改,修改自动同步到两个位置
> 1. **v4.0 课评规范V1.0标准**:改用 `.claude/memory/class/` 目录结构,个人课评存为 `feedback/YYYYMMDD_课程编号-课次.md`
> 2. **课程编号统一**AI编程班统一用 `AICODE` 前缀(如 AICODE03C++班统一用 `CSP` 前缀
> 3. **补课双向追踪**:补课学生在原班级侧生成追踪文件 `(补课-去班级名).md`
> 4. **全程可修改**:保存后教师可随时修改,修改自动同步
### 详细流程说明
@@ -55,11 +54,11 @@ author: 穹狼教学团队
**操作**
1. **检查学生档案是否存在**
- 检查路径:`memory/student/{班级}/{学生}/`
- 检查文件:`用户画像.md``历史课评记录.md`
- 检查路径:`.claude/memory/class/{班级}/{学生}/`
- 检查文件:`profile.md`
2. **情况A学生档案存在常规学生**
- 读取 `memory/student/{班级}/{学生}/用户画像.md`
- 读取 `.claude/memory/class/{班级}/{学生}/profile.md`
- 提取完整信息:气质类型、学习风格、历史表现等
- **标记类型**`student_type = "regular"`
@@ -154,7 +153,7 @@ author: 穹狼教学团队
|---------|:---:|:---------------:|:-----|
| 发现世界 | 第5周 | DISC-005 | 天平秤 |
| SPIKE | 第5周 | SPIKE-005 | 杯子盖球 |
| AI03 | 第5周 | AI03-005 | 项目整合 |
| AI编程 | 第5周 | AICODE03-005 | 项目整合 |
**3.3 提取教案内容**
- 根据课程代码DISC-005, SPIKE-005定位教案
@@ -173,8 +172,8 @@ author: 穹狼教学团队
#### Step 4: 读取该学生近10次历史课评
**操作**
- 读取 `memory/student/{班级}/{学生}/历史课评记录.md`
- 提取最近10条记录
- 读取 `.claude/memory/class/{班级}/{学生}/feedback/` 目录下的所有课评文件
- 提取最近10条记录(按文件名日期排序)
- 分析:
- 能力发展趋势
- 进步轨迹
@@ -276,51 +275,51 @@ author: 穹狼教学团队
- 小学低段尊重专业平等对话简洁emoji
- 小学高段:成长视角,数据支撑,结构化
**输出**`evaluation_text`180-350字含emoji**等待教师确认后再执行Step7**
**输出**`evaluation_text`180-350字含emoji**自动进入保存流程**
---
#### Step 7: 双轨保存课评(需教师确认后执行
**触发条件**教师确认课评内容无误后
#### Step 7: 自动保存课评(课评规范V1.0标准,无需确认
**触发条件**课评生成完成后自动触发
**操作逻辑**
```
IF student_type == "regular"(常规学生):
├── 7.1 保存到班级周汇总
│ └── 路径:`memory/class-evaluation-summary/第X周/{班级}.md`
└── 7.2 保存到个人历史课评
└── 路径:`memory/student/{班级}/{学生}/历史课评记录.md`
├── 7.1 保存个人课评文件
│ └── 路径:`.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md`
│ └── 内容:三段式课评正文
└── 7.2 保存班级总结
└── 路径:`.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md`
ELSE IF student_type == "guest"(补课/体验学生):
── 仅保存到班级周汇总
└── 路径:`memory/class-evaluation-summary/第X周/{班级}.md`
└── 标记:(补课/体验学生,无个人档案)
── 7.1 保存个人课评文件
└── 路径:`.claude/memory/class/{补课班级}/补课/{学生}/feedback/YYYYMMDD_课程编号.md`
└── 7.2 原班级追踪(跨班级补课)
└── 生成追踪文件:`.claude/memory/class/{原班级}/{学生}/feedback/YYYYMMDD_课程编号(补课-去班级名).md`
```
**班级周汇总文件结构**
**个人课评文件格式**
```markdown
# 发现世界-周四19点 第7周汇总
# {日期} | {课程代码} | {课程主题}
## 学生课评列表
**课评内容**
{三段式课评正文}
### 梁昕乔(常规学生)✓
[课评内容]
- 状态:已确认
- 个人档案:已同步
**课堂表现**(摘要):
- 专注度:/5
- 动手操作:/5
- 问题解决:/5
- 情绪表现:{描述}
### 钟昀昊(常规学生)✓
[课评内容]
- 状态:已确认
- 个人档案:已同步
---
### 张小明(补课学生)⚠️
[课评内容]
- 状态:已确认
- 个人档案:未创建(补课/体验学生)
- 备注:如需创建档案,请回复「为张小明创建档案」
注意:状态通过文件名后缀自动识别
- 正常文件名 `.md` = 出勤
- `(请假).md` = 请假
- `(补课-去班级名).md` = 补课追踪
```
**输出**:保存确认 + 文件路径 + 学生类型标记
**输出**:保存确认 + 文件路径
---
@@ -330,20 +329,14 @@ ELSE IF student_type == "guest"(补课/体验学生):
- 补课/体验学生(`student_type = "guest"`)跳过此步骤
**操作**
- 更新 `memory/student/{班级}/{学生}/用户画像.md` 中的成长轨迹表
- 更新 `memory/student/{班级}/{学生}/历史课评记录.md`
- 添加新记录:
- 时间:本次课日期
- 课程:课程代码
- 关键表现:一句话摘要
- 能力变化:+/- 标记
- 更新 `.claude/memory/class/{班级}/{学生}/profile.md` 中的成长轨迹表
- `.claude/memory/class/{班级}/{学生}/feedback/` 目录下已保存课评文件
**补课/体验学生的后续处理**
如果教师后续决定为补课/体验学生创建档案:
1. 创建文件夹:`memory/student/{班级}/{学生}/`
2. 创建通用用户画像
3. 将该学生的历史课评从班级周汇总迁移到个人档案
4. 标记为常规学生
1. 创建目录:`.claude/memory/class/{班级}/{学生}/`
2. 创建 `profile.md` 通用画像
3. 将该学生的历史课评从 `补课/` 目录迁移到正式 `feedback/` 目录
**输出**:更新确认
@@ -377,35 +370,26 @@ ELSE IF student_type == "guest"(补课/体验学生):
## 依赖文件路径
```
# 学生画像
memory/student/{班级}/{学生}/用户画像.md
# 学生画像课评规范V1.0标准)
.claude/memory/class/{班级}/{学生}/profile.md
.claude/memory/class/{班级}/{学生}/feedback/
# 课程教案
memory/lesson/01-发现世界-螺丝刀/{课程代码}.md
memory/lesson/08-SPIKE/{课程代码}.md
memory/lesson/09-AI03-AICODE/{课程代码}.md
memory/lesson/09-AICODE-AICODE/{课程代码}.md
# **学期周数与主题映射(新增)**
# 学期周数与主题映射
.claude/rules/15-semester-weeks.md
# **班级周汇总(新增 - 按周期分班级)**
memory/class-evaluation-summary/第X周/{班级}.md
# 班级总结
.claude/memory/class/{班级}/summaries/
# 学期周数(保持独立)
.claude/rules/15-semester-weeks.md
# 风格规则已合并至10-style.md
# 风格规则
.claude/rules/10-style.md # 全年龄段风格规范
# 评价维度已合并至00-core.md
.claude/rules/00-core.md # 核心规则(含评价维度)
# 历史课评
memory/student/{班级}/{学生名}/历史课评记录.md
# 输出目录
memory/student/{班级}/{学生名}/课评/
memory/class-evaluation-summary/第X周/ # **新增**:按周期分班级的周汇总
# 评价维度
.claude/rules/00-core.md # 核心规则(含评价维度、课程编号规范
```
---
@@ -511,15 +495,17 @@ memory/class-evaluation-summary/第X周/ # **新增**:按周期
| 版本 | 日期 | 更新内容 |
|-----|------|---------|
| **v2.5.0** | **2026-05-01** | **统一字数标准**将课评字数统一为弹性范围180-350字与系统规则保持一致 |
| v2.4.0 | 2026-04-16 | **补课/体验学生支持**:新增对补课、体验课学生的处理逻辑——无档案时提醒教师,可选择仅保存到班级汇总,不强制创建个人档案 |
| v2.3.0 | 2026-04-15 | **双轨存储**:新增班级周汇总功能,确认后同时保存到 `class-evaluation-summary/`(班级视角)和 `student/`(个人视角),便于集中查看当周全班表现 |
| v2.2.0 | 2026-04-04 | **流程优化**:新增"确认后保存"模式Step 6生成后等待教师确认确认后再执行Step 7-8保存避免自动保存错误内容 |
| v2.1.0 | 2026-04-02 | **重大更新**支持学期周数自动计算基准3月2日课程主题自动匹配课评内容关联当周知识点Emoji段落末尾插入删除正文周数显示 |
| v2.0.0 | 2026-03-25 | 高级版本支持8步完整流程历史课评回顾千人千面差异化 |
| v1.0.0 | 2026-03-25 | 基础版本,单维度课评生成 |
| **v4.0.0** | **2026-05-14** | **同步课评规范V1.0**:改用 `.claude/memory/class/` 目录结构feedback/*.md 单次文件统一课程编号AI编程→AICODEC++→CSP补课双向追踪`(补课-去班级名).md`);删除"待确认"步骤,生成即自动保存 |
| v3.1.0 | 2026-05-05 | **生成即双轨保存**:删除"待确认"状态,改为生成后立即自动保存;出勤嵌入班级汇总 |
| v2.5.0 | 2026-05-01 | **统一字数标准**将课评字数统一为弹性范围180-350字与系统规则保持一致 |
| v2.4.0 | 2026-04-16 | **补课/体验学生支持**:新增对补课、体验课学生的处理逻辑 |
| v2.3.0 | 2026-04-15 | **双轨存储**新增班级周汇总功能 |
| v2.2.0 | 2026-04-04 | **流程优化**:新增确认后保存模式 |
| v2.1.0 | 2026-04-02 | **重大更新**:支持学期周数自动计算、课程主题自动匹配 |
| v2.0.0 | 2026-03-25 | 高级版本支持8步完整流程千人千面差异化 |
| v1.0.0 | 2026-03-25 | 基础版本 |
---
*维护者:穹狼教学团队*
*最后更新2026-04-16*
*最后更新2026-05-14*

View File

@@ -1,19 +1,19 @@
{
"skill_name": "keping-advanced",
"version": "2.2.0",
"description": "高级课评生成Skill v2.2 - 支持学期周数自动计算(仅用于后端课程主题匹配)、课程主题自动匹配、三段式课评生成、自动双轨保存(班级汇总+个人档案",
"version": "4.0.0",
"description": "高级课评生成Skill v4.0 - 支持学期周数自动计算(仅用于后端课程主题匹配)、课程主题自动匹配、三段式课评生成、自动保存到feedback/个人文件课评规范V1.0标准",
"triggers": ["/课评", "/keping", "/写课评", "生成课评"],
"semester_config": {
"baseline_date": "2026-03-02",
"week_calculation": "Floor((current_date - baseline) / 7) + 1",
"total_weeks": 20,
"current_week": 10,
"current_date": "2026-05-09"
"current_week": 11,
"current_date": "2026-05-14"
},
"course_mapping": {
"发现世界": {"prefix": "DISC", "week_mapping": {"1": "DISC-001", "2": "DISC-002", "3": "DISC-003", "4": "DISC-004", "5": "DISC-005", "6": "DISC-006", "7": "DISC-007", "8": "DISC-008", "9": "DISC-009", "10": "DISC-010", "11": "DISC-011", "12": "DISC-012", "13": "DISC-013", "14": "DISC-014", "15": "DISC-015", "16": "DISC-016", "17": "DISC-017", "18": "DISC-018", "19": "DISC-019", "20": "DISC-020"}},
"SPIKE": {"prefix": "SPIKE", "week_mapping": {"1": "SPIKE-001", "2": "SPIKE-002", "3": "SPIKE-003", "4": "SPIKE-004", "5": "SPIKE-005", "6": "SPIKE-006", "7": "SPIKE-007", "8": "SPIKE-008", "9": "SPIKE-009", "10": "SPIKE-010", "11": "SPIKE-011", "12": "SPIKE-012", "13": "SPIKE-013", "14": "SPIKE-014", "15": "SPIKE-015", "16": "SPIKE-016", "17": "SPIKE-017", "18": "SPIKE-018", "19": "SPIKE-019", "20": "SPIKE-020"}},
"AI03": {"prefix": "AI03", "week_mapping": {"1": "AI03-001", "2": "AI03-002", "3": "AI03-003", "4": "AI03-004", "5": "AI03-005", "6": "AI03-006", "7": "AI03-007", "8": "AI03-008", "9": "AI03-009", "10": "AI03-010", "11": "AI03-011", "12": "AI03-012", "13": "AI03-013", "14": "AI03-014", "15": "AI03-015", "16": "AI03-016", "17": "AI03-017", "18": "AI03-018", "19": "AI03-019", "20": "AI03-020"}}
"AICODE03": {"prefix": "AICODE03", "week_mapping": {"1": "AICODE03-001", "2": "AICODE03-002", "3": "AICODE03-003", "4": "AICODE03-004", "5": "AICODE03-005", "6": "AICODE03-006", "7": "AICODE03-007", "8": "AICODE03-008", "9": "AICODE03-009", "10": "AICODE03-010", "11": "AICODE03-011", "12": "AICODE03-012", "13": "AICODE03-013", "14": "AICODE03-014", "15": "AICODE03-015", "16": "AICODE03-016", "17": "AICODE03-017", "18": "AICODE03-018", "19": "AICODE03-019", "20": "AICODE03-020"}}
},
"workflow": {
"steps": [
@@ -23,7 +23,7 @@
"action": "read_student_profile",
"input": ["学生姓名", "班级"],
"output": ["气质类型", "学习风格", "核心优势", "待发展能力", "历史表现模式", "display_name(课评用称呼)"],
"file_pattern": "memory/student/{班级}/{学生}/用户画像.md",
"file_pattern": ".claude/memory/class/{班级}/{学生}/profile.md",
"name_processing": {
"priority": ["小名/昵称", "去姓称名", "叠字称呼", "全名"],
"rules": {
@@ -63,7 +63,7 @@
"action": "read_history_reviews",
"input": ["学生姓名", "班级"],
"output": ["最近10次课评", "能力发展趋势", "进步轨迹", "反复问题"],
"file_pattern": "memory/student/{班级}/{学生}/历史课评记录.md",
"file_pattern": ".claude/memory/class/{班级}/{学生}/feedback/",
"limit": 10
},
{
@@ -121,28 +121,27 @@
},
{
"id": "step7",
"name": "自动双轨保存(班级汇总+个人档案",
"action": "save_evaluation_dual_track",
"name": "自动保存课评课评规范V1.0标准",
"action": "save_evaluation",
"outputs": {
"class_summary": {
"path": "memory/class-evaluation-summary/第{周数}周/{班级}.md",
"feedback_file": {
"path": ".claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md",
"priority": 1,
"required": true,
"content": "本周所有学生课评汇总(含出勤统计"
"content": "单次个人课评文件(课评规范标准格式"
},
"personal_archive": {
"path": "memory/student/{班级}/{学生名}/历史课评记录.md",
"class_summary": {
"path": ".claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md",
"priority": 2,
"required": false,
"content": "个人课评记录(时间倒序,最新在上)",
"on_failure": "加入待补存队列,下次生成前自动补存"
"content": "班级总结/群发文案(课后编写)"
}
},
"student_type_handling": {
"正式学生": "双轨保存(班级汇总+个人档案)",
"本班补课": "双轨保存(班级汇总+个人档案)",
"跨班级补课": "自动双轨保存(补课班级汇总+原班级个人档案)",
"体验学生": "仅班级汇总",
"正式学生": "个人课评文件 feedback/ + 班级总结",
"本班补课": "个人课评文件 feedback/ + 班级总结",
"跨班级补课": "补课班级 feedback/ + 原班级补课追踪文件 (补课-去班级名).md",
"体验学生": "仅存 补课/{学生}/feedback/ 目录",
"缺课学生": "仅记录缺席"
},
"auto_save": true,
@@ -212,8 +211,8 @@
]
},
"data_sources": {
"student_profile": "memory/student/{班级}/{学生}/用户画像.md",
"history_reviews": "memory/student/{班级}/{学生}/历史课评记录.md",
"student_profile": ".claude/memory/class/{班级}/{学生}/profile.md",
"history_reviews": ".claude/memory/class/{班级}/{学生}/feedback/",
"lesson_content": "memory/lesson/**/{课程代码}.md",
"semester_weeks": ".claude/rules/15-semester-weeks.md",
"style_rules": ".claude/rules/10-style.md",
@@ -225,8 +224,8 @@
"output_format_elementary": ".claude/rules/51-output-format-elementary.md"
},
"output_paths": {
"class_summary": "memory/class-evaluation-summary/第{周数}周/{班级}.md",
"personal_archive": "memory/student/{班级}/{学生名}/历史课评记录.md"
"feedback_file": ".claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md",
"class_summary": ".claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md"
},
"error_handling": {
"date_not_found": {"message": "请输入日期4月2日", "action": "prompt_for_date"},
@@ -236,9 +235,9 @@
"lesson_not_found": {"message": "未找到课程教案,请手动输入知识点或补充教案。", "action": "prompt_for_manual_input"},
"insufficient_history": {"message": "历史课评不足10次使用全部可用记录。", "action": "use_available_records"},
"word_count_short": {"message": "字数偏短,建议补充具体事例。", "action": "suggest_expansion"},
"class_summary_save_failed": {"message": "班级汇总保存失败,正在重试...", "action": "retry_3_times", "fallback": "显示错误提示,提供手动重试按钮"},
"personal_archive_save_failed": {"message": "个人档案保存失败,已加入待补存队列。", "action": "add_to_compensation_queue", "fallback": "下次生成课评前自动补存,或教师输入'补存'手动触发"}
"feedback_save_failed": {"message": "个人课评文件保存失败,正在重试...", "action": "retry_3_times", "fallback": "显示错误提示,提供手动重试按钮"},
"class_summary_save_failed": {"message": "班级总结保存失败,已加入待补存队列。", "action": "add_to_compensation_queue", "fallback": "下次生成课评前自动补存,或教师输入'补存'手动触发"}
},
"created_at": "2026-03-25",
"updated_at": "2026-05-09"
"updated_at": "2026-05-14"
}

View File

@@ -11,7 +11,7 @@
---
## ⚡ 快速用法v2.1 新增周数自动计算
## ⚡ 快速用法v4.0 课评规范V1.0标准
### 1. 极简输入(推荐)- 自动计算周数和主题
@@ -52,30 +52,35 @@
**基准日期**3月2日 = 第1周
| 日期 | 周数 | 发现世界 | SPIKE | AI03 |
|-----|:---:|:--------:|:-----:|:----:|
| 3月2日-8日 | 第1周 | DISC-001 | SPIKE-001 | AI03-001 |
| 3月9日-15日 | 第2周 | DISC-002 | SPIKE-002 | AI03-002 |
| 3月16日-22日 | 第3周 | DISC-003 | SPIKE-003 | AI03-003 |
| 3月23日-29日 | 第4周 | DISC-004 | SPIKE-004 | AI03-004 |
| **3月30日-4月5日** | **第5周** | **DISC-005** | **SPIKE-005** | **AI03-005** |
| 4月6日-12日 | 第6周 | DISC-006 | SPIKE-006 | AI03-006 |
| 日期 | 周数 | 发现世界 | SPIKE | AICODE03 |
|-----|:---:|:--------:|:-----:|:--------:|
| 3月2日-8日 | 第1周 | DISC-001 | SPIKE-001 | AICODE03-001 |
| 3月9日-15日 | 第2周 | DISC-002 | SPIKE-002 | AICODE03-002 |
| 3月16日-22日 | 第3周 | DISC-003 | SPIKE-003 | AICODE03-003 |
| 3月23日-29日 | 第4周 | DISC-004 | SPIKE-004 | AICODE03-004 |
| 3月30日-4月5日 | 第5周 | DISC-005 | SPIKE-005 | AICODE03-005 |
| 4月6日-12日 | 第6周 | DISC-006 | SPIKE-006 | AICODE03-006 |
| 4月13日-19日 | 第7周 | DISC-007 | SPIKE-007 | AICODE03-007 |
| 4月20日-26日 | 第8周 | DISC-008 | SPIKE-008 | AICODE03-008 |
| 4月27日-5月3日 | 第9周 | DISC-009 | SPIKE-009 | AICODE03-009 |
| 5月4日-10日 | 第10周 | DISC-010 | SPIKE-010 | AICODE03-010 |
| **5月11日-17日** | **第11周** | **DISC-011 鳄鱼** | **SPIKE-011 摩天轮** | **AICODE03-008** |
**当前**2026年4月2日 = **第5**
**当前**2026年5月14日 = **第11**
---
## 📋 8步流程速览v2.1更新
## 📋 8步流程速览v4.0
| 步骤 | 动作 | 耗时 | 输出 |
|:---:|:-----|:---:|:----|
| 1 | 读取用户画像 | <1s | 气质、风格、优势 |
| 1 | 读取用户画像profile.md | <1s | 气质、风格、优势 |
| 2 | 读取课评规则 | <1s | 字数、模块、风格 |
| **3** | **计算周数+匹配主题** | **<1s** | **第X周、课程代码、知识点** |
| 4 | 读取历史课评 | <1s | 10次记录、趋势 |
| 4 | 读取历史课评feedback/目录) | <1s | 10次记录、趋势 |
| 5 | 解析本节课表现 | <1s | 关键行为、情绪 |
| 6 | 生成个性化课评 | 2-3s | 200-300字文本关联主题 |
| 7 | 保存到学生目录 | <1s | 文件路径确认 |
| 6 | 生成个性化课评 | 2-3s | 180-350字文本关联主题 |
| 7 | 自动保存 feedback/*.md | <1s | 课评规范V1.0标准文件 |
| 8 | 更新成长记录 | <1s | 更新确认 |
**总耗时**:约 5-8 秒
@@ -95,13 +100,13 @@
---
## 📚 第5周主题速查(当前周:4月2日)
## 📚 第11周主题速查(当前周:2026年5月14日)
| 班级 | 课程代码 | 主题 | 核心知识点 | 课评关联建议 |
|-----|:-------:|:-----|:-----------|:-------------|
| 发现世界 | DISC-005 | **天平秤** | 杠杆原理、平衡判断、重量比较 | 用衣架做简易天平比较重量 |
| SPIKE | SPIKE-005 | **杯子盖球** | 传感器应用、条件判断、精准控制 | 调整传感器参数练习 |
| AI03 | AI03-005 | **项目整合** | 多AI协作、工作流设计 | 整合前面所学完成小项目 |
| 班级 | 课程代码 | 主题 | 核心知识点 |
|-----|:-------:|:-----|:-----------|
| 发现世界 | DISC-011 | **鳄鱼** | 嘴巴开合、铰链结构、咬合功能 |
| SPIKE | SPIKE-011 | **摩天轮** | 圆周运动、速度控制、观赏设计 |
| AICODE03 | AICODE03-008 | **我的个人主页(上)** | 内容先行、板块化设计、自定义智能体 |
---
@@ -120,9 +125,9 @@
| 年龄段 | 字数 | 语气 | 侧重点 |
|-------|:---:|:----|:-------|
| 2.5-6岁 | 180-220 | 温暖具体 | 参与、情绪、兴趣 |
| 6-8岁 | 190-230 | 尊重专业 | 能力、习惯、逻辑 |
| 8-10岁 | 200-300 | 成长数据 | 项目、竞赛、自主 |
| 2.5-6岁 | 180-350 | 温暖具体 | 参与、情绪、兴趣 |
| 6-8岁 | 190-350 | 尊重专业 | 能力、习惯、逻辑 |
| 8-10岁 | 200-350 | 成长数据 | 项目、竞赛、自主 |
---
@@ -142,11 +147,11 @@
生成后自动检查:
- [ ] 字数 200-300 字
- [ ] 字数 180-350 字(根据输入丰富度弹性调整)
- [ ] 5个必写模块完整
- [ ] 学生姓名正确
- [ ] **知识点与当周主题关联**
- [ ] **周数标记正确第X周**
- [ ] 周数仅在后台使用,正文不显示
- [ ] 无禁用词汇
- [ ] 纵向对比有据
- [ ] 建议可操作
@@ -157,16 +162,15 @@
```
# 读取
memory/student/{班级}/{学生}/用户画像.md ← Step 1
.claude/rules/15-semester-weeks.md ← Step 3周数计算
.claude/rules/20-style-building.md ← Step 2
memory/lesson/**/{课程代码}.md ← Step 3
memory/student/{班级}/{学生}/历史课评记录.md ← Step 4
.claude/memory/class/{班级}/{学生}/profile.md ← Step 1
.claude/rules/15-semester-weeks.md ← Step 3周数计算
.claude/rules/10-style.md ← Step 2
memory/lesson/**/{课程代码}.md ← Step 3
.claude/memory/class/{班级}/{学生}/feedback/ ← Step 4
# 写入
memory/student/{班级}/{学生}/课评/{日期}-{课程}.md ← Step 7
memory/student/{班级}/{学生}/用户画像.md ← Step 8
memory/student/{班级}/{学生名}/历史课评记录.md ← Step 8
# 写入课评规范V1.0标准)
.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md ← Step 7
.claude/memory/class/{班级}/{学生}/profile.md ← Step 8
```
---
@@ -190,4 +194,4 @@ memory/student/{班级}/{学生名}/历史课评记录.md ← Step 8
---
*速查卡 v2.1 | 2026-04-02*
*速查卡 v4.0 | 2026-05-14 | 同步课评规范V1.0*

View File

@@ -1,7 +1,9 @@
# 穹狼乐高编程AI课评生成系统
> 为2.5岁-小学4年级学生自动生成个性化课程评价
> 版本v3.2(精简版)| 规则文件9个核心文件 + 20个归档规则
> 版本v4.0(课评规范同步版)| 规则文件9个核心文件 + 20个归档规则
>
> **合规说明**:本仓库已同步 [课评规范V1.0](课评规范V1.0.md) 全部要求,包括课程编号规范、目录结构规范、课评文件命名规范、课评完成率统计规则。确保自动统计系统可正确识别到课评。
---
@@ -41,12 +43,26 @@ classfeedback/
│ │ ├── 40-keping-快速入门.md # 快速入门v2.5旧版,已废弃)
│ │ ├── 60-name-processing.md # 姓名处理已合并至30-student
│ │ └── 70-common-structures.md # 通用结构已合并至10-style
│ ├── memory/ # 记忆数据目录(课评规范标准路径)
│ │ ├── class/ # 【班级数据 - 核心课评目录】
│ │ │ ├── {班级名称}/ # 命名:{课程编号}{老师}{时间}如AICODE03小Q周五1900
│ │ │ │ ├── summaries/ # 班级总结/群发文案
│ │ │ │ ├── {学生姓名}/ # 学生个人目录
│ │ │ │ │ ├── feedback/ # 【个人课评目录】
│ │ │ │ │ │ └── YYYYMMDD_课程编号-课次.md
│ │ │ │ │ └── profile.md # 学生画像
│ │ │ │ └── 补课/ # 补课学生专用目录
│ │ │ │ └── {学生姓名}/
│ │ │ │ └── feedback/
│ │ │ │ └── YYYYMMDD_课程编号.md
│ │ │ └── ...
│ │ └── lesson/ # 课程大纲(从独立仓库同步,不提交远端)
│ ├── skills/ # 技能配置
│ └── settings.json # 设置
├── memory/
│ ├── lesson/ # 课程教案库
│ ├── student/ # 学生档案
│ ├── class-evaluation-summary/ # 班级周汇总
├── memory/ # 历史数据(过渡期保留)
│ ├── lesson/ # 课程教案库(历史)
│ ├── student/ # 学生档案(历史)
│ ├── class-evaluation-summary/ # 班级周汇总(历史)
│ └── 教育理念.md
└── src/
└── evaluation_validator.py # 课评质量验证脚本
@@ -72,15 +88,17 @@ classfeedback/
### 记忆存储
| 用途 | 路径 |
|------|------|
| 教育理念 | [`memory/教育理念.md`](memory/教育理念.md) |
| 课程教案库 | [`memory/lesson/README.md`](memory/lesson/README.md) |
| 学期课程总览 | [`memory/lesson/2026春季学期课程总览.md`](memory/lesson/2026春季学期课程总览.md) |
| 学生档案总览 | [`memory/student/README.md`](memory/student/README.md) |
| 班级周汇总 | [`memory/class-evaluation-summary/README.md`](memory/class-evaluation-summary/README.md) |
| 班级学期总览 | [`memory/class-evaluation-summary/模板-班级学期总览.md`](memory/class-evaluation-summary/模板-班级学期总览.md) |
| 个人成长时间线 | [`memory/student/模板-成长时间线.md`](memory/student/模板-成长时间线.md) |
| 用途 | 标准路径(课评规范) | 说明 |
|------|---------------------|------|
| 课评文件(新) | [`.claude/memory/class/{班级}/{学生}/feedback/`](.claude/memory/class/) | **单次单文件** `YYYYMMDD_课程编号-课次.md` |
| 学生画像(新) | [`.claude/memory/class/{班级}/{学生}/profile.md`](.claude/memory/class/) | 个人画像,固定文件名 |
| 班级总结(新) | [`.claude/memory/class/{班级}/summaries/`](.claude/memory/class/) | 班级群发文案/反馈 |
| 补课学生(新) | [`.claude/memory/class/{班级}/补课/{学生}/feedback/`](.claude/memory/class/) | 跨班级补课课评 |
| 教育理念 | [`memory/教育理念.md`](memory/教育理念.md) | 历史数据,过渡保留 |
| 课程教案库 | [`memory/lesson/`](memory/lesson/) | 历史数据,过渡保留 |
| 学期课程总览 | [`memory/lesson/2026春季学期课程总览.md`](memory/lesson/2026春季学期课程总览.md) | 历史数据,过渡保留 |
| 学生档案总览 | [`memory/student/README.md`](memory/student/README.md) | 历史数据,过渡保留 |
| 班级周汇总 | [`memory/class-evaluation-summary/README.md`](memory/class-evaluation-summary/README.md) | 历史数据,过渡保留 |
---
@@ -95,18 +113,21 @@ classfeedback/
| `AGE_ZB` | 中班 | 4-5岁 | 发明世界(智能笔) |
| `AGE_DB` | 大班 | 5-6岁 | 创造世界WEDO |
| `AGE_PS_LOW` | 小学低年级 | 6-8岁 | SPIKE |
| `AGE_PS_MID` | 小学中年级 | 8-10岁 | AI03 |
| `AGE_PS_MID` | 小学中年级 | 8-10岁 | AICODE03 |
### 课程代码
| 代码 | 类型 | 班级 | 教具 |
|-----|------|------|------|
| `TUBE` | 管道探索 | 小小班 | 9076+9090 |
| `DISC` | 工具发现 | 小班 | 45002 |
| `INVENT` | 智能笔编程 | 中班 | 威儿2+9656 |
| `CREATE` | WEDO编程 | 大班 | WEDO |
| `SPIKE` | SPIKE编程 | 一年级 | SPIKE-PRIME |
| `AI03` | AI协作开发 | 四年级 | AICODE03 |
| 代码 | 类型 | 班级 | 教具 | 校宝对应 |
|-----|------|------|------|---------|
| `TUBE` | 管道探索 | 小小班 | 9076+9090 | - |
| `DISC` | 工具发现 | 小班 | 45002 | - |
| `INVENT` | 智能笔编程 | 中班 | 威儿2+9656 | - |
| `CREATE` | WEDO编程 | 大班 | WEDO | - |
| `SPIKE` | SPIKE编程 | 一年级 | SPIKE-PRIME | - |
| `AICODE03` | AI协作开发 | 四年级 | AICODE03 | ✅ AICODE03AI编程创新课03 |
| `CSP` | C++信息学奥赛 | - | - | ✅ CSP01-05校宝标准编号 |
> **重要**:课程编号必须与校宝排课系统中的 `class_name` 一致。C++班统一用 `CSP`AI编程班统一用 `AICODE`+编号,不得使用 `AI`、`C++`、`信奥` 等缩写。详见 [20-workflow.md 第10节](.claude/rules/20-workflow.md) 课评规范对照。
### 评分等级
@@ -184,14 +205,32 @@ classfeedback/
教师可随时查看/修改(无需确认)
```
> **自动双轨保存机制**:课评生成后立即自动保存到班级汇总和个人档案,无需教师确认。出勤信息直接体现在班级汇总中。详细规则参见 [20-workflow.md](.claude/rules/20-workflow.md) 第10节
> **自动双轨保存机制**:课评生成后立即自动保存到班级汇总和个人档案,无需教师确认。出勤信息直接体现在班级汇总中。详细规则参见 [20-workflow.md](.claude/rules/20-workflow.md)。
### 存储双轨制
### 存储双轨制(新规范)
| 存储位置 | 路径 | 用途 | 保存时机 |
|---------|------|------|:--------:|
| 班级周汇总 | `memory/class-evaluation-summary/第X周/{班级}.md` | 每周全班课评汇总(含出勤) | 生成后立即自动保存 |
| 个人档案 | `memory/student/{班级}/{学生名}/历史课评记录.md` | 个人完整轨迹(时间倒序,最新在上) | 生成后立即自动保存(如有档案) |
> 课评规范V1.0要求:课评必须按次按学生单独文件,**不可用汇总文件代替单次课评**。
| 存储位置 | 标准路径 | 用途 | 保存时机 |
|---------|---------|------|:--------:|
| **个人课评文件** | `.claude/memory/class/{班级}/{学生名}/feedback/YYYYMMDD_课程编号-课次.md` | 单次个人课评 | 生成后自动保存 |
| **班级总结** | `.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md` | 班级群发文案 | 生成后自动保存 |
| **学生画像** | `.claude/memory/class/{班级}/{学生名}/profile.md` | 学生画像档案 | 建档时创建 |
### 课评完成率统计规则(自动化)
系统按以下规则自动统计课评完成率,**仅统计 CSP 和 AICODE 班级**
1. **出勤基准**:校宝 API 排课数据(`teaching-schedule`),以校宝为准
2. **查找规则**(三级查找):
- 第1级 → 班级目录下,学生/feedback/ 匹配文件日期
- 第2级 → 本仓库其他班级 补课/ 目录查找
- 第3级 → 其他老师仓库的 补课/ 目录查找
3. **日期匹配**:文件名中的 `YYYYMMDD` 必须与校宝 `teaching_date` 完全一致
4. **请假标记**:文件名带 `(请假)` 不要求课评
5. **补课追踪**:补课学生必须有课评(放在补课班级的 `补课/` 目录)
> **⚠️ 重要**:如果不按规范导致系统无法识别到课评,将按未完成统计。请确保每位到课学生均有对应日期的个人课评文件。详见 [20-workflow.md 第10节](.claude/rules/20-workflow.md)。
### 学生出勤状态(嵌入班级汇总)
@@ -214,6 +253,7 @@ classfeedback/
## 版本历史
- **v4.0** | 2026-05-14 | 同步课评规范V1.0新增课程编号规范CSP/AICODE、新目录结构`.claude/memory/class/`)、文件命名规范(`YYYYMMDD_课程编号-课次.md`)、课评完成率统计规则
- **v3.1** | 2026-05-05 | 简化保存流程:删除"待确认"状态,改为"生成即双轨保存";出勤嵌入班级汇总
- **v2.5** | 2026-05-01 | 统一字数弹性范围180-350字
- **v2.0** | 2026-04-17 | 批量生成优化,双轨保存