Files
ClassFeedback/CLAUDE.md
2026-05-14 13:45:23 +08:00

263 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 穹狼乐高编程AI课评生成系统
> 为2.5岁-小学4年级学生自动生成个性化课程评价
> 版本v4.0(课评规范同步版)| 规则文件9个核心文件 + 20个归档规则
>
> **合规说明**:本仓库已同步 [课评规范V1.0](课评规范V1.0.md) 全部要求,包括课程编号规范、目录结构规范、课评文件命名规范、课评完成率统计规则。确保自动统计系统可正确识别到课评。
>
> **远程仓库**`https://git.qonnwolf.com/xiaoq/ClassFeedback.git`
---
## 项目架构
```
classfeedback/
├── CLAUDE.md # 本文件:全局索引与快速入口
├── .claude/
│ ├── rules/ # 规则配置9个核心文件
│ │ ├── 00-core.md # 系统基础+年龄段+课程类型+评价维度+评分标准
│ │ ├── 10-style.md # 写作风格+三段式结构+Emoji+输入丰富度评估
│ │ ├── 15-semester-weeks.md # 学期周数计算+课程主题映射
│ │ ├── 20-workflow.md # 输入格式+批量生成+存储规则+自动双轨保存
│ │ ├── 21-shorthand.md # 速记符号系统从20-workflow拆分
│ │ ├── 22-student-mgmt.md # 补课/新学生/转正规则从20-workflow拆分
│ │ ├── 30-student.md # 画像建立+千人千面+姓名处理
│ │ ├── 50-output-format-preschool.md # 学龄前输出格式
│ │ ├── 51-output-format-elementary.md # 小学输出格式
│ │ └── 90-archive/ # 已合并的旧规则归档20个文件内容已合并至核心规则
│ │ ├── 01-student-ages.md # 年龄段详细特征已合并至00-core
│ │ ├── 02-course-types.md # 课程类型详解已合并至00-core
│ │ ├── 03-evaluation-dimensions.md # 评价维度详解已合并至00-core
│ │ ├── 06-scoring.md # 评分标准详解已合并至00-core
│ │ ├── 20-style-building.md # 幼儿积木风格已合并至10-style
│ │ ├── 21-style-coding.md # 少儿编程风格已合并至10-style
│ │ ├── 22-style-robotics.md # 机器人竞赛风格已合并至10-style
│ │ ├── 25-template-preschool-detailed.md # 学龄前手动模板
│ │ ├── 30-input-format.md # 输入格式详解已合并至20-workflow
│ │ ├── 31-class-differentiation.md # 班级差异已合并至30-student
│ │ ├── 32-batch-generation.md # 批量生成已合并至20-workflow
│ │ ├── 33-first-class-rules.md # 新学生/补课已合并至20-workflow/22-student-mgmt
│ │ ├── 35-画像建立指南.md # 画像建立已合并至30-student
│ │ ├── 36-shorthand-learning.md # 速记学习指南
│ │ ├── 37-status-panel.md # 状态面板v2.0旧版,已废弃)
│ │ ├── 38-quick-edit.md # 快速编辑已合并至20-workflow
│ │ ├── 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/ # 班级周汇总(历史)
│ └── 教育理念.md
└── src/
└── evaluation_validator.py # 课评质量验证脚本
```
---
## 快速入口
### 核心规则文件
| 文件 | 内容 | 路径 |
|------|------|------|
| **核心规则** | 系统角色、年龄段、课程类型、评价维度、评分标准 | [`.claude/rules/00-core.md`](.claude/rules/00-core.md) |
| **风格规则** | 三段式结构、语气风格、Emoji使用、字数弹性 | [`.claude/rules/10-style.md`](.claude/rules/10-style.md) |
| **学期周数** | 周数计算、课程主题映射(后端自动匹配) | [`.claude/rules/15-semester-weeks.md`](.claude/rules/15-semester-weeks.md) |
| **工作流程** | 输入格式、批量生成、存储规则、自动双轨保存 | [`.claude/rules/20-workflow.md`](.claude/rules/20-workflow.md) |
| **速记符号** | 核心速记、扩展速记、编程速记、组合示例 | [`.claude/rules/21-shorthand.md`](.claude/rules/21-shorthand.md) |
| **学生特殊处理** | 补课、新学生、跨班级补课、转正规则 | [`.claude/rules/22-student-mgmt.md`](.claude/rules/22-student-mgmt.md) |
| **学生管理** | 画像建立、千人千面、姓名处理 | [`.claude/rules/30-student.md`](.claude/rules/30-student.md) |
| **学龄前输出** | 学龄前课评排版样式与示例 | [`.claude/rules/50-output-format-preschool.md`](.claude/rules/50-output-format-preschool.md) |
| **小学输出** | 小学课评结构化排版与示例 | [`.claude/rules/51-output-format-elementary.md`](.claude/rules/51-output-format-elementary.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) | 历史数据,过渡保留 |
---
## 核心规则速查
### 年龄段代码
| 代码 | 学段 | 年龄 | 课程 |
|-----|------|-----|------|
| `AGE_TB` | 托班 | 2.5-3岁 | 意识世界(管道) |
| `AGE_XB` | 小班 | 3-4岁 | 发现世界(螺丝刀) |
| `AGE_ZB` | 中班 | 4-5岁 | 发明世界(智能笔) |
| `AGE_DB` | 大班 | 5-6岁 | 创造世界WEDO |
| `AGE_PS_LOW` | 小学低年级 | 6-8岁 | SPIKE |
| `AGE_PS_MID` | 小学中年级 | 8-10岁 | 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) 课评规范对照。
### 评分等级
| 分值 | 等级 | 评级 |
|-----|------|-----|
| 4.5-5.0 | 优秀 | A+ |
| 3.5-4.4 | 良好 | A/A- |
| 2.5-3.4 | 合格 | B/B+ |
| 1.5-2.4 | 待改进 | C |
| 1.0-1.4 | 需帮助 | D |
---
## 课评模板结构5模块覆盖3维度
### 三段式结构
| 段落 | 内容 | 字数 | Emoji |
|------|------|:----:|:-----:|
| **第1段** | 课程知识点 | 30-55字 | 1个🔍/💡/⚙️根据内容) |
| **第2段** | 课堂细节(掌握+环节+亮点)| 100-220字 | 1-3个根据情节自动适配 |
| **第3段** | 课后建议 | 30-55字 | 1个🏠/🔧根据内容) |
### 字数弹性
| 输入类型 | 输出字数 | 说明 |
|---------|:-------:|:----|
| 精简输入 | 180-220字 | 基础描述 |
| 标准输入 | 220-280字 | 有具体细节 |
| 详细输入 | 280-350字 | 多个亮点 |
---
## 快捷输入速查
### 速记符号
| 速记 | 含义 | 示例 |
|------|------|------|
| `gj#` | 观望#分钟 | `gj5` |
| `zd#` | 主动搭#层 | `zd3` |
| `zt` | 自己调整 | - |
| `↑` | 开心 | `↑++` |
| `→` | 稳定 | - |
| `++` | 比上周进步 | - |
### 学生标记
| 标记 | 含义 | 保存方式 |
|------|------|---------|
| `[补课]` | 补课学生 | 双轨保存(跨班级自动处理) |
| `[体验]` | 体验课学生 | 仅班级汇总 |
| `[缺课]` | 今天缺席 | 仅记录缺席 |
| `[new]` | 新学生首次 | 创建档案,双轨保存 |
### 快速示例
```
/课评 班级:发现世界-周四19点
乔乔gj5→zd3→zt ↑++
昊昊慢热→zd3→反复调 →
小明[体验]搭3层 ↑
```
---
## 处理流程
```
教师极简输入 → AI解析 → 生成个性化课评 → 【自动双轨保存】
班级汇总(含出勤) + 个人档案
教师可随时查看/修改(无需确认)
```
> **自动双轨保存机制**:课评生成后立即自动保存到班级汇总和个人档案,无需教师确认。出勤信息直接体现在班级汇总中。详细规则参见 [20-workflow.md](.claude/rules/20-workflow.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)。
### 学生出勤状态(嵌入班级汇总)
| 状态 | 图标 | 判定规则 |
|:-----|:----:|:---------|
| **出勤** | ✅ | 有档案 + 已生成课评 |
| **缺课** | ❌ | 有档案 + 未生成课评 |
| **补课** | 🔄 | 他班档案 + 来本班上课 |
| **体验/临时** | 📝 | 无档案 + 已生成课评 |
### 快捷指令
| 指令 | 功能 |
|:-----|:-----|
| `查看出勤` | 查看本周各班级出勤(读取汇总头部) |
| `修改{学生名}:把"A"改为"B"` | 修改课评内容(自动同步到两个位置) |
| `重生成{学生名}` | 重新生成课评并保存 |
---
## 版本历史
- **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 | 批量生成优化,双轨保存
- **v1.0** | 2026-03-25 | 初始版本