1. 先算一笔账:讲师的时间到底被什么吞掉了
我干了八年培训,最熟悉的一个画面是:深夜十一点,讲师办公室里还有人在跟Word里的公式编辑器死磕。隔天要上讲台,手头教材第三章的公式还没排完,章节练习的三十道题只出了八道——剩下的不是不会出,是实在没时间出。
很多讲师其实没认真算过自己的时间开销。拿一门四十课时的专业课来说,做教材、讲义、习题集的隐性投入,往往是课时数的五到十倍。这中间最不值得花的钱,是花在重复劳动上的时间。同一类积分题翻来覆去出,同一套公式说明在教材、PPT、习题册里各写一遍,同一批题型年年都是手工改数字——这些活儿的共同点是技术含量不高,但极其耗时。
我自己试过各种省时间的手段:题库软件、模板网站、AI对话工具零散着用。问题是工具之间不打通,AI生成的题目还得手动整理成文档,公式粘贴过来格式就乱,教材和题库各存各的,知识点到底覆盖了没有,心里没数。折腾一圈下来,省下来的时间又赔在工具切换上。
真正让我把这事想明白的,是看到有人把笔记工具和AI工作台组合起来用:Obsidian管知识沉淀,WorkBuddy管内容生产,中间用一套我们能控制的规则串起来。这才有了今天这篇文章想讲的东西——一套从公式教材到自动出题的完整工作流。这套组合适合谁?适合手里有课程要长期经营、教材和习题要反复迭代的培训讲师、企业内训师,也适合内容要做成知识库长期复用的教学运营人员。
先说个结论:这套流程跑通后,一章四小时的教材配套习题,从零到定稿我能控制在半天以内。以前这个数字是三到四天。差别不在于AI帮我写了多少字,而在于我不再为一件事来回切换工具、反复调整格式、重复核对覆盖度。
2. 工作流的整体设计:知识仓库和生产车间分离
这套方案的核心逻辑,一句话就能讲清楚:Obsidian是仓库,WorkBuddy是车间,两者之间靠结构化的约定来交接。这个分工不是拍脑袋定的,是基于两类工具各自擅长什么。
2.1 为什么让Obsidian管知识沉淀
Obsidian这类本地Markdown笔记软件,最大的特点是所有内容都是纯文本、结构化、可检索的。对于公式教材这种内容形态来说,这一点特别香:公式用LaTeX语法写在Markdown里,不依赖任何编辑器私有格式。今天用Obsidian写,明天换Typora打开,后天导出PDF,格式都不会崩。
更关键的是Obsidian的双链和标签体系。教材里的知识点天然是一个网:极限和导数连在一起,导数又连着极值和积分。用双链把这些关系标出来,到出题阶段就能顺着关系网去查覆盖度——哪些知识点出过题,哪些还没出过,一目了然。
我见过有人把整个教材直接丢进一个超大Word文件里,公式、图片、注释全堆在一起。这不是知识库,是黑箱。真正的知识库要能拆能合:能拆到具体知识点,也能按需组装成章节内容。Obsidian的块引用和嵌入机制恰好能做这件事。
2.2 为什么让WorkBuddy当生产车间
WorkBuddy这类工具,本质上是一个可以把AI能力编排成固定生产流程的工作台。它的价值不在于聊天时回答得多聪明,而在于能按你设定好的规则稳定地产出内容:生成什么样的教材段落、按什么标准出题、用什么语气表达、公式输出成什么格式——这些都能通过自定义指令和规则提前定好。
打个比方,Obsidian像是原料仓库,里面分门别类码好了公式、定义、例题、常见错误。WorkBuddy则是流水线,工人(AI)不会自己乱发挥,而是按照操作规程(自定义提示词和规则)从仓库取料、加工、质检、出成品。
两者的边界一定要划清楚。有人犯的错误是让AI边写边回存到笔记库,看起来效率很高,结果笔记库越来越乱。我的经验是单向流动:Obsidian里的结构化内容作为输入,WorkBuddy产出新内容后我审核完,再手工回存到Obsidian。仓库里的每一条内容都是经过确认的,这样AI每次读到的东西质量是可控的。
2.3 教材到试题的三层流转模型
再说说具体怎么流转。我把它拆成三层:
第一层是知识点层。这是最小的颗粒,写在Obsidian的每条笔记里:一个概念、一个公式、一个典型例题、一个常见错误。每条笔记有清晰的前缀标签,例如#知识点/导数/链式法则。
第二层是教材层。教材里的每一节,通过Obsidian的嵌入机制把知识点笔记组装起来。组装出来的是一段完整的、能直接用于教学的Markdown文本,包含了公式、解释和过渡句。
第三层是习题层。出题时不从白纸开始,而是基于知识点层里的公式、例题和常见错误做变异和组合。WorkBuddy按照题型规则从第一层提取素材,生成题目、答案和解析,再标记该题考查了哪些知识点。
这套模型的好处是,每一道题都能追溯回教材里的来源,教材里的每一个知识点都能查得到有没有对应的题。教材修一版,习题可以跟着自动调整——公式改了,出题规则引用到的素材也就同步换了。
3. WorkBuddy配置实战:把通用工作台调教成教材生产线
工具选型定了,剩下的就是配置。WorkBuddy刚装好的时候,它只是个通用工作台,离“教材生产线”还差得远。我花了一个下午把规则和流程调好,之后每次使用基本都是点几下按钮、审核一遍内容的事。
3.1 先建独立的工作区,别和别的任务混在一起
我建议给教学任务单独建一个工作区。原因很简单:不同任务的提示词、规则集、上下文是完全不同的。写营销文案的规则放到教材编写场景里,出来的东西带一股不合适的推销味;出题规则和代码生成规则混在一起,AI容易在题目描述里冒出毫无必要的英文变量名。
建立工作区时,我顺手把缓存目录也改了。默认缓存路径在系统盘,攒久了数据量大不说,有时候改动过的笔记没及时更新到缓存里,AI读到的是旧内容。我把缓存目录指到了专门的数据盘,空间足、路径清晰,出问题也好排查。
这里有我踩过的一个小坑:WorkBuddy刚下载完是英文界面的,很多同事以为没有中文版就去装乱七八糟的汉化包。其实设置里有语言选项,直接切过来就行。别浪费时间在那些来路不明的汉化补丁上。
3.2 用自定义指令消除“AI味”
培训教材最怕AI味。什么叫AI味?就是一段话讲完概念之后,非要补一句“总之,掌握这个概念对后续学习具有重要意义”这种正确的废话。或者每个自然段结构完全一样,读起来像机器写的。
我给WorkBuddy定的第一条规则就是废除所有总结句和过渡句的套话模板。规定得很具体:每段话必须直接给出可操作的结论或定义;不得使用“值得注意的是”“综上所述”“在当今数字化时代”这类表达;解释公式时,必须给出一个生活化类比和一个完整算例,否则视为不合格输出。
定规则这件事,最忌讳的就是模糊。你写“请写得专业一些”,AI不知道什么叫专业。我后来把规则细化成清单式的条目,每条对应一种实际见过的糟糕输出。这样配置完之后,生成内容的质量稳定了,几乎不需要二次返工。
3.3 把Obsidian的笔记库挂载进工作台
这一步是整个配置的关键。WorkBuddy默认是读不到你本地Obsidian笔记的,需要建立连接。具体方式不同版本略有差异,但思路一致:把Obsidian的库目录授权给WorkBuddy,让它能索引和读取Markdown文件。
我做的时候是在WorkBuddy里添加了本地知识库路径,指向Obsidian的库文件夹。链接完成后,WorkBuddy就能检索到里面所有带知识点前缀的笔记。这一步最容易被忽略,很多人配置完WorkBuddy发现它回答问题时什么都懂,就是不懂你的教材,根源就在这里——它没有读到你本地的东西。
连接之后还有一步校准:每次操作前,我会在指令里明确“请先检索知识库中#知识点/导数前缀的笔记,再基于这些内容生成”,强制AI把输出锚定在指定素材上,而不是凭训练知识泛泛而谈。这样做出的习题和教材,跟通用大模型直接生成的最大区别是:它和你手里实际的授课内容和例题风格完全对齐。
4. Obsidian端的知识库设计:公式教材的“原料仓库”怎么搭
知识仓库的搭建比看起来重要得多。很多讲师用Obsidian就是随手记,今天记一条明天记一条,标签乱打,文件名随便起。这样的库别说AI读不明白,自己过两周再看也是一头雾水。知识库的质量,直接决定了WorkBuddy生产内容的水平上限——垃圾进,垃圾出。
4.1 笔记命名规范:让文件名具备自解释能力
我的命名规则是[章节]-[知识点]-[类型].md。举例来说:
04-导数-链式法则-定义.md04-导数-链式法则-例题.md04-导数-链式法则-常见错误.md
好处是显而易见的:打开文件夹不用点进去,扫一眼文件名就知道里面是什么;WorkBuddy检索关键词时,也能通过文件名快速定位相关笔记。
这个习惯坚持起来不难,但收益巨大。我曾经有一整个库的笔记叫“导数1”“导数2”“未命名1”这种名字,后来想整理成出题素材库,光是重命名就花了一个晚上。现在凡是入库的内容,命名不对的直接不收。
4.2 公式卡片:写清定义、算例、类比、易错点
知识库里的公式卡片是给AI出题的核心素材,我建议每张卡片固定包含五个部分:
- 数学定义:用LaTeX写清楚公式本身,例如
\[ \frac{d}{dx}(u(v)) = u'(v) \cdot v' \]。 - 生活化类比:把这个公式比喻成什么,帮助理解和生成解释性内容。链式法则我就常比喻成“剥洋葱”——从外往里一层层求导。
- 完整算例:一道带全部步骤的例题,WorkBuddy出题时可以拿它当模板,换数字、换函数结构生成新题。
- 常见错误:学生最容易在什么地方出错。比如链式法则漏乘内层导数,这是出“判断题”“找错题”的素材来源。
- 适用范围与限制:这个公式在什么条件下才成立,什么情况下不能乱用。这是出“辨析题”的富矿。
每条卡片都用Obsidian的frontmatter写好元信息,包括标签、所属章节、难度等级。比如:
--- tags: [知识点, 导数, 链式法则] 章节: 04 难度: 中 ---这样做的好处是,WorkBuddy读取时能拿到结构化信息,生成题目时可以精确过滤难度和章节。
4.3 标签体系与双链:把知识点织成网
标签和双链是Obsidian的灵魂,但在教学知识库里要克制地使用。我的经验是标签只做维度划分,不做细节描述。比如:
#知识点标记这是基础内容卡片#例题标记这是题目类内容#难度/基础#难度/进阶标记出题难度#章节/04标记所属章节
双链则用来标知识点之间的依赖关系。我在“链式法则”笔记里会写上[[复合法则]][[基本初等函数导数表]]这种链接,表示它依赖哪些前置知识。这套关系网对出题特别有用:WorkBuddy可以顺着关系找出“考链式法则时,同时需要以基本初等函数导数表为前置考点”的组合题素材。
我见过有人标签打了几百个,一个词语一个标签,最后标签本身比笔记还难查。标签是索引,不是目录,要克制。
4.4 同步策略:本地为主,网盘/同步盘兜底
Obsidian的同步问题经常有人问。我的方案比较笨但很稳:主力机器上全量保存,用同步盘做第二份备份,方便在另一台电脑上查看。注意同步盘上不要常开多端同时编辑——Markdown虽然没有格式冲突问题,但文件级冲突依然存在。我都是出门前手动同步一次,到了教室用只读模式打开参考,回办公室再在主力机上更新。
另外建议定期把整个库压缩存档。资料是讲师吃饭的家伙,一个学期结束时把整个Obsidian库打包存一份,命名带上日期。这招在硬盘出问题时救过我的命,成本也就是一分钟的事。
5. 自动出题的实现:提示词要怎么设计才不跑偏
有了原材料和车间,接下来是投产。自动出题的核心不在AI本身,而在提示词。设计得好的出题提示词,能保证AI按你的教学逻辑走;设计得不好,出来的题目要么太简单要么超纲,要么题目表述不严谨,典型错误里的“错误”其实没错。
5.1 题型分层:概念题、计算题、综合题要分开出
我先把题目分成三个层次,每个层次有不同的生成逻辑:
- 概念题:考查对定义的理解。素材来源主要是公式卡片里的“定义”和“适用范围”。典型形式有:判断对错、选择正确解释、分析某结论是否成立。
- 计算题:考查对公式的运用。素材来源是“完整算例”。典型形式是变换函数结构和数字,保留解题框架。
- 综合题:考查多个知识点的联合运用。素材来源是双链构成的知识点网络。典型形式是把两到三个公式串起来,比如既要用链式法则,又涉及隐函数求导。
三个层次对应三个不同的提示词模板,不要混在一个提示词里让AI自由发挥。自由发挥的结果通常是难度忽高忽低,题型五花八门但都不够精确。
5.2 出题提示词模板:直接可抄的版本
下面这个是我目前用得最顺的一个计算题出题模板,结构化程度高,AI不太容易跑偏:
角色:你是一名严谨的数学培训讲师。 任务:基于提供的知识点笔记,生成5道关于{链式法则}的计算题。 要求: 1. 每题从素材中选一个不同的函数结构(幂函数、指数函数、三角函数等)。 2. 数字范围控制在简单可心算的范围内,避免出现又大又复杂的整数。 3. 必须写出完整解题步骤,每一步的公式推导都不能跳步。 4. 在参考答案后,列出该题考查的具体知识点,并用#知识点/xxx格式标记。 5. 难度分为基础3题、进阶2题。 输出格式: 题目描述 | 完整解析 | 知识点标记注意几个关键点:限定角色、限定任务、限定数量、限定难度分布、限定输出格式。这五件事我都踩过坑——少限制了数量,AI可以给你来二十道题;少限制了难度分布,它只会出最简单的套公式题;少限定了知识来源,它就凭记忆乱编函数结构,容易出现教材里根本没讲过的题型。
5.3 生成之后的人工校验闭环
自动出题不等于AI出完题直接发给学生。我定了一个“三查”流程:
第一查知识准确性:所有公式、答案、推导步骤逐项验证。AI在数字计算上偶尔会犯低级错误,这个不能省。
第二查表述规范性:题干里有没有歧义表述?符号和教材上的写法是否一致?单位有没有漏?中间过程有没有跳步嫌疑?
第三查考核意图:这道题到底在考什么,和教学目标对齐没有?如果一道题学生用背题目的方式就能做出来,那它考的不是能力,是记忆。
我用一个校验记录表,每条新题都过一遍再入库。
| 校验项 | 通过标准 | 处理方式 |
|---|---|---|
| 公式正确性 | 与教材定义完全一致 | 有误则退回修改 |
| 计算无误 | 步骤可验算 | 有误则重算 |
| 难度匹配 | 与标记难度相符 | 不符则调整标签 |
| 考核点清晰 | 至少对应一个#知识点标签 | 模糊则补充说明 |
| 解析完整 | 无跳步、无“显然” | 跳步则补全 |
这个过程不是浪费时间,它恰恰是“人机协作”的价值所在:AI负责批量生产,讲师负责质量把关。效率提升来自批量生产的部分,而不是省略质检的部分。
5.4 从单章出题到整卷组装
单章题目生成之后,整卷组装的逻辑就顺理成章了。我建了一个“试卷模板”笔记,里面有章节和题型分布的结构要求。每次组卷时,把各章的题目按模板要求拉取汇总,再用WorkBuddy做一遍难度和覆盖度的快速检查。
具体做法是给WorkBuddy一条指令:“请检查以下20道题的章节分布和难度分布,统计每个章节各占多少分,难度基础中档进阶的比例是多少,有没有章节完全没出题。”这种元层面检查AI做得很熟练,输出一张统计表,我再根据统计表调整选题。
这一步做完,整个“教材到试卷”的闭环就通了。教材改了,重新从教材章节拉取素材出题;考完试,把学生错得多的题目标记回知识点笔记,下次这个知识点出题时,AI会优先改编成类似题型强化练习。
6. 落地过程中的那些坑:排查链路实录
配置这套系统不是一帆风顺的,前面后后踩了不少坑。挑几个有代表性的写出来,按我实际排查的过程复原,大家遇到相似问题可以直接照这个思路走。
6.1 公式在Obsidian里正常,导出后乱码
第一次把生成的教材内容回填到Obsidian,预览正常,但导出PDF时公式全乱。排查时最先想到的是导出插件的MathJax配置问题,但检查后发现预览正常说明解析器在工作。往下查才发现是LaTeX语法兼容性:WorkBuddy生成的公式里,部分行间公式用了$$...$$写法,而Obsidian里配置的主题和导出模板对这种写法支持不够稳定,换成\[...\]之后就正常了。
解决方式是在WorkBuddy的规则里明确加了一条:“所有行间公式一律使用\[...\]格式,禁止使用$$...$$;所有行内公式一律使用\(...\)格式,禁止使用$...$。”这个细节小,但影响极大,调完之后导出来再也没有乱过。
6.2 WorkBuddy读到的教材内容总是旧版本
这个坑比较隐蔽,我排查了很久。情况是:Obsidian里已经更新了某个知识点的定义,WorkBuddy生成题目时仍然按旧定义来。一开始我以为是授权没走通,反复检查库连接,没有问题。后来发现是缓存索引没有及时重建。
WorkBuddy在首次建立知识库索引后,会生成一套缓存,后续读取优先走缓存。Obsidian里的文件更新了,缓存里还是旧版本。解决办法是改完Obsidian内容后,在WorkBuddy里主动触发一次知识库刷新,或者直接清掉缓存重建索引。之后我养成了习惯:每天开始使用前先刷新一次缓存,宁可多花一分钟,也避免用旧素材生成一堆废题。
6.3 出题重复率失控
用同一套素材反复出题,几十道之后相似度明显上升。我一开始试图通过提示词让AI“尽量创新”,但效果不稳定。后来换了个思路:控制素材丰富度,而不是指望AI创意。
我把知识库里的例题和算例数量做上去,每个知识点至少配三到五个不同函数结构的算例卡片。WorkBuddy出题时明确要求“从三张不同例题卡片中各取结构”,这样变异的空间大了,重复率自然降下来。另外给每道新题编号并存入题库库文件夹,在提示词中要求AI参考“已有题目编号列表”,避免出到结构重复的题。
6.4 知识点覆盖出现真空
有段时间出的练习题,翻来覆去都是那几个热门考点,冷门但教学大纲里明确要求的部分总是没题。排查后发现问题出在知识库的标签上:没有给大纲要求的每个知识点设置同等粒度的标签和卡片。教学大纲里写的是“导数应用”,但我的库里面标签都是“极值”“单调性”这种,WorkBuddy根本索引不到“导数应用”这个层面的覆盖情况。
修复方式是建了一张覆盖度检查表,把大纲要求逐条列出,对应到具体的知识点笔记和标签。每次出完一整章习题,用这张表逐项检查,缺哪个补哪个。这属于教学管理的问题,工具本身解决不了,但配合上这张表就能闭环。有同事问我为什么我的题库看起来特别系统,说白了就是这张表在起作用。
7. 一点个人的体会收尾
这套方案用了差不多两个学期,最深的感受是:真正降本增效的,不是AI替代人写字,而是把知识资产沉淀成了结构化、可复用的形态。以前写教材、出题,每次都是从一张白纸开始;现在是从一个越用越厚的原料仓库里取料加工。第一学期的搭建成本确实存在,但第二学期开始,每一轮教材迭代和出题组卷花的力气,大概只有以前的三分之一。
最后再分享一个小习惯:每次用这套流程完成一章教材和配套习题,我会把这一轮里改过的规则、补过的知识卡片、调过的提示词都记一次。这套系统本身也在迭代,而且迭代得比课程还快。工具的价值不在于一开始配置得多完美,而在于每用一次都顺手一点。你的第一版配置肯定有坑,但跑起来之后,会越来越贴合你自己的教学风格。