Files
ClassFeedback/CLAUDE.md

298 lines
16 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.
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
这是一个为**穹狼科创多课程体系**设计的课评生成器。支持 C++信息奥赛(CSP)、AIAGENT创意编程、编程猫Kitten 三大课程,以及 GESP 暑假集训、AIAGENT 小龙虾夏令营、体验课新生转化。
课评生成已实现**智能体流水线自动化**:准备数据 → 生成课评 → 自动质检 → 保存归档,全程无需逐步确认。
---
## 关键路径速查
AI 处理课评任务时,直接按以下路径读取,无需询问用户确认:
| 资源 | 路径规则 |
|------|---------|
| **课评输出(笔记)** | `E:/cc/3笔记/第N课.md` — 单课完整笔记;周汇总输出到 `output/课评汇总/` |
| **学生档案(必看)** | `.claude/memory/class/[班级]/[姓名]/profile.md` |
| **课评风格指南** | `.claude/rules/[课程].md` — CSP.md / AIAGENT.md / KITTEN.md / 体验课.md |
| **课评模板** | `.claude/templates/[课程].md` — 标准格式模板 |
| **课程内容/教案** | `.claude/lesson/` — 各课程在对应子目录(见下方文件结构) |
| **班级规范与流程** | `.claude/memory/class/CLAUDE.md` — 命名规范、保存路径 |
| **OJ数据规则** | `.claude/rules/oj_data.md` — CSP/GESP课程查OJ数据时先看 |
| **课评质量标准** | `.claude/docs/课评质量标准.md` — 一份好课评 = 准确+具体+有温度+有行动 |
| **课评生成技能** | `.claude/skills/课评生成/skill.md` — 交互式问答后自动走完整流水线 |
### 路径格式约定
- 统一使用**正斜杠** `/`,如 `E:/cc/3笔记/`
- 班级目录格式:`课程编号+老师+星期时间`,如 `AIAGENT03橙子周六1900`
---
## 标准工作流程(课评流水线)
用户请求"写课评"时,按以下 4 阶段流水线自动执行,**全程自动,无需逐步确认**。各阶段对应独立 agent,可单独重跑。
### 第1阶段 · 课评准备阶段(`agents/课评准备阶段/agent.md`)
1. **获取API授课数据**:查询最近授课记录,`teaching_date` 必须用于课评文件名
2. **读取课堂录音转写**:自动从 `D:\下载` 取最新 `.docx`,用 python-docx 转 UTF-8 txt 后再读(避免中文乱码)
3. **AI分析提取学生表现**:识别"发言人1/2/3"对应学生,**必须引用录音中的实际对话**
4. **匹配课程计划**:从教案中提取 5 个知识点(不得编造)
5. **读取学生画像**:每个学生的 `profile.md`
6. **获取OJ数据**:CSP/GESP 班必查,命令 `python scripts/get_student_oj.py --homework-id <ID> --student "<姓名>"`
7. **AIAGENT班作品分析**:查看作品文件夹,提取创意/技术点/亮点
### 第2阶段 · 课评生成阶段(`agents/课评生成阶段/agent.md`)
1. 读取班级风格指南(`rules/[课程].md`)与课评模板
2. 为每个学生生成约 200 字个性化课评,**融合录音中的具体例子、作品分析、OJ数据**
3. **质量自检**:字数 180-350 / 禁用词 / 三要素结构 / Emoji 3-5 个 / 去姓直呼 / 具体化 / 可执行建议 / 纵向对比 / 专业知识点
4. 生成班级总结
### 第3阶段 · 课评质检+修订(`agents/课评质检调度器/agent.md`)
1. 并行调用核心质检 Agent:**课评证据审计员**(CSP/GESP必查)+ **课评质量评审员** + 5 位**家长视角** Agent
2. **课评终稿编辑**汇总所有意见,产出修订稿
3. **三档放行规则**(自动处理):
| 条件 | 结论 | 保存版本 |
|------|------|---------|
| ≥85分 且 无硬伤 | 直接发送 | 保存原稿 |
| 70-84分 或 有改进点 | 修订后发送 | 保存终稿编辑的修订稿 |
| <70分 或 触发硬伤 | 必须重写 | 保存终稿编辑的修订稿 |
> **不管哪个档位,都自动保存质检后的最佳版本,无需等待用户确认。**
### 第4阶段 · 课评收尾阶段(`agents/课评收尾阶段/agent.md`)
1. **保存个人课评**:`[班级]/[姓名]/feedback/YYYYMMDD_课程编号-课次.md`
2. **保存周汇总**:`output/课评汇总/202X年教学第X周课评汇总.md`(新课评放最前)
3. **保存班级总结**:`[班级]/summaries/YYYYMMDD_课程编号-课次_班级反馈.md`
4. **更新学生画像**:只记录新发现/明显变化
5. **生成课评汇总网页**:`output/课评汇总/第X周{星期时间}{课程编号}课评.html`(已存在则跳过)
6. 输出完成报告(保存条数、质检评分汇总)
---
## 命名规范(关键)
- C++班用 `CSP` 前缀,AI班用 `AIAGENT` 前缀,GESP暑假集训班用 `GESP01` 前缀,禁用 `AI`/`C++` 缩写
- 文件名:`YYYYMMDD_课程编号-课次.md`(日期必须与校宝 teaching_date 一致)
- 请假:`YYYYMMDD_课程编号-课次(请假).md`
- 未到:`YYYYMMDD_课程编号-课次(未到).md`
- 补课:`YYYYMMDD_课程编号-课次.md`,放在补课班级的 `补课/[学生]/feedback/` 目录下
---
## 学生班级信息
### 已录入班级(2026秋季新学期)
**周五下午1700 AIAGENT03班(13教室,2人)**
- 李梓宁、李俊霆(新)
**周五晚上1900 CSP00班(13教室,4人,2课时)**
- 王晨语、陈圆振、彭煜腾、郭艺嘉
> 注:原K4班学生转C++方向,课程编号 CSP00
**周六早上0830 CSP04班(11教室,5人)**
- 欧俊宇、汪子杰、谢明泓、王佳琳、魏铭轩
> 注:王佳琳由原周日1030班转入,魏铭轩由原周六1400班转入
**周六下午1400 CSP04班(8教室,5人)**
- 郑子煜、张雨禾、苏俊宇、卢华琛、鲍佳音(新)
**周六下午1610 CSP01班(8教室,1人,一对一)**
- 周晨远(回归:原 CSP01橙子一对一,2026-09-05 新建班续课,已上到 CSP01-02,下节课第03课)
**周六晚上1900 AIAGENT03班(8教室,7人)**
- 陈嘉博、王子墨、谭俊研、黄彦棋、黄浩、钟嘉鑫、李承泽
> 注:黄浩、钟嘉鑫回归本班
**周日早上0845 AIAGENT03班(13教室,5人)**
- 卢皓霖、黄俊博、朱浩铭、沙佩琪(新)、章梓皓(新)
**周日下午1400 AIAGENT03班(8教室,4人)**
- 贺楚悦、吴浩睿、余浩宸、邓梓潼(新)
**体验课**
- 叶钧洋等(新生体验课,单独用 `体验课/` 目录管理)
### 已归档班级(历史/转出,在 `.claude/memory/class/归档/`)
> GESP集训第一期/第二期(暑期结束)、AIAGENT小龙虾夏令营(暑期结束)、穹狼传奇(暑期结束)、CSP03橙子周日1030(唐钎宸转学)、周日1900K4班(梁境城、钟嘉逸转其他老师);杨林轩、杨翊弘、林俊宇、谭锦程等停课/退学学生档案移入 `归档/转出学生/`
---
## 各班级课评风格速查
| 班级 | 风格文件 | 语气特点 |
|------|---------|---------|
| AIAGENT03班(周五1700/周六1900/周日0845/周日1400) | `rules/AIAGENT.md` | 温暖鼓励型,用"很棒~"、波浪号、表情符号🌟💡 |
| CSP04班(周六0830/周六1400) | `rules/CSP.md` | 家长信·要求型,"希望多思考",先查OJ数据 |
| CSP00班(周五1900,2课时) | `rules/CSP.md` | 家长信·要求型,需查OJ数据 |
| 体验课 | `rules/体验课.md` | 转化导向,突出"第一次",自然引导报课 |
### 固定开头格式(AIAGENT / CSP / K4 通用)
```
【学生名】家长好,本周学习的内容是《【课程名称】》:
1. 【知识点1】
2. 【知识点2】
3. 【知识点3】
4. 【知识点4】
5. 【知识点5/情感价值观】
```
---
## 🧐 课评质检系统(9 个 Agent)
质检系统由 `.claude/agents/` 下的 9 个 agent 协作完成,课评生成后自动触发。
| Agent | 职责 |
|-------|------|
| **课评质检调度器** | 协调全部质检 agent 并行工作,汇总意见,输出质检报告 |
| **课评证据审计员** | 事实核对:姓名、出勤、OJ数据、题目编号、知识点来源(CSP/GESP必查) |
| **课评质量评审员** | 100分制评分(事实20/具体15/个性15/成长15/建议15/可读10/风险10)+ 7个硬伤一票否决 |
| **课评终稿编辑** | 合并各 agent 意见,解决冲突,产出修订稿 + 可复用课评框架 |
| **家长-忙碌实用型** | 是否太长、重点是否前置、今晚做什么是否清晰 |
| **家长-结果导向型** | 学到什么程度、卡在哪、怎么进步、回家做什么 |
| **家长-细节核对型** | 文内一致性、格式、术语、错别字、模板残留 |
| **家长-焦虑保护型** | 是否打击信心、是否有比较、是否只有问题没有努力 |
| **家长-成长陪伴型** | 是否看见努力、建议是否可持续、是否有亲子配合 |
**7 个硬伤(一票否决)**:无数据无证据 / 学生高度重复 / 无个体差异 / 只夸不批 / 只批不夸 / 无后续建议 / 专业误判。
**核心原则**:事实以证据审计员为准(家长视角的数字意见一律忽略);不做学生横向比较;术语家长能懂(CE/WA/AC 等要解释);老师是最终决策者。
---
## 📁 文件结构
```
ClassFeedback/
├── CLAUDE.md # 项目说明文档(本文件)
├── AGENTS.md # Codex 项目说明(历史遗留,路径已过时)
├── .env # 环境变量配置(OJ登录凭据等)
├── .gitignore # Git忽略配置
├── OJ作业数据API使用说明.md # OJ数据API使用文档
├── config/ # 配置文件
│ └── hw_dict.json # OJ作业包ID映射(CSP/GESP)
├── data/ # 数据文件目录(校宝API数据)
├── docs/ # 文档目录
│ └── superpowers/ # Superpowers技能框架文档
├── input/ # 输入文件目录
├── output/ # 输出文件目录
│ ├── 课评汇总/ # 周课评汇总(202X年教学第X周课评汇总.md + 课评.html)
│ ├── 课评质检报告/
│ ├── 2026暑假出勤计算/
│ ├── AI03网页/
│ ├── AIAGENT03提示词/
│ ├── CSP03课前小测/
│ ├── GESP报名通知_含学习数据.md / 网页.html
│ ├── K4学期末家长信* / K2学期末家长信.html
│ ├── assets/ # 穹狼logo等资源
│ └── 家长沟通/
├── scripts/ # 脚本目录
│ ├── analyze_course_student.py
│ ├── backup.bat
│ ├── check-api-vs-local.js # API出勤 vs 本地课评核对
│ ├── fetch_gesp_detailed.py
│ ├── fetch_gesp_oj_data.py
│ ├── fetch_oj_csp17_v2.py
│ ├── generate_final_report.py
│ ├── generate_gesp_report.py
│ ├── get_gesp_oj_data_v2.py
│ ├── get_student_oj.py # 单学生OJ数据查询(课评用)
│ ├── split_feedback_v2.py
│ ├── update_feedback_with_oj.py
│ ├── update_gesp_oj.py
│ └── write_lesson10.py
├── .claude/ # Claude核心配置目录
│ ├── settings.local.json # 本地配置(权限白名单)
│ ├── agents/ # Subagent配置(13个)
│ │ ├── README.md / claude.md # Agent总览与加载规则
│ │ ├── 橙子老师/ # 心理疏导对话agent
│ │ ├── 余浩宸/ # 学生对话模拟agent
│ │ ├── 课评准备阶段/ # 流水线第1阶段:收集数据
│ │ ├── 课评生成阶段/ # 流水线第2阶段:生成课评
│ │ ├── 课评收尾阶段/ # 流水线第4阶段:质检/保存/更新画像
│ │ ├── 课评质检调度器/ # 质检协调(详见"课评质检系统")
│ │ ├── 课评证据审计员/ # 事实核对
│ │ ├── 课评质量评审员/ # 100分制评分+硬伤检查
│ │ ├── 课评终稿编辑/ # 修订稿产出
│ │ └── 家长-忙碌实用型/ 家长-结果导向型/ 家长-细节核对型/
│ │ 家长-焦虑保护型/ 家长-成长陪伴型/ # 5位家长视角质检
│ ├── config/ # 配置文件
│ │ └── hw_dict.json # OJ作业包ID映射
│ ├── docs/ # 质量文档
│ │ ├── 课评质量标准.md # 准确+具体+有温度+有行动
│ │ └── 实战案例-CSP05-14贪心算法.md
│ ├── lesson/ # 课程内容库
│ │ ├── CLAUDE.md # 课程库指引(大纲从独立仓库同步)
│ │ ├── 2026橙子暑假集训/ # GESP暑假集训教案(12课,按课次目录)
│ │ ├── 2026暑假AI/ # AIAGENT小龙虾夏令营课程
│ │ ├── AIAGENT/ # AIAGENT-02 / AIAGENT-03 / AIAGENT-06 / 课程计划.md
│ │ ├── CSP/ # CSP课程大纲
│ │ │ ├── CSP03/ # CSP03课程 / 课程计划.md
│ │ │ └── CSP04/ # CSP04课程 / 课程计划.md
│ │ ├── CSP-暑假集训2026/ # CSP暑假集训方案
│ │ ├── GESP考级大纲/ # GESP/CSP课程大纲xlsx
│ │ ├── Kitten04/ # K4班课程计划.md
│ │ └── 体验课/ # 体验课课程
│ ├── memory/ # 记忆/档案库
│ │ ├── MEMORY.md # 记忆索引
│ │ ├── 教育理念.md # 教学理念与评语指南
│ │ ├── feedback/ # 课评规范(课评必须看用户画像.md / 课评规范.md)
│ │ ├── knowledge_base/ # 家长沟通标准回复知识库
│ │ ├── class/ # 【班级数据 - 核心课评目录】
│ │ │ ├── CLAUDE.md # 班级课评核心规范
│ │ │ ├── 【课程+老师+时间】/ # 命名规范:课程编号+老师+星期时间
│ │ │ │ ├── summaries/ # 班级总结/群发文案
│ │ │ │ ├── 补课/ # 补课学生专用目录
│ │ │ │ └── 【学生姓名】/
│ │ │ │ ├── feedback/ # 【个人课评目录】
│ │ │ │ ├── communication/ # 【家长沟通记录】
│ │ │ │ ├── profile.md # 学生画像
│ │ │ │ ├── summary/ # 阶段性总结
│ │ │ │ └── 照片视频/ # 学生上课作品/照片
│ │ ├── oj/ # OJ数据分析结果
│ │ ├── student/ # 学生档案模板
│ │ └── temp/ # 临时文件
│ ├── plans/ # 计划文件
│ ├── rules/ # 评语风格库(按科目分类)
│ │ ├── CSP.md # C++课程评语
│ │ ├── AIAGENT.md # AIAGENT课程评语
│ │ ├── KITTEN.md # Kitten课程评语
│ │ ├── 体验课.md # 体验课转化评语
│ │ ├── oj_data.md # OJ系统数据获取规则
│ │ └── CLAUDE.md # 风格库指南
│ ├── skills/ # 技能库
│ │ ├── 课评检查/ # SKILL.md — 课评完成情况检查(课次/日期双模式+API核对)
│ │ ├── 课评生成/ # skill.md — 交互式问答生成课评 + 使用模板/子目录
│ │ └── 课评质检/ # SKILL.md — 已有课评质量检查(9 agent 协作)
│ ├── summaries/ # 月度总结模板.md
│ └── templates/ # 课程模板库
│ ├── CSP.md / AIAGENT.md / KITTEN.md # 各课程课评模板
│ ├── 课评汇总网页.html # 家长版课评汇总网页(翻页浏览、温暖画册风格)
│ └── 课评网页模板.html # 课评展示网页(填 PAGE/GOALS/STUDENTS 三配置区)
└── node_modules/ # npm依赖
```
---
## 🎯 快速使用流程
```
1. 输入 /课评生成 → 2. 交互式问答(班型/班次/材料/出勤)→ 3. 自动走4阶段流水线 → 4. 自动质检+保存
```
或手动:`1. 选择课程 → 2. 选择评语风格 → 3. 复制模板 → 4. 填空生成`
---
*穹狼科创 - 多课程体系课评生成器 v3.0(CLAUDE.md 流水线整理版)*