我做了个给老师用的 AI 做课智能体「智课工坊」:为什么做、怎么做的、和整套开发提示词

举报
阿诺林 发表于 2026/08/03 15:28:52 2026/08/03
【摘要】 引语:一门课从零做到能开课,正常要 8 到 12 个人天。我用一个单文件 HTML 接 DeepSeek,把它压到 1 天。这篇不是功能清单,是把「为什么做 → 解决了什么 → 怎么一步步做出来 → 每个关键功能背后的取舍 → 整套开发提示词」完整摊开,你照着能复刻一个。 1. 为什么做:31 节课之后,我受够了重复劳动先交代背景。过去几个月我做了四门 AI 素养课:入门 7 课、进阶 8 ...

引语:一门课从零做到能开课,正常要 8 到 12 个人天。我用一个单文件 HTML 接 DeepSeek,把它压到 1 天。这篇不是功能清单,是把「为什么做 → 解决了什么 → 怎么一步步做出来 → 每个关键功能背后的取舍 → 整套开发提示词」完整摊开,你照着能复刻一个。

1. 为什么做:31 节课之后,我受够了重复劳动

先交代背景。过去几个月我做了四门 AI 素养课:入门 7 课、进阶 8 课、高阶 8 课、案例实战 8 课,加起来 31 节。做到第 20 节的时候有个感觉越来越强烈:每节课的结构明明一模一样——封面、知识点、实操步骤、Prompt 模板、总结页、桥接语,但每次都是从头开始。大纲、逐课内容、课件、习题、考核,一整套下来 8 到 12 个人天,而课程内容本身一个学期才更新一次。

这个痛点不止我有。高校老师想开 AI 课,卡点根本不是专业能力——计算机老师哪个不会讲?他们缺的是三样东西:课程设计方法论(产出链怎么排、能力怎么分层、目标怎么对齐)、课件工程化(淡蓝科技风的翻页课件没人会写)、考核配套(题库、答案键、评分量表)。市面上的工具没有一个能一站解决。

于是目标很明确:做一个工具,老师输入课程主题或丢进来一份讲义,输出一门能开课的完整课程包。老师不是甩手掌柜,是审核者——AI 出草稿,老师改,改完确认。

2. 解决什么问题:先做业界调研,发现这是真空白

动手之前我先做了个系统调研,防止自嗨。翻了国际 15+ 个产品(Khanmigo、MagicSchool、Diffit、Curipod、Eduaide、Coursebox、LearnWorlds 这些)+ 国内 27 个(讯飞智作、希沃、ClassIn、小鹅通、百度文库 AI、WPS AI、豆包、Coze),外加 Gamma、SlidesAI 这类通用工具。

调研结果可以浓缩成一张六层能力基线表——成熟作课产品的起跑线:

能力层 代表功能 典型产品
L1 输入层 主题/文档/视频 URL 输入 Coursebox、Diffit、Eduaide
L2 教学设计层 大纲、目标对齐、布鲁姆分层 Eduaide、Khanmigo
L3 物料生成层 教案、课件、讲义 MagicSchool、希沃
L4 测评考核层 测验、答案键、AI 批改 Coursebox、Brisk
L5 媒体制作层 AI 讲师视频、TTS Synthesia、讯飞智作
L6 分发运营层 SCORM/LTI 导出、LMS 集成 LearnWorlds、Sana

对照这张表,五个空白非常扎眼:

  1. 没有一家能端到端生成「多课时完整课程」——全停在单套 PPT、单课教案;「课程目标 → 多课时序列 → 跨课时一致性 → 版本迭代」没人打通
  2. 教学设计层在商业工具里几乎缺失——Bloom 分层、产出链设计、能力分层只能靠用户自己写 prompt
  3. 理工科/开发者课程没人做——国内竞品全部面向 K12 新课标,代码实验、可运行 Notebook 是真空
  4. 考核闭环普遍做浅——「出题 → 答案键 → Rubric → AI 批改」完整闭环无人提供
  5. 华为底座齐全但缺封装——智果、码道、ModelArts、开发者空间、开发者学堂每一块都有,就是没拼成「老师自助 AI 作课」的成品

结论:不是没人想到,是没人打通。这个空白就是我们产品的落点,PRD 里产品名暂定「智课工坊」。

3. 怎么做:单文件 HTML + DeepSeek + localStorage

技术路线我选得特别朴素:单文件 HTML,双击就能开,接 DeepSeek 的 API,数据存 localStorage。不引框架,不搞后端。

为什么单文件?给老师的工具,越简单越好。一个文件拷走就能用,不用装环境、不用部署、不会过期。老师电脑上可能什么都没有,但他一定有浏览器。

整个产品是六步向导(每一步都有「下一步」按钮,步骤条只允许点当前步及之前,防止跳步):

