更新课评系统代码
This commit is contained in:
227
.claude/memory/config/class-data.js
Normal file
227
.claude/memory/config/class-data.js
Normal file
@@ -0,0 +1,227 @@
|
||||
// ===============================================
|
||||
// 班级和课程配置文件
|
||||
// 2026春季学期 - 小Q老师
|
||||
// ===============================================
|
||||
|
||||
const CONFIG = {
|
||||
// 学期配置
|
||||
semester: {
|
||||
startDate: '2026-03-02', // 学期开始日期
|
||||
totalWeeks: 20,
|
||||
},
|
||||
|
||||
// 班级列表
|
||||
classes: [
|
||||
{
|
||||
id: '发现世界-周四19点',
|
||||
name: '发现世界-周四19:00',
|
||||
courseType: 'DISC',
|
||||
coursePrefix: 'DISC',
|
||||
weekday: '周四',
|
||||
time: '19:00-20:00',
|
||||
students: [
|
||||
{ name: '梁昕乔', emoji: '👧', color: '#e8f5e9', trait: '活泼型 · 动觉学习 · 空间想象强' },
|
||||
{ name: '钟昀昊', emoji: '🧒', color: '#e3f2fd', trait: '慢热型 · 视觉学习 · 双手协调' },
|
||||
{ name: '林瀚丞', emoji: '🧒', color: '#fff3e0', trait: '平和型 · 需要拆解单步 · 螺丝刀标准' },
|
||||
{ name: '杨佳兴', emoji: '🧒', color: '#fce4ec', trait: '活泼型 · 动觉学习 · 手部精细动作极佳【2026-05-22从周六09点班迁移】' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'AICODE03小Q周五1900',
|
||||
name: 'AICODE03周五19:00',
|
||||
courseType: 'AICODE03',
|
||||
coursePrefix: 'AICODE03',
|
||||
weekday: '周五',
|
||||
time: '19:00-20:30',
|
||||
students: [
|
||||
{ name: '李怡瞳', emoji: '👧', color: '#fff3e0', trait: '思维活跃 · 创意好' },
|
||||
{ name: '沙佩琪', emoji: '👧', color: '#fce4ec', trait: '认真踏实 · 代码能力强' },
|
||||
{ name: '黄榆斐', emoji: '🧒', color: '#f3e5f5', trait: '积极主动 · 爱提问' },
|
||||
{ name: '谢善诺', emoji: '👧', color: '#fff3e0', trait: '待观察' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '发现世界-周六09点',
|
||||
name: '发现世界-周六09:00',
|
||||
courseType: 'DISC',
|
||||
coursePrefix: 'DISC',
|
||||
weekday: '周六',
|
||||
time: '09:00-10:00',
|
||||
students: [
|
||||
{ name: '余韫', emoji: '👧', color: '#e8f5e9', trait: '活泼型 · 视觉学习 · 主动分类整理' },
|
||||
{ name: '林嘉铭', emoji: '🧒', color: '#fff3e0', trait: '待观察' },
|
||||
{ name: '胡瀚铭', emoji: '🧒', color: '#fce4ec', trait: '待观察' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '发现世界-周六19点',
|
||||
name: '发现世界-周六19:00',
|
||||
courseType: 'DISC',
|
||||
coursePrefix: 'DISC',
|
||||
weekday: '周六',
|
||||
time: '19:00-20:00',
|
||||
students: [
|
||||
{ name: '赖韵恬', emoji: '👧', color: '#e8f5e9', trait: '待观察' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'Wedo创造世界-周六1030',
|
||||
name: 'Wedo创造世界-周六10:30',
|
||||
courseType: 'CREATE',
|
||||
coursePrefix: 'CREATE',
|
||||
weekday: '周六',
|
||||
time: '10:30-12:00',
|
||||
students: [
|
||||
{ name: '梁家铭', emoji: '🧒', color: '#e8f5e9', trait: '需鼓励建立自信 · 情绪调节有进步' },
|
||||
{ name: '简思瑜', emoji: '🧒', color: '#e3f2fd', trait: '自信主动 · 结构搭建极坚固' },
|
||||
{ name: '简思霖', emoji: '👧', color: '#fff3e0', trait: '平和慢热 · 代码理解需加强' },
|
||||
{ name: '罗钧龄', emoji: '🧒', color: '#fce4ec', trait: '爱动手 · 精细动作好 · 越挫越勇' },
|
||||
{ name: '黄晓瑜', emoji: '👧', color: '#f3e5f5', trait: '情绪稳定 · 独立完成度高' },
|
||||
{ name: '黄馨宸', emoji: '👧', color: '#e0f2f1', trait: '慢热害羞→活泼 · 创意表达好' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'AICODE03小Q周六1400',
|
||||
name: 'AICODE03周六14:00',
|
||||
courseType: 'AICODE03',
|
||||
coursePrefix: 'AICODE03',
|
||||
weekday: '周六',
|
||||
time: '14:00-15:30',
|
||||
students: [
|
||||
{ name: '曾乐凯', emoji: '🧒', color: '#e8f5e9', trait: '待观察' },
|
||||
{ name: '李汶浩', emoji: '🧒', color: '#e3f2fd', trait: '待观察' },
|
||||
{ name: '陈昕柔', emoji: '👧', color: '#fce4ec', trait: '待观察' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'Wedo创造世界-周六16点',
|
||||
name: 'Wedo创造世界-周六16:00',
|
||||
courseType: 'CREATE',
|
||||
coursePrefix: 'CREATE',
|
||||
weekday: '周六',
|
||||
time: '16:00-17:30',
|
||||
students: [
|
||||
{ name: '冯彦哲', emoji: '🧒', color: '#e8f5e9', trait: '待观察' },
|
||||
{ name: '马悦然', emoji: '👧', color: '#e3f2fd', trait: '待观察' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'SPIKE02-周日1030',
|
||||
name: 'SPIKE02-周日10:30',
|
||||
courseType: 'SPIKE',
|
||||
coursePrefix: 'SPIKE',
|
||||
weekday: '周日',
|
||||
time: '10:30-12:00',
|
||||
students: [
|
||||
{ name: '吴浩洋', emoji: '🧒', color: '#e8f5e9', trait: '待观察' },
|
||||
{ name: '吴浩骏', emoji: '🧒', color: '#e3f2fd', trait: '待观察' },
|
||||
{ name: '洪一栩', emoji: '🧒', color: '#fff3e0', trait: '待观察' },
|
||||
{ name: '王骏诚', emoji: '🧒', color: '#fce4ec', trait: '待观察' },
|
||||
{ name: '邓琬曦', emoji: '👧', color: '#f3e5f5', trait: '待观察' },
|
||||
{ name: '邓琬颖', emoji: '👧', color: '#e0f2f1', trait: '待观察' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
// 课程主题映射
|
||||
courses: {
|
||||
// 发现世界 DISC
|
||||
DISC: {
|
||||
1: { code: 'DISC-001', theme: '认识螺丝刀', knowledge: '螺丝刀握持、螺丝正反转' },
|
||||
2: { code: 'DISC-002', theme: '天文望远镜', knowledge: '管道连接、延长结构' },
|
||||
3: { code: 'DISC-003', theme: '卫星天线', knowledge: '旋转结构、底座稳定' },
|
||||
4: { code: 'DISC-004', theme: '概率转盘', knowledge: '圆形结构、中心轴' },
|
||||
5: { code: 'DISC-005', theme: '天平秤', knowledge: '杠杆原理、平衡判断' },
|
||||
6: { code: 'DISC-006', theme: '长颈鹿', knowledge: '高度建构、稳定性' },
|
||||
7: { code: 'DISC-007', theme: '旋转飞机', knowledge: '游乐园旋转设施、侧面连接' },
|
||||
8: { code: 'DISC-008', theme: '蜥蜴', knowledge: '关节连接、可动结构' },
|
||||
9: { code: 'DISC-009', theme: '机器人瓦力', knowledge: '履带结构、收纳功能' },
|
||||
10: { code: 'DISC-010', theme: '梳妆台', knowledge: '功能分区、镜子安装' },
|
||||
11: { code: 'DISC-011', theme: '鳄鱼', knowledge: '嘴巴开合、铰链结构' },
|
||||
12: { code: 'DISC-012', theme: '数字宝箱', knowledge: '密码锁、数字认知' },
|
||||
13: { code: 'DISC-013', theme: '战斗机', knowledge: '机翼结构、尾翼平衡' },
|
||||
14: { code: 'DISC-014', theme: '交通法规', knowledge: '红绿灯、道路标志' },
|
||||
15: { code: 'DISC-015', theme: '龙舟', knowledge: '船体浮力、划桨动作' },
|
||||
16: { code: 'DISC-016', theme: '钓鱼竿', knowledge: '伸缩结构、线轮控制' },
|
||||
17: { code: 'DISC-017', theme: '八大行星', knowledge: '太阳系模型、轨道运行' },
|
||||
18: { code: 'DISC-018', theme: '蝎子', knowledge: '多足结构、钳子开合' },
|
||||
19: { code: 'DISC-019', theme: '霸王龙', knowledge: '大型恐龙、角色扮演' },
|
||||
20: { code: 'DISC-020', theme: '投石车', knowledge: '杠杆原理、弹射机制' }
|
||||
},
|
||||
// SPIKE
|
||||
SPIKE: {
|
||||
1: { code: 'SPIKE-001', theme: '排障小车', knowledge: '电机控制、基础移动' },
|
||||
2: { code: 'SPIKE-002', theme: '超级大摆锤', knowledge: '齿轮传动、摆动结构' },
|
||||
3: { code: 'SPIKE-003', theme: '碰碰车', knowledge: '碰撞检测、方向控制' },
|
||||
4: { code: 'SPIKE-004', theme: '电吉他', knowledge: '声音模块、按钮触发' },
|
||||
5: { code: 'SPIKE-005', theme: '杯子盖球', knowledge: '传感器应用、条件判断' },
|
||||
6: { code: 'SPIKE-006', theme: '智能台灯', knowledge: '光线传感器、亮度调节' },
|
||||
7: { code: 'SPIKE-007', theme: '惯性小车', knowledge: '惯性原理、无动力设计' },
|
||||
8: { code: 'SPIKE-008', theme: '留声机', knowledge: '记录播放、循环结构' },
|
||||
9: { code: 'SPIKE-009', theme: '公交摆门', knowledge: '门控结构、传感器触发' },
|
||||
10: { code: 'SPIKE-010', theme: '电动螺丝刀', knowledge: '工具复刻、扭矩控制' },
|
||||
11: { code: 'SPIKE-011', theme: '摩天轮', knowledge: '圆周运动、速度控制' },
|
||||
12: { code: 'SPIKE-012', theme: '直升机', knowledge: '螺旋桨、升力原理' },
|
||||
13: { code: 'SPIKE-013', theme: '匀加减速', knowledge: '速度曲线、平滑控制' },
|
||||
14: { code: 'SPIKE-014', theme: '体操运动员', knowledge: '倒立结构、平衡控制' },
|
||||
15: { code: 'SPIKE-015', theme: '投篮计数器', knowledge: '计数逻辑、传感器应用' },
|
||||
16: { code: 'SPIKE-016', theme: '机械手', knowledge: '抓取结构、自由度' },
|
||||
17: { code: 'SPIKE-017', theme: '质检机', knowledge: '分类逻辑、颜色识别' },
|
||||
18: { code: 'SPIKE-018', theme: '智能叉车', knowledge: '升降结构、搬运功能' },
|
||||
19: { code: 'SPIKE-019', theme: '电子滚轮米尺', knowledge: '距离测量、数据显示' },
|
||||
20: { code: 'SPIKE-020', theme: '感应道闸', knowledge: '自动识别、开关控制' }
|
||||
},
|
||||
// AICODE03
|
||||
AICODE03: {
|
||||
1: { code: 'AICODE03-001', theme: 'AI是怎么"想"的?', knowledge: '概率预测原理、AI幻觉现象、提问质量影响' },
|
||||
2: { code: 'AICODE03-002', theme: 'AI的记忆之谜', knowledge: '长期记忆与短期记忆、上下文窗口机制、系统提示词作用' },
|
||||
3: { code: 'AICODE03-003', theme: 'AI训练师', knowledge: '系统提示词三要素、越狱与防护、迭代优化逻辑' },
|
||||
4: { code: 'AICODE03-004', theme: '我是大作家(上)', knowledge: 'Trae Builder模式、Markdown基础、项目化思维' },
|
||||
5: { code: 'AICODE03-005', theme: '我是大作家-2', knowledge: '故事大纲设计、项目上下文、章节结构' },
|
||||
6: { code: 'AICODE03-006', theme: '我是大作家(完结篇)', knowledge: '完整书籍结构、精彩片段选择、路演技巧' },
|
||||
7: { code: 'AICODE03-007', theme: '我是大作家【小说插图】', knowledge: 'AI图像生成提示词工程、占位符标注、文档化管理提示词' },
|
||||
8: { code: 'AICODE03-008', theme: '我的个人主页(上)', knowledge: '内容先行原则、板块化结构、Trae自定义智能体' },
|
||||
9: { code: 'AICODE03-009', theme: '我的个人主页(下)', knowledge: '交互元素设计、设计一致性、作品发布' },
|
||||
10: { code: 'AICODE03-010', theme: '魔幻俄罗斯方块(上)', knowledge: 'Plan Mode计划模式、需求质量与输出质量、侦探模式分析' },
|
||||
11: { code: 'AICODE03-011', theme: '魔幻俄罗斯方块(下)', knowledge: '自动化测试概念、测试覆盖、增量思维' },
|
||||
12: { code: 'AICODE03-012', theme: '涂鸦PK(一)', knowledge: '精准需求编写、新窗口审核、角色属性设计' },
|
||||
13: { code: 'AICODE03-013', theme: '涂鸦PK(二)', knowledge: '边界情况定义、独立窗口审核原则、测试脚本' },
|
||||
14: { code: 'AICODE03-014', theme: '涂鸦PK(三)', knowledge: '游戏感Game Feel、增量需求写法、Web Audio API' },
|
||||
15: { code: 'AICODE03-015', theme: '涂鸦PK(四)', knowledge: '数据驱动设计、角色选择界面、路演设计决策' },
|
||||
16: { code: 'AICODE03-016', theme: 'Skills入门—用game-studio做跳一跳', knowledge: 'Skills工具箱概念、插件机制、game-studio插件、Three.js' },
|
||||
17: { code: 'AICODE03-017', theme: '期末项目开发(上)', knowledge: '功能实现、代码调试、迭代优化' },
|
||||
18: { code: 'AICODE03-018', theme: '期末项目开发(下)', knowledge: '功能完善、测试验证、bug修复' },
|
||||
19: { code: 'AICODE03-019', theme: '项目优化与美化', knowledge: 'UI优化、交互改进、性能提升' },
|
||||
20: { code: 'AICODE03-020', theme: '项目展示准备', knowledge: '演示文稿制作、路演排练、作品包装' },
|
||||
21: { code: 'AICODE03-021', theme: '学期成果展示', knowledge: '作品展示、成果分享、学习总结' }
|
||||
},
|
||||
// CREATE (Wedo)
|
||||
CREATE: {
|
||||
1: { code: 'CREATE-001', theme: '风力发电站', knowledge: '直角传动、角度传感器、清洁能源' },
|
||||
2: { code: 'CREATE-002', theme: '智能洗车场', knowledge: '多齿轮传动、皮筋传动、距离传感器、自动化流程' },
|
||||
3: { code: 'CREATE-003', theme: '啄木鸟', knowledge: '皮筋传动、伺服电机、造型设计' },
|
||||
4: { code: 'CREATE-004', theme: '破壁机', knowledge: '直角传动、角度传感器、健康生活' },
|
||||
5: { code: 'CREATE-005', theme: '微波炉', knowledge: '齿轮减速、定时器、安全使用' },
|
||||
6: { code: 'CREATE-006', theme: '送餐机器人', knowledge: '直角传动、距离传感器、智能导航' },
|
||||
7: { code: 'CREATE-007', theme: '道闸', knowledge: '升降结构、传感器、交通控制' },
|
||||
8: { code: 'CREATE-008', theme: '智能晾衣架', knowledge: '升降结构、光传感器、自动控制' },
|
||||
9: { code: 'CREATE-009', theme: '打桩机', knowledge: '往复运动、重力原理、工程设备' },
|
||||
10: { code: 'CREATE-010', theme: '小鸟喂食', knowledge: '倾斜传感器、自动喂养、动物关爱' },
|
||||
11: { code: 'CREATE-011', theme: '推磨机器人', knowledge: '偏心圆、距离传感器、往复运动' },
|
||||
12: { code: 'CREATE-012', theme: '雷达巡逻车', knowledge: '旋转机构、距离检测、巡逻模式' },
|
||||
13: { code: 'CREATE-013', theme: '皮筋手枪', knowledge: '弹性原理、射击机构、安全操作' },
|
||||
14: { code: 'CREATE-014', theme: '剪刀式升降机', knowledge: '剪叉结构、升降原理、工程应用' },
|
||||
15: { code: 'CREATE-015', theme: '推车小人', knowledge: '传动机构、人形模型、运动控制' },
|
||||
16: { code: 'CREATE-016', theme: '平衡运水', knowledge: '平衡结构、传感器、稳定控制' },
|
||||
17: { code: 'CREATE-017', theme: '自动发球机', knowledge: '发球机构、速度控制、体育科技' },
|
||||
18: { code: 'CREATE-018', theme: '摇头风扇', knowledge: '摇头机构、齿轮传动、智能家居' },
|
||||
19: { code: 'CREATE-019', theme: '直升机', knowledge: '螺旋桨、升力原理、飞行控制' },
|
||||
20: { code: 'CREATE-020', theme: '联合收割机', knowledge: '复合传动、收获机制、农业科技' }
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 导出配置
|
||||
if (typeof module !== 'undefined') {
|
||||
module.exports = CONFIG;
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
# 课程编号:AI03-001
|
||||
# 课程主题:Prompt基础——与AI有效对话
|
||||
# 适用班级:四年级(8-10岁)
|
||||
# 教具套装:AICODE03平台 + 电脑
|
||||
# 课时长度:90分钟
|
||||
|
||||
## 课程目标
|
||||
- **知识目标**:理解Prompt概念,知道如何与AI有效沟通
|
||||
- **技能目标**:能写出清晰的Prompt让AI生成可用代码
|
||||
- **情感目标**:建立"AI是助手,我是主导者"的认知
|
||||
|
||||
## 核心知识点
|
||||
1. **Prompt概念**:给AI的指令/提示词
|
||||
2. **有效Prompt三要素**:角色设定 + 具体任务 + 输出要求
|
||||
3. **AI协作流程**:想法 → 写Prompt → AI生成 → 孩子审查 → 修改迭代
|
||||
|
||||
## 教学重点
|
||||
- 写出清晰的Prompt
|
||||
- 理解和修改AI生成的代码
|
||||
|
||||
## 教学难点
|
||||
- 把模糊的想法转化为具体的Prompt
|
||||
- 判断AI生成代码的正确性
|
||||
|
||||
## 课程流程
|
||||
|
||||
| 阶段 | 时长 | 内容 | 教师要点 |
|
||||
|-----|------|------|---------|
|
||||
| 导入 | 10分钟 | AI能做什么?展示AI生成代码案例 | 强调AI是工具,人是主导 |
|
||||
| 讲解 | 15分钟 | 什么是Prompt?好的vs差的 | 对比演示 |
|
||||
| 实践 | 35分钟 | 练习写Prompt让AI生成简单程序 | 从简单到复杂 |
|
||||
| 调试 | 25分钟 | 运行AI代码,发现问题,修改Prompt | 迭代思维 |
|
||||
| 总结 | 5分钟 | 今天学会了什么? | 强化Prompt工程概念 |
|
||||
|
||||
## 评价要点
|
||||
|
||||
### 技能维度
|
||||
- [ ] 能写出包含任务描述的清晰Prompt
|
||||
- [ ] 能理解AI生成的代码基本逻辑
|
||||
- [ ] 能通过修改Prompt改进输出结果
|
||||
|
||||
### 过程维度
|
||||
- [ ] 与AI协作的主动性
|
||||
- [ ] 对AI输出的批判性思维
|
||||
- [ ] 迭代优化的耐心
|
||||
|
||||
## 常见情况处理
|
||||
|
||||
| 情况 | 应对策略 |
|
||||
|-----|---------|
|
||||
| AI生成的代码跑不通 | 教查看错误信息,让AI"修复这个错误" |
|
||||
| Prompt写太简单结果不满意 | 引导添加更多细节要求 |
|
||||
| 完全依赖AI不思考 | 要求先口述思路,再让AI实现 |
|
||||
| 对代码看不懂 | 让AI"解释这段代码",逐行理解 |
|
||||
|
||||
## 课评关键词
|
||||
Prompt工程、AI协作、代码审查、迭代优化、AI时代创作能力
|
||||
|
||||
## 课后延伸
|
||||
- 尝试用AI生成一个计算器程序
|
||||
- 思考:AI生成的代码版权归谁?
|
||||
|
||||
---
|
||||
*课程代码:AI03-001*
|
||||
@@ -0,0 +1,77 @@
|
||||
# AICODE03-007 我是大作家【小说插图】
|
||||
|
||||
---
|
||||
|
||||
**课时**: 第7课时
|
||||
**主题**: 我是大作家【小说插图】
|
||||
**核心能力**: [表达力, 审美力]
|
||||
**核心工具**: [codemaoai.com, AI图像生成]
|
||||
**时长**: 90分钟
|
||||
**透明化层级**: 结果层
|
||||
**适用路线**: AICODE-03
|
||||
|
||||
---
|
||||
|
||||
## 1. 课程目标
|
||||
|
||||
### 知识目标
|
||||
- 复习AI图像生成中的提示词工程
|
||||
- 掌握用占位符标注和文档化管理提示词的方法
|
||||
- 理解图像与文字的配合关系
|
||||
|
||||
### 能力目标
|
||||
- 能为小说场景设计合适的插图提示词
|
||||
- 能用占位符系统化管理提示词模板
|
||||
- 能将生成的插图与小说内容有机结合
|
||||
|
||||
### 情感目标
|
||||
- 体验"图文并茂"带来的作品完整感
|
||||
- 建立"视觉表达也是创作"的认知
|
||||
- 激发对多媒体创作的兴趣
|
||||
|
||||
---
|
||||
|
||||
## 2. 核心知识点
|
||||
|
||||
1. **提示词工程复习**:角色描述、场景设定、风格指定
|
||||
2. **占位符标注**:用`{角色名}`、`{场景}`等变量实现提示词复用
|
||||
3. **文档化管理**:将提示词模板整理成可复用的文档
|
||||
4. **图文配合**:插图与小说情节的对应关系
|
||||
|
||||
---
|
||||
|
||||
## 3. 课程流程
|
||||
|
||||
| 阶段 | 时长 | 内容 | 教师要点 |
|
||||
|-----|------|------|---------|
|
||||
| 导入 | 10分钟 | 回顾上节课小说内容,讨论"有插图的书vs纯文字" | 激发视觉表达需求 |
|
||||
| 讲解 | 15分钟 | AI图像生成提示词工程复习,占位符概念 | 演示占位符用法 |
|
||||
| 实践 | 40分钟 | 为小说设计插图提示词,生成图像 | 逐场景指导 |
|
||||
| 整合 | 20分钟 | 将插图插入Markdown文档 | 图文排版 |
|
||||
| 总结 | 5分钟 | 分享作品,总结占位符管理方法 | 强化文档化思维 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 评价要点
|
||||
|
||||
### 技能维度
|
||||
- [ ] 能写出包含角色、场景、风格的完整提示词
|
||||
- [ ] 能使用占位符实现提示词复用
|
||||
- [ ] 能将插图与小说内容合理搭配
|
||||
|
||||
### 过程维度
|
||||
- [ ] 提示词迭代优化的尝试次数
|
||||
- [ ] 对图像生成结果的审美判断
|
||||
- [ ] 文档化管理提示词的意识
|
||||
|
||||
---
|
||||
|
||||
## 5. 课评关键词
|
||||
|
||||
AI图像生成、提示词工程、占位符、文档化管理、图文配合、审美力
|
||||
|
||||
---
|
||||
|
||||
*课程代码:AICODE03-007*
|
||||
*创建日期:2026-05-20*
|
||||
*适用学期:2026春季学期*
|
||||
106
.claude/memory/project_memory.md
Normal file
106
.claude/memory/project_memory.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# 项目记忆文件
|
||||
|
||||
## 课评工作流优化框架(v4.5)
|
||||
> 创建日期:2026-05-16 | 基于实际跑流度的经验总结
|
||||
> 更新日期:2026-05-20
|
||||
|
||||
### v4.5 更新内容
|
||||
- **表单直连提交**:网页表单直接 POST 到本地服务器(`src/form_server.py`),AI 通过检测 `.claude/.tmp/EVALUATION_READY.txt` 信号文件自动触发课评生成,彻底取消「复制→粘贴」步骤
|
||||
- **补课存储规则简化**:取消补课专用目录和双向记录,补课记录统一保存在学生原班级,文件名加 `_补课` 后缀
|
||||
- **体验课记录扁平化**:体验课记录统一放在 `体验课记录/` 目录,命名格式 `日期-班级-课程主题.md`,一个文件可包含多个学生
|
||||
- **临时数据清理**:课评保存完成后自动清理 `.claude/.tmp/` 下的 JSON 和信号文件
|
||||
|
||||
---
|
||||
|
||||
## 课评工作流优化框架(v4.4)
|
||||
> 创建日期:2026-05-16 | 基于实际跑流度的经验总结
|
||||
|
||||
### 优化核心:「Form-First」三步式
|
||||
|
||||
```
|
||||
/周几 → 选班级 → 自动打开网页表单 → 填表提交 → 自动生成保存
|
||||
```
|
||||
|
||||
> **适用范围**:所有上课日(周一~周日),`/周六`、`/周日`、`/周四`、`/周五` 等均按此流程执行
|
||||
|
||||
### 关键规则
|
||||
|
||||
#### 规则1:自动推演课程进度
|
||||
选择班级后,系统自动从 `summaries/` 读取最新课次,推算当前课次:
|
||||
- 若上次课距当前日期>1周且全班请假 → 提示"需补课吗?"供确认
|
||||
- 否则直接使用下一课次
|
||||
- **目标:减少1轮"确认课程"的交互**
|
||||
|
||||
#### 规则2:默认网页表单输入(Form-First)
|
||||
选择班级后**默认直接创建并打开网页表单**,不先展示文本输入:
|
||||
- 表单包含每个学生的:状态按钮(出勤/请假/体验/补课)+ 独立文本区
|
||||
- 表单显示学生画像摘要(性格特点、上次表现)
|
||||
- 显示速记符号参考
|
||||
- **目标:消除"需要输入框→创建表单"的切换摩擦**
|
||||
|
||||
#### 规则3:表单直连提交 + 输出头信息
|
||||
网页表单增加"直接提交"功能,提交后:
|
||||
- 后台自动接收数据
|
||||
- 输出内容头部自动包含:班级名称、课程编号·主题、日期
|
||||
- 系统可自动识别班级和课次,不会搞错
|
||||
- **目标:消除"复制粘贴回聊天"的中间步骤 + 消除班级/课次识别错误**
|
||||
|
||||
#### 规则4:表单辅助功能
|
||||
- 填写进度条:实时显示已填写/总人数(含补课学生)
|
||||
- 待填写提示:红色标记未填写的学生
|
||||
- 输入框状态:填写后自动变绿,视觉反馈
|
||||
- 一键复制:复制到剪贴板,带成功提示
|
||||
- **补课/体验学生区** 🆕:虚线边框独立区域,可动态添加多个补课学生,含姓名输入、状态(补课/体验)、表现描述,进度条自动计算在内
|
||||
|
||||
#### 规则5:年级感知
|
||||
根据班级课程类型自动选择输出模板:
|
||||
- 学龄前(TUBE/DISC/INVENT/CREATE)→ 学龄前格式
|
||||
- 小学(SPIKE/AICODE03)→ 小学格式
|
||||
|
||||
### 已确认优化效果
|
||||
- 交互轮数:5轮 → 3轮
|
||||
- 输入方式:聊天文本→临时表单 → **默认网页表单**
|
||||
- 课程确认:需人工回答 → **自动推算**
|
||||
- 数据提交:手动复制粘贴 → **一键提交**
|
||||
|
||||
### 规则6:课评文字代码块包裹(便于预览复制)
|
||||
班级总结文件(`*_班级反馈.md`)中,每位学生的课评正文必须用**代码块 ` ``` ` 包裹**,而非引用块 `>` 或纯文本:
|
||||
- 代码块在 VS Code 预览时右上角显示**复制按钮**,方便一键复制课评文字
|
||||
- 格式示例:
|
||||
```markdown
|
||||
**课评内容**
|
||||
|
||||
```
|
||||
{课评正文}
|
||||
```
|
||||
```
|
||||
- 请假/体验等无课评正文的学生,用 `**状态**:` 描述即可,无需代码块
|
||||
|
||||
## Hard Constraints
|
||||
- All class days (Monday-Sunday) must follow the Form-First workflow
|
||||
- Course progress must be automatically matched based on current week's date using semester week mapping (NOT inferred from last session progress)
|
||||
- Web forms must be created by default for student performance input, no manual text input first
|
||||
- Web forms must support direct POST submission to local server (`src/form_server.py`) — **no copy-paste required**
|
||||
- AI detects `.claude/.tmp/EVALUATION_READY.txt` signal file to auto-trigger evaluation generation
|
||||
- Temporary JSON and signal files in `.claude/.tmp/` are auto-cleaned after save completion
|
||||
- **补课记录存储规则(v4.5)**:跨班级补课学生,课评文件保存在学生原班级 `feedback/` 目录,文件名加 `_补课` 后缀(如 `20260505_DISC-009_补课.md`),不再创建补课专用目录或双向记录
|
||||
- **体验课记录规则(v4.5)**:体验课记录统一放在 `.claude/memory/class/体验课记录/` 目录,命名格式 `日期-班级-课程主题.md`(如 `2025-05-17-SPIKE-电动螺丝刀.md`),一个文件可包含多个体验学生
|
||||
|
||||
## Engineering Conventions
|
||||
- Class selection is triggered by "/weekday" (e.g., "/周六", "/周四")
|
||||
- Class lists display current week's course theme based on semester week number (e.g., Week 11 → DISC-011 鳄鱼)
|
||||
- Student input forms include individual text areas and attendance status buttons
|
||||
- Form data is saved as JSON to `.claude/.tmp/evaluation_input_{class}.json` via POST to local server
|
||||
- Signal file `.claude/.tmp/EVALUATION_READY.txt` triggers AI to read JSON and generate evaluations
|
||||
- Temporary JSON files and signal files are auto-cleaned after evaluation saving is complete
|
||||
- **补课记录命名(v4.5)**:`YYYYMMDD_课程编号-课次_补课.md`,保存在学生原班级 `feedback/` 目录
|
||||
- **体验课记录命名(v4.5)**:`日期-班级-课程主题.md`(如 `2025-05-17-SPIKE-电动螺丝刀.md`),保存在 `.claude/memory/class/体验课记录/` 目录
|
||||
|
||||
## Lessons Learned
|
||||
- Manual course confirmation caused unnecessary interaction rounds; automatic inference saves time
|
||||
- Chat-based text input was replaced with web forms due to user preference for dedicated input fields
|
||||
- Course theme should be determined by current week's scheduled theme, not by tracking last session's progress
|
||||
- Copy-paste from web form to chat was the #1 friction point; local server POST + signal file eliminates it entirely
|
||||
- Generated form files must be auto-cleaned after use to avoid project directory clutter
|
||||
- **补课记录简化(v4.5)**:双向记录和补课专用目录造成文件冗余,改为单记录保存在原班级更简洁
|
||||
- **体验课扁平化(v4.5)**:多层嵌套目录不利于快速查看,扁平化结构更符合使用习惯
|
||||
Reference in New Issue
Block a user