三段10分钟课堂教学设计助手
40分钟三段式教案,输出 MD + DOCX;按学情自动选统一或分层模板(触发条件见 description)。
核心设计理念
在生成教案前,始终对齐以下三层逻辑:
- 岗位导向:这堂课学生将来在什么岗位场景下使用这个知识?开场案例必须来自真实企业。
- 认知节奏:40 分钟如何切割才能贴合职业院校学生的注意力曲线?严格遵循"筑基→攻坚→实操"三段递进。
- 保底拔高:最弱的学生必须带走什么?最强的学生还能吃到什么?分层教案必须明确标注基础/进阶。
这三点决定每一个字段的取舍。
Required Inputs
在生成教案前,先收集以下 9 项参数。将已有信息和缺失项一次性展示,让教师补充:
| # | 参数 | 必填 | 示例 |
|---|---|---|---|
| 1 | 课程名称 | ✅ | 汽车发动机构造与维修 |
| 2 | 课题名称 | ✅ | 发动机怠速不稳的故障诊断 |
| 3 | 授课班级 | ✅ | 2025级汽修2班 |
| 4 | 授课人数 | ✅ | 35人 |
| 5 | 学段 | ✅ | 中职二年级 |
| 6 | 教育类型 | ✅ | 职业教育 |
| 7 | 使用教材 | ✅ | 《汽车发动机维修》第3版 |
| 8 | 教学课时 | ❌ | 默认 1课时 / 40分钟 |
| 9 | 授课类型 | ✅ | 理论新课 / 实操技能课 / 复习考核课 |
同时请教师描述学情(自然语言即可),用于后续学情类型判断。
Decision: 学情类型判断
根据教师的学情描述判断使用哪个模板:
学情描述包含以下关键词之一:
"分层" "混课时" "深度学习" "基础弱" "两极分化"
"一部分...另一部分" "%" "差异大"
├─ 是 → 追问分层比例(如"60%基础 / 40%进阶")→ 加载 references/layered-template.md
├─ 否 → 加载 references/uniform-template.md
└─ 无法判断(描述模糊或无学情描述)→ 询问:
"班级学情更接近哪种?
A. 学生水平基本一致,统一备课即可
B. 存在明显分层,需要区分基础要求和进阶要求"
→ 选 A 加载 uniform-template.md,选 B 追问比例后加载 layered-template.md
Workflow
Step 0(可选): 参考材料处理
如果教师提供了参考材料(课程文档/已有教案/企业手册),在收集参数前先执行材料解析。处理完成后展示预填结果,教师确认后进入 Step 1。
若无参考材料,直接进入 Step 1。
材料来源处理:
- 用户上传文件 → 保存到临时路径 → 识别扩展名 → 按格式解析
- 用户提供本地路径 → 直接读取文件 → 按格式解析
- 用户引用知识库(如 IMA)→ 读取知识库文档内容 → 按格式解析
详见 Reference Material Processing 章节。
Step 1: 收集/确认输入参数
收集 9 项参数。若有 Step 0 预填结果,仅展示未预填的必填字段要求补充。缺失必填项则追问补齐。
Step 2: 判断学情 → 加载对应 template
按 Decision: 学情类型判断 决策树执行。确定模板后:
MANDATORY - READ ENTIRE FILE:必须从头到尾完整读取选定的模板文件,不要设置任何 range limit。模板是字段结构、表格骨架和分层写法的唯一事实源,未完整读取前不得开始生成。
references/uniform-template.md— 统一学情(4列表格,无分层标注列)references/layered-template.md— 分层学情(5列表格,含分层标注列)
Do NOT Load:未选中的另一个模板——只读一个,绝不两个同时加载。
读取完成后立即核对:模板中含 {{占位符}} 与 {{#each}}...{{/each}} 可重复区块——生成时逐一替换/展开,残留即不合格。
Step 3: 生成教案
MANDATORY - READ ENTIRE FILE:生成前完整读取 references/field-rules.md(字段 1–21 生成规则),不要设置 range limit。
按该文件逐字段生成(字段数量与顺序以 Step 2 模板为准)。教学流程严格遵循 教学流程结构速览 与所加载模板的逐分钟骨架。生成时先输出 MD 格式预览给教师确认。
Step 4: 输出 MD + DOCX
教师确认后,输出两个文件:
- 文件名:[课程名称]_[课题名称]_教学设计.md 和 .docx
DOCX(仅此步加载,MD 预览阶段不要读):
1. 版式唯一事实源:references/docx-style-spec.md(页面/字体/表格/页脚/章节序)
2. MANDATORY - READ ENTIRE FILE:构造 JSON 前完整读取 references/docx-json-contract.md(结构、行类型、列宽、流程表行结构),不要设置 range limit
3. 调用 python3 scripts/generate_docx.py <input.json> [output.docx];python-docx 缺失则先 pip install python-docx
4. 确认输出存在且大小 > 0;失败则按 json-contract 核对 JSON 后重试
5. 成功后立即删除临时 JSON
Step 5: 质量自检
生成后执行 Quality Checklist;DOCX 视觉验收必须对照 references/docx-style-spec.md §8 交付前检查清单(可只读 §8)。不符合则修复后重新输出。
Reference Material Processing
当教师提供参考材料时,按以下流程处理:
材料类型识别
根据文件扩展名和内容特征判断材料类型:
| 类型代码 | 材料类型 | 典型特征 | 主要影响字段 |
|---|---|---|---|
| A | 课程内容文档 | 含知识点/章节结构/学习目标 | 课程名称、课题名称、教材、教学目标、重难点 |
| B | 已有教案参考 | 含教学流程/方法/板书/评价 | 教学方法、学习方法、板书设计、评价设计、教学思路 |
| C | 企业岗位手册 | 含技能清单/工具清单/岗位案例 | 教学重点、开场案例、教学资源 |
格式解析与依赖
| 文件格式 | 解析方式 |
|---|---|
首选 pypdf;提取失败(扫描版/加密 PDF)时改用 PyMuPDF;仍失败则提示用户改用其他工具转文本 |
|
| DOCX | 使用 python-docx 提取文本 |
| MD / TXT | 直接读取 |
| 图片 (JPG/PNG) | pytesseract(需本地 Tesseract 引擎及中文包 chi_sim)+ Pillow 预处理;对低置信度(<70%)或识别明显异常(大量乱码/缺字)的文本标注提醒 |
依赖(仅缺失时安装,不预装):
- python-docx:DOCX 生成与读取(必需)→ pip install python-docx
- pypdf / PyMuPDF:PDF 提取首选/备选 → pip install pypdf(失败再装 PyMuPDF)
- pytesseract + Pillow:图片 OCR → pip install pytesseract Pillow(另需系统 Tesseract + chi_sim)
大文件分段读取:参考材料较大时,每次只读取一部分(文本约 30-50 行 / PDF 若干页),按需定位关键章节,不要一次性读入全文,避免上下文溢出并确保信息完整取用。
信息提取与预填
从材料中提取可预填字段(课程名称、课题名称、教材名称、教学目标候选、重难点候选、教学资源候选),一次性展示给教师。
展示格式:
**从参考材料中提取的预填信息:**
- 课程名称:XXX(来源:材料A,文件名)
- 课题名称:XXX(来源:材料A,第3章标题)
- 教材:XXX(来源:材料A,前言)
- 教学目标候选:[列出提取到的学习目标/技能要求]
- 重难点候选:[列出提取到的重点/难点]
请确认或修改以上信息,确认后将继续补充授课班级、人数等参数。
多材料冲突处理
若多份材料对同一字段有不同信息:
1. 列出所有候选值,标注来源
2. AI 标注推荐项(★),给出推荐理由(如"来自课程内容文档,与课题直接相关")
3. 教师选择/合并/自定义
教学流程结构速览
总时间公式
10 (模块一) + 3 (缓冲一) + 10 (模块二) + 3 (缓冲二) + 10 (模块三) + 4 (终局复盘) = 40 min
六段结构
| 时段 | 段落 | 内容定位 |
|---|---|---|
| 0-10min | 模块一:破冰筑基 | 导入锚定(真实企业场景)→ 1个基础概念/操作框架 → 小结+简单问题 |
| 10-13min | 缓冲一 | 不讲新知识。三选一:随机提问 / 行业小段子 / 快速复盘 |
| 13-23min | 模块二:重难点攻坚 | 衔接+岗位价值锚定 → 1个核心难点/易错点精讲 → 开放探究提问 |
| 23-26min | 缓冲二 | 不讲新知识。三选一:同桌互测 / 框架梳理 / 举手提问汇总 |
| 26-36min | 模块三:落地实操 | 知识串联 → 案例实操/错题拆解/技能模拟 → 基础/进阶要求梳理 |
| 36-40min | 终局复盘 | 1.5min 三模块核心梳理 + 1.5min 轻量课后任务 + 1min 留白答疑 |
逐分钟表格骨架、环节内教师/学生活动与设计意图、分层标注的完整写法,以 Step 2 加载的模板文件为唯一事实源(统一版 4 列 / 分层版 5 列)。本节只定义结构与约束,不重复模板内容。
内嵌表格规则
- 分层标注列:分层版显示,统一版隐藏
- 每行仅标注一级(全体 / 基础 / 进阶,不使用组合值)
- 若同一时间段内基础学生与进阶学生活动不同,拆为两行分别标注
- 核心授课环节可按需拆 2-6 行
教学流程约束(必须遵守)
生成时的正向结构(禁令与理由见 NEVER):
- 每个 10 分钟模块只含 1 个核心知识点
- 三模块递进:基础框架 → 核心难点 → 案例/实操/考点(不回授新概念)
- 缓冲段仅提问/复盘/互测,不传递新知识
- 开场锚定真实行业场景或岗位问题,落到可操作动作
- 每模块以小结或提问收束
绝对禁止(NEVER)
违反以下任一条将直接导致教案不合格。与流程约束重复者只在此保留禁令 + WHY,交付时以 Quality Checklist 验收。
- NEVER 在教学目标中使用"了解""知道""掌握"——不可观测、无法测量;须替换为"说出""列举""操作""诊断"等行为动词。
- NEVER 在缓冲段(10-13min / 23-26min)讲授新知识——缓冲是认知休息与巩固,不是知识传递。
- NEVER 让模块一超出基础范畴或模块三讲解新知识——模块一只交付最低门槛,模块三只做案例/实操/考点。
- NEVER 用空泛或泛化开场("今天我们学习…"/"某公司需要排版文档")——必须具体到岗位/企业并落到可操作动作,否则学生无法建立岗位连接,导入失去锚定作用。
- NEVER 让
{{占位符}}残留或交付缺要素的分层教案(双目标、分层标注列、学情比例、双标准量规四要素缺一不可)。 - NEVER 重写
scripts/generate_docx.py或让临时 JSON 滞留——始终只通过 JSON 调用脚本,生成成功后立即删临时文件,防止误读陈旧内容。 - NEVER 跳过质量自检——输出前必须逐项核对 Quality Checklist;DOCX 另须对照 style-spec §8。
Output Format Spec
Markdown 输出
输出全部 21 个字段,标题格式与字段列表以所加载模板为唯一事实源(学情分析在教学目标之前:十 → 十一)。总标题:
# 《[课程名称]》「[课题名称]」教学设计
DOCX 输出
- 调用方式、JSON 形状、行类型、列宽、流程表行结构:见 Step 4 加载的
references/docx-json-contract.md - 版式(字体/底纹/页脚/章节序):
references/docx-style-spec.md - 结构差异摘要:DOCX = 无编号基础信息表(9×2)+ 12 个 Heading 1(一 学情分析 → 十二 教学反思);MD = 21 字段编号
注意:不要每次重新编写 DOCX 生成脚本。始终调用 scripts/generate_docx.py,通过 JSON 传入内容。
Quality Checklist
生成教案后逐项验收(不复述 NEVER——先确认 NEVER 与流程约束全程未违反,再查下列交付项):
- [ ] 全部 21 字段无遗漏,
{{占位符}}零残留 - [ ] 章节顺序:学情分析在教学目标之前(MD 十/十一;DOCX 一/二)
- [ ] 流程时间 = 10+3+10+3+10+4 = 40min;三模块递进、每模块有小结/提问
- [ ] 教学方法与授课类型匹配;分层版四要素齐全,评价双列分值各自加总 = 100/100
- [ ] DOCX 已生成且大小 > 0,临时 JSON 已删除
- [ ] DOCX 版式对照
references/docx-style-spec.md§8 全项通过(含列宽合计 15.0cm、表头底纹、纯黑标题、页脚页码)
Template References
根据学情判断结果,只读取与决策结果匹配的一个模板(见 Step 2):
- 统一学情 →
references/uniform-template.md— 4列教学流程表格,无分层标注 - 分层学情 →
references/layered-template.md— 5列教学流程表格(多「分层标注」列),双目标/双标准
使用方式:读取模板后,将 {{占位符}} 全部替换为本次课题的具体内容(残留占位符判不合格)。{{#each}}...{{/each}} 表示可重复区块,按实际条目数量展开。
Do NOT Load(防过度加载):
- 未选中的另一个模板——只读一个,不要同时加载两个
- references/field-rules.md——仅 Step 3;Step 0–2 与 MD 确认后不必重读
- references/docx-json-contract.md 与 references/docx-style-spec.md——仅 Step 4/5;MD 预览与 Step 0–3 不要读
- scripts/generate_docx.py——仅 JSON 报错时才读实现;平时只按 json-contract 构造 JSON 并调用
- README.md / AGENTS.md / examples/——非加载面,技能执行时不要读