① 课程输入与澄清 → 主题+学员+课时+深度;AI 用四问(谁学/缺什么/学完能怎样/凭什么)追问
② 课程方案       → 产出链 + 课时大纲(可编辑表格 = 可编辑中间态,先审结构)
③ 课程详细内容   → 每课:Bloom学习目标 + 知识点 + 实操步骤 + Prompt模板 + 桥接;可展开改
④ 逐课课件生成   → 严格基于详细内容,页数下限 8,知识点全覆盖
⑤ 题库考核       → 20/批分批生成,多题型+答案+解析+对应课时
⑥ 审校与导出     → AI 质量自检 + 「需教师确认」清单 + 导出课程包

4. 三次推翻:每个关键决策都是被真实使用打脸

第一次推翻:让 AI 从大纲直接生成课件,每课只有 2 到 3 页

第一版流程是五步:输入 → 方案 → 逐课课件 → 题库 → 审校。方案生成没问题,课件开始翻车——AI 从大纲直接生成课件,每课只出 2 到 3 页,页数完全失控:同一个提示词,第一课 9 页,第二课 3 页,有的课连总结页都没有就断了。

想明白问题出在哪:让 AI 从大纲直接跳课件,等于让它自己脑补中间层,它脑补不了。人做课是先写教案再写 PPT,AI 也应该这样。

于是改成六步,中间强制插入「逐课详细内容」这道闸——不是大纲里的一句话,是每课的学习目标(带 Bloom 分级)、4 到 6 个知识点、3 到 5 个实操步骤、2 到 3 个 Prompt 模板、桥接语。生成课件时把详细内容整段塞进提示词,并写死页数下限:

【课件生成提示词 · 可以直接抄】
你是课件设计师。严格基于下面的「本课详细内容」制作课件,不要自由发挥新增知识点。
输出 JSON:{"slides":[{type,icon,h1,tag,time,output,subtitle,paras,list,steps,prompts,outputs,takeaways,bridge}]}
slide.type 只能是这 5 种之一:cover / content / steps / prompt / summary。
要求:
1. 页数至少 8 页,不足 8 页算生成失败
2. 详细内容里的每个知识点至少 1 个 content 页
3. 每个 Prompt 模板对应 1 个 prompt 页
4. 第一页是 cover,最后一页是 summary(含 bridge 桥接语)
5. 只输出 JSON,不要代码围栏,文本字段内部不要换行

【本课详细内容】
{在这里粘贴第 3 步生成的每课详细内容 JSON}

改完以后课件稳定在 8 到 11 页,内容页和知识点一一对应。少于 8 页就拦截重试,未知的 slide 类型兜底按内容页渲染——AI 会发明非标准 slide 类型,这是页数悄悄变少的元凶,兜底渲染不是保险,是刚需。

第二次推翻:100 道题一次生成,JSON 被截断

题库是第二个坑。老师填「100 道题」,AI 一次输出 100 道题的 JSON——题干、四个选项、答案、解析。max_tokens 给的是 4000,输出到一半就断了,JSON.parse 直接报 Expected ‘]’。

三个修复一起上:max_tokens 提到 8000;20 题一批串行生成,批间合并;解析器从后往前找 JSON 闭合点,AI 输出被截断或带尾巴都能救回来。

【题库生成提示词 · 可以直接抄】
你是课程考核设计师。基于课程内容出题,覆盖多个课时知识点。
输出 JSON:{"quizzes":[{"type":"choice 或 multi","question":"题干(不要包含选项文字)","options":["A","B","C","D"],"answer":"单选题为下标数字 0-3,多选题为下标数组如 [0,2]","difficulty":"easy|medium|hard","lesson":课时序号,"explain":"解析"}]}
要求:恰好 N 题;单选约占 70%、多选约占 30%;多选题必须 4 个选项且正确答案 2 到 3 个;题干中不要出现 A./B./C./D. 之类的选项文字。只输出 JSON。

顺带把续批做了:生成完可以继续追加,新题跟旧题不重复。AI 侧把已出题的题干塞进提示词要求避开,本地再过滤一遍完全重复的。双保险——实测 AI 有时候就是不听话,本地过滤是兜底。

第三次推翻:AI 返回的字段类型,说变就变

打包下载的时候用户报错:打包失败,sl.paras.map is not a function。

查了半天:AI 返回的 paras 字段,有时是数组,有时是字符串,有时是对象。我写的 (sl.paras||[]).map 只兜得住 null 和 undefined,字符串直接炸。一个函数解决:

/* 类型防御 · 可以直接抄 */
function arr(x){ return Array.isArray(x) ? x : []; }
// 所有 AI 生成的字段一律包一层:
// 课件页:arr(sl.paras).map(...)  arr(sl.steps).map(...)
// 详细内容:arr(d.kps).map(...)  arr(d.prompts).map(...)
// 题库:arr(q.options).forEach(...)

课件页的 paras/list/steps、详细内容的知识点、题库的 options,全部包上 arr()。这之后同样的数据再没炸过。教训:AI 输出的形状默认不可信,校验和兜底不是防御过度,是必需品。

5. 关键功能:每个功能背后都是一道取舍

  1. 四问澄清——「一句话起课」最容易跑偏,AI 先追问四问:谁学?缺什么?学完能怎样?凭什么跟你学?这四问来自我做 31 节课的洞察定位方法论,是课程设计的命门
  2. 可编辑中间态——方案是表格、详细内容可展开,每一步都能改。这是「AI 草稿 + 人工审校」的落地:老师先审结构,再放量生成
  3. 详细内容驱动课件——这是本产品最大的卖点:课件页数有下限、知识点全覆盖、Prompt 一一对应,AI 的自由发挥被关进笼子里
  4. 附件深度阅读——老师上传的讲义大多是 Word。浏览器读 docx 要先解压 zip,本来准备引 JSZip,后来发现浏览器原生 DecompressionStream 就能解压 deflate——手写了一个六十行的极简 zip 解析器,只找 word/document.xml 里的文本,零依赖搞定。PDF 读不了,提示老师直接粘贴文本。生成方案是两步走:先深度阅读提炼要点(真实进度条 15%→60%→100%),再综合设计产出链大纲
  5. 题库分批 + 去重 + 多选——20 题一批串行生成防截断,续批不重复,单选 70% / 多选 30% 混合,选项自动清理 AI 自带的 A. 前缀
  6. 审校与导出——AI 质量自检(评分 + 高中低三级「需教师确认」清单),课程包一键打包:课程方案 md + 逐课课件 HTML + 题库 md + 项目 json,ZIP 下载(又是手写的 stored 模式 zip 生成器,约 60 行,兼容系统自带解压)

6. 开发提示词合集:五个可以直接抄的 Prompt

除了上面课件、题库两个,把另外三个核心环节的提示词也贴出来,凑成整套:

【四问澄清提示词 · 可以直接抄】
你是课程设计顾问。用户想开发一门课,请用四个问题澄清需求,每个问题给出选项+建议,
不要一次问完就生成方案:
1. 谁学?(目标学员,给出 2-3 个典型画像选项)
2. 他们缺什么?(结合画像给 2-3 个可能的痛点)
3. 学完能怎样?(给出 2-3 条产出链示例,如「网页截图 → 作品集 → 第一个AI程序」)
4. 凭什么跟你学?(工具/出口/体系,引导用户说出差异化)
等用户全部回答后,再综合输出课程方案。
【课程详细内容生成提示词 · 可以直接抄】
请为「{课程名}」第N课《{课名}》输出课程详细内容,先给我审,不要直接生成课件:
1. 学习目标 2-3 条,每条用 Bloom 层级标注(如「应用-能独立完成…」)
2. 知识点 4-6 个,覆盖本课核心概念
3. 实操步骤 3-5 个,可操作、可验证
4. Prompt 模板 2-3 个,与实操强相关,学生可直接复制
5. 桥接语一句(过渡到下一课)
输出 JSON:{"objectives":[],"kps":[],"steps":[{"title","body"}],"prompts":[{"label","text"}],"bridge":""}
【AI 质量自检提示词 · 可以直接抄】
你是课程质量审核员。检查下面的课程内容,输出评分和问题清单:
1. 事实正确性:物理公式/代码/概念有没有错误
2. 与前序知识点是否匹配(有没有跳级)
3. 每课产出是否可验证、可展示
4. 跨课时一致性:课次衔接、产出链是否连贯
输出 JSON:{"score":0-100,"issues":[{"level":"high|mid|low","lesson":N,"desc":"需教师确认的问题"}],"suggestion":"改进建议"}

这五个提示词基本覆盖了「澄清 → 方案 → 详细内容 → 课件 → 题库 → 审校」的完整链路,是我在真实使用中迭代出来的,直接改改就能用。

7. 意外收获:老师真的会改

工具做出来之后发现一件没想到的事:老师不点「AI 一键全生成」,而是让 AI 出草稿,然后逐课展开改。详细内容区每课有「展开」按钮,改完再让 AI 基于改过的内容重新生成课件。

「教师是审核者」——这个定位不是我想出来的产品理念,是用户行为自己长出来的。产出链和知识点拆解,老师认可六七成,剩下三四成自己改。工具的价值不是替老师做课,是把老师从 8 天里解放出来,让他把时间花在改自己的课上。

8. 总结

三个判断:

  1. 让 AI 直接生成最终产物是错的,中间层必须人肉可见——先详细内容,后课件,顺序不能反
  2. AI 输出的形状默认不可信,解析容错和类型兜底不是防御过度,是必需品
  3. 做课工具的市场空白不在「生成」,在「教学设计」——Bloom、产出链、能力分层这些教学设计层,才是别人没做、老师真正缺的东西

AI 把做课的时间从 8 天压到 1 天,剩下的那 1 天,是老师在改自己的课——这 1 天才是这门课的魂。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。