☰
Skills驱动竞赛教研革命:学案制作从手工到标准化流水线
2026/10/1 4:19:55 网站建设 项目流程

当年在竞赛组熬夜做学案的日子,我至今记忆犹新。一份四页的课后练习卷,从翻题库、挑题目、录公式到排版微调,三个小时起步,还经常在打满公式的页面上跟格式bug缠斗到深夜。后来接触到skills这个概念——准确说是把AI Agent的专项能力打包成可复用的技能手册——我才意识到,竞赛教研里大量"拍脑袋"的事情,其实都可以标准化成一条流水线。所谓"学案的革命(数竞版)",做的就是这件事:把竞赛教研里最耗时的题目检索、难度评估、解法生成、学案排版全部拆成一套可落地的skills组合,让学案制作从手工作坊变成标准化生产。写这篇文章,是想把这套方案的完整设计思路、实现细节和踩坑记录分享出来,适合带竞赛班的数学老师、教研组负责人,以及所有想把AI真正用进日常教研流程的人。

1. 竞赛教研的真实痛点:为什么传统学案制作流程需要"革命"

先不要急着谈skills怎么配置,我们把问题摆到桌面上。数学竞赛的学案制作,和高考数学备课完全不是一回事,它的特殊之处在于三个方面。

1.1 题目难度梯度极其陡峭,筛选成本极高

一份竞赛学案的题目,往往要覆盖多个难度层级。入门级的送分题(一试题难度)、中档的进阶题(联赛二试难度)、压轴的挑战题(CMO甚至IMO风格),每一档都要精准卡位。传统做法是教研组长凭借记忆从历年真题、模拟题、竞赛辅导书中翻找,然后手抄或者扫描录入。这样做的直接后果是,谁记忆里的题目库存大,谁的学案质量就高,新老师压根没法接棒。

而且竞赛题目的难度评估非常依赖经验。同一道题,放给高一入门班和放给高三冲刺组,定位完全不同。这种"隐性知识"如果不结构化,就成了每个老师硬盘里的孤岛——你翻遍全组的资源共享文件夹,也未必找到别人去年用过的一份高质量学案。

1.2 公式录入与排版是最大的隐形时间黑洞

做过竞赛学案的老师都知道,一份学案里最耗时间的根本不在解题,而在把题目录进文档。数学竞赛题的公式密度极大,堆积的上下标、分式、连加号、排列组合符号,在Word里用公式编辑器一个个点选,效率低到你怀疑人生。虽然有LaTeX这条路,但绝大多数老师不熟悉LaTeX语法,学习成本又是一道坎。

哪怕题目录进去了,排版问题依然层出不穷。公式间的间距不对、分数大小错乱、多行等式对齐出问题、题目和答案解析之间的分页位置不合适……这些工作纯属心流杀手,消耗的是教研员最宝贵的创造力。

1.3 教研资产的"私有化",缺少可沉淀的复用机制

第三层痛点是资源沉淀。竞赛教研最值钱的资产就是好题、好解、好设计,但如果学案制作靠手工,这些资产就散落在每个人的电脑里,无法形成体系。一次教研活动讨论出来的"题目应如何变式""这道题的另一种解法更漂亮",往往随着会议结束就消失了,下次做学案又从零开始。

综合这三点,我当时意识到:竞赛教研缺的不是好老师,不是好题目,而是一套能把这些流程标准化、自动化的工作流。skills的出现,恰好提供了这样一个切口。

2. Skills如何拆解教研工作流:从题目采集到学案排版的关键技能设计

skills在AI Agent里的定位,通俗说就是把某类任务的方法论、规则、参考案例打包成一个大语言模型可以直接调用的"操作手册"。它跟普通提示词最大的区别是,提示词是随用随写的一锤子买卖,而skills是结构化的、可长期复用的知识资产,你甚至可以在不同的项目之间共享同一套技能库。

那么问题来了:一个"竞赛教研与学案制作一体化"的技能库,应该拆成多少个skills?我当时的思路跟设计微服务如出一辙,按单一职责原则拆分成五个核心模块,各自独立,又能通过工作流串成一条产线。

五个核心skills的设计如下:

Skills名称核心功能输入输出
题目采集与标准化将图片、PDF、手写稿中的题目识别并转成结构化LaTeX图片/PDF路径标准化题目卡片(含来源、难度标记)
难度分层与选题按竞赛层级评估题目难度,并按学案目标筛选题目题目卡片集 + 学案目标参数推荐题目清单
解法生成与多解拓展生成题目解析,产出多种解法题目卡片详解答案 + 一题多解分析
学案编排与排版按模板组织题目、答案、留白,生成LaTeX源码题目清单 + 解析库可编译的LaTeX文件
变式与错题复盘对使用过的题目做变式改编,归档错题数据原题 + 使用反馈变式题 + 复盘报告

下面逐个展开讲讲每个skill的设计逻辑和关键细节。

2.1 题目采集与标准化:把"找题"变成"扫题"

这个skill要做的事情非常朴素:你给它一张别人拍糊了的书页照片,或者一个网上down下来的PDF,它帮你把里面的数学题提取成干净、标准的LaTeX代码。这里面的技术核心是OCR(光学字符识别)与结构化的后处理,但对使用者来说,你只需要知道一件事:题目从"非结构化文本"变成"结构化数据"之后,后面的一切自动化才有地基。

我重点说说标准化是什么概念。同样是"求(\frac{x^2+1}{x-1})的最小值",网络上可能是截图、可能是文字版、可能是"求函数y=(x2+1)/(x-1)的最小值",但在我们的题目卡片体系里,它必须被存成唯一的标准形:"求函数(f(x)=\dfrac{x^2+1}{x-1})的最小值,其中(x>1),并指出取等条件。"同时卡片上要记录:题目来源(哪年哪省哪套卷)、知识点标签(不等式、函数最值)、难度初判(由后续的难度评估skill补全)。这一步做到位,题目才能成为体系里的"第一等公民"。

2.2 难度分层与选题:把老师的"隐形判断"显性化

难度分层的skill,本质上是把竞赛教练脑子里的那套判断逻辑给显性化、规则化。它需要知道你的学案是给哪个层级的学生用的,然后对候选题目逐一打分和筛分。

我设计了一个三层难度判断框架。第一层看知识模块,联赛二试常考的代数变形、平面几何辅助线构造、组合计数思想,天然有不同的"攻坚指数";第二层看解题步骤链条的长度,一般三步以内能出答案的算基本题,五步以上甚至需要中间构造的就要标记为高难;第三层看"陷阱数量",含参讨论、边界条件、取等条件遗漏,这些都会额外加权。把这套逻辑写进skill,AI就能对题目卡做初筛,再由老师做最终把关。

实际运行的时候,学案目标参数(比如"高一竞赛入门,90分钟课时,目标平均完成率60%")会被解析成具体的筛选条件:题目数量区间、难度分布比例(基础题30%、中档50%、压轴20%)、知识点侧重。这样skill给出的推荐清单,不再是一堆题目的堆砌,而是一份有明确意图的组卷草案。

2.3 解法生成与多解拓展:竞赛教研的"灵魂环节"

竞赛学案里最见功力的部分,永远是解析。这道题只有一种解法,那它就是练习册;有四种解法并且比较了优劣、讨论了失分点,它就是竞赛教研的成果。这个skill就是要让AI不仅给出答案,还能按你的要求产出多解与评析。

我给这个skill定了几条硬规则:第一,每种解法必须写出完整步骤,不允许跳步;第二,每种解法后面必须跟着一句"思路来源",把辅助线为什么这么添、这个构造为什么想到,给讲清楚;第三,必须做解法间的优劣对比,什么情况下哪种解法更稳妥,哪种更取巧但容易翻车。有了这样的解析规范,学案才能从"答案页"升级成"教研产品"。

2.4 学案编排与排版:让AI替你伺候LaTeX

竞赛学案界有个共识:排版正确是及格线,排版优雅才是加分项。但这个标准以前靠人肉实现,非常痛苦。排版skill扮演的角色,是一个熟谙LaTeX规范的排版工程师。

具体做法上,我定义了学案的统一模板:页面几何参数、页眉页脚的竞赛班标识、题目与解析的分区格式、留白的预设宽度、难度星标的显示规则。skill拿到题目卡片和解析库之后,自动生成符合模板的完整LaTeX源码,公式格式、对齐方式、间距控制全部由规范约束。老师只需要在本地编译一次,得到PDF,微调个别换页位置,就能交付印刷。

2.5 变式与错题复盘:把一次使用变成持续积累

最后一个skill容易被忽略,但长期价值最高。竞赛题的使用不该是一次性的,同一道好题,应该能在不同场合以"变式"的面貌反复出现。变式生成的核心是对原题的结构化拆解,比如一道数列题,它的条件、结论、约束方式各是什么,分别做替换、逆推、推广,就能得到一系列变式题。

同时,每次学案用完之后,学生哪里错得多、哪些题得分率异常低,这些反馈数据会回流到这个skill里,对应题目的错误标签被更新,下次选题的时候AI自动避开难度设置不当的坑。这样就形成了一个"题目越用越聪明"的闭环。

3. 落地实操:构建数竞学案制作Skills的完整过程

讲完设计,说说怎么真正落地。我选择在Claude Code里构建这套技能体系,因为它对skills目录结构的支持比较友好。不过这套方法论是通用的,换到其他支持agent skills的工具上(比如codex等),思路完全一致。

3.1 Skills的目录结构与基础配置

每个skill在文件系统里就是一个独立的文件夹,核心文件是SKILL.md。下面是一个标准的目录布局:

math-competition-skills/ ├── skill-01-topic-extraction/ │ ├── SKILL.md │ └── reference/ │ ├── latex-symbol-table.md │ └── topic-card-template.json ├── skill-02-difficulty-rating/ │ ├── SKILL.md │ └── reference/ │ ├── difficulty-rubric.md │ └── knowledge-point-map.md ├── skill-03-solution-generation/ │ ├── SKILL.md │ └── reference/ │ └── solution-write-style.md ├── skill-04-document-compile/ │ ├── SKILL.md │ └── reference/ │ ├── template/ │ │ ├── main.tex │ │ └── cover.tex │ └── compile-checklist.md └── skill-05-variation-review/ ├── SKILL.md └── reference/ └── variation-rule-set.md

每个SKILL.md文件内部有标准的YAML开头和Markdown正文。以题目采集skill为例,前几行是这样的:

--- name: 数学竞赛题目采集与标准化 description: 将图片、PDF或手写稿中的竞赛题转为结构化LaTeX题目卡片。只能用于处理有合法来源的数学题素材。 version: 1.0.0 ---

description字段特别重要,它决定了AI什么时候会自动触发这个skill。在Claude Code里,skill的触发依靠语义匹配,如果描述写得太窄,AI不知道该在什么时候用它;写得太宽,又会在不该用的时候乱用。我的经验是,"题目采集"和"图片识别"这类词都要写进去,同时明确不做的事(比如不做版权性文字识别、不做资料整理类任务),边界越清晰,调用越准确。

3.2 SKILL.md 正文的写法:怎么让AI"看完就会做"

SKILL.md正文是技能的核心,我的写法遵循一个原则:把"操作的完整链路+每一步的验收标准"写清楚,而不是只给一句空泛的目标。

以"解法生成与多解拓展"为例,正文中的操作链路是这样的:

  1. 接收题目卡片后,先独立解题,禁止直接参考网上现成答案;
  2. 解题完成后,检查答案,明确题目涉及的数学知识模块与关键技巧;
  3. 生成第一种解法(常规思路),保证步骤完整,不跳步;
  4. 生成第二种解法(构造性思路),注明辅助线/模型构造的出发点;
  5. 若题目存在经典错误思路,写入"常见误解"区块,注明典型的错解步骤;
  6. 输出结构化为Markdown:题干、解法一、解法二、方法对比、失分点提示、难度复核。

为什么教程正文里要写"禁止直接参考网上现成答案"?这是实际踩坑后加进去的。AI直接搜题时会碰到大量答案质量参差不齐的站点,有些答案的表述不严谨、跳步严重,甚至会误导学案质量。强制AI先独立解题,能让学案解析的口径统一、质量可控。说白了,我们要的不是"一个答案",而是"一套符合我们教研风格的答案"。

再看"学案编排与排版"skill的正文要点。它包含一个编译前自检清单,每次生成完LaTeX先自查,例如:所有数学环境是否用的是\[ \]而非$$;行内公式是否全部用\( \)包裹;是否有未闭合的\begin{...};题号是否按模板要求自动编号;题目与答案分页是否符合预设规则。这些自查逻辑就是把有经验的LaTeX用户的默认行为固化成规则,每一轮生成都能少一次返工。

3.3 依赖的外部工具链

skills不是凭空工作的,还需要外部工具配合。我在实际环境里接了两类工具。

第一类是公式OCR工具,用于处理图片中的公式识别。这里强调的是,你不能只靠AI视觉硬认数学公式,专业的Mathpix或者开源替代方案在公式识别准确率上要稳得多。流程是:截图或拍照后,先用OCR把题目变成LaTeX,再送入题目采集skill做结构化清洗。很多AI初学者一上来就试图让AI"看图做题",其实转一道手,正确率能大幅提升。

第二类是本地LaTeX编译环境。推荐安装完整的TeX Live(macOS可以用MacTeX,Windows下用MiKTeX,Linux发行版用texlive-full)。排版skill生成的是.tex源码,最后一步还是得本地编译成PDF。编译输出里若有一些字体缺失或宏包不存在的报错,直接把报错丢给AI,它一般能根据上下文自动修改宏包引入或者替换写法。

3.4 工作流的编排方式

五个skills装好之后,它们之间怎么协作?我用的是最简单可靠的Makefile方式,把整个学案制作流程定义成一条可重复执行的流水线。执行一次的命令大致是:

# 将扫描/拍照的原题材料放进 raw/ 目录后,依次执行: make extract # 调用题目采集skill,raw/ -> cards/ make select # 调用难度分层与选题skill,结合lesson-plan.json -> selected/ make solve # 调用解法生成skill,selected/ -> solved/ make compile # 调用学案编排skill,solved/ -> output/学案.tex make report # 生成变式与复盘报告

用Makefile而不是让AI一次性完成任务,好处是每一环节都能人工介入检查,出错了回退成本低。竞赛教研的质量红线很多,全自动流水线的容错率太低,半自动才是教研场景的正确解法。

4. 实测中的"翻车现场"与修正策略

任何新方案都要经历真实环境的毒打,这套skills也不例外。我把自己踩过的几个大坑原原本本写出来,省得你重走一遍。

4.1 AI代数的"自信胡说":解法审计环节不能省

最大的坑出现在AI解题环节。数学竞赛题不同于普通教科书习题,它往往包含需要分类讨论的含参条件、需要构造的中间量、需要证明的存在性结论。大语言模型在这些问题上的表现很不稳定,经常一本正经地输出错误的代数变形或跳步推论。我做过一次抽样,让它解10道二试级别的数论和组合题,有3道在关键步骤存在逻辑漏洞。

应对策略是加一道"解法审计"工序:解法生成后,不直接进学案,而是让AI用审视的眼光完整验算一遍(换个角色,如"一位严格的竞赛阅卷人"检查每一步的严谨性)。同时,涉及数论中整除性论证、组合计数中的重复计数这类高风险环节,我会人工复核一遍。这个环节不仅不能省,还必须放在护城河的位置上。

4.2 几何题图像生成的困境

第二类翻车现场是几何题配图。竞赛平面几何题往往需要精确的图形辅助理解,AI目前生成图片的能力(无论是SVG代码还是绘图API)在精度和美观度上都还达不到印刷标准。尤其涉及复杂的辅助线、动态变化条件下的轨迹,AI画的图经常"看起来像那么回事,量一量全不对"。

我的解决方案是放弃让AI直接画图,改用GeoGebra生成几何图形。GeoGebra支持脚本化绘图,给定点、线、圆的关系能精确绘制,导出为矢量图或者PNG再插入学案。具体做法是:让AI先写出一段GeoGebra的GGB脚本(它擅长这个),本地打开GeoGebra执行脚本,微调后导出图片。这样既利用了AI的代码生成能力,又绕开了AI画图精度不可控的短板。如果你没有GeoGebra,也可以用TikZ这套LaTeX绘图宏包,但学习曲线陡不少。

4.3 公式宏包与原生的兼容性

第三个坑是LaTeX公式的兼容性问题。skill生成的LaTeX源码里,有些构造过于"理想化",比如用了\Bigg、\substack、\cancel之类的宏,本地环境如果没有加载相应宏包就会编译失败。还有的中文支持问题,正文里需要ctex宏包或者XeLaTeX编译,但skill默认的模板里如果没配好,生成的PDF会变成一片空白或者中文乱码。

我的修正方式是在排版skill的参考模板里预先写好宏包区,把竞赛数学常用的宏包全部引入(amsmath、amssymb、amsthm、mathtools、cancel),同时统一采用XeLaTeX编译并配置好中文字体。这样从源头规避了绝大多数编译问题,而不是等报错再修。

4.4 难度评估偏差与"卡尺校准"

最需要人工智慧的地方,其实是难度评估。AI对难度的判断有时会和一线教师的感觉差很远。我自己测试过,AI经常把"条件隐蔽但解法套路化"的题评得很难,把"条件清晰但变形繁复"的题评得很简单。竞赛教研里,难度判断本质上是对学生群体的认知建模,没有真实学情数据支撑的AI很难完全准确。

这里我的做法是"卡尺校准法":每个学期初,选取过去一年用过且得分率已知的12道题作为锚题,将这些锚题的难度区间与实际得分率写进skill的reference材料里。AI在评估新题时,先对照锚题做相对定位,再给出绝对难度分。这一招大幅提升了难度评估的一致性,至少比我一开始"裸评估"的版本靠谱得多。

具体效果如下表:

锚题(得分率)AI初判难度加入卡尺后的难度我的最终判断
2023联赛一试第6题(得分率68%)难度4/10难度3/10难度3/10
2022二试平面几何(得分率35%)难度6/10难度7/10难度7/10
2021CMO组合题(得分率12%)难度9/10难度9/10难度9/10

4.5 版权与来源标注的意识

最后提醒一个容易被忽略的合规问题。网络搜集的竞赛题、扫描的教材页码,在题目卡片里必须记录原始出处,学案末尾可以统一标注资料来源。这既是对原作者劳动的尊重,也是教研组的职业操守。我们不回避使用公开渠道的真题,但要有完整的来源信息,这个习惯要尽早养成。

5. 从学案到题库:一体化方案带来的教研资产重组

当这套skills真正稳定运转起来之后,它的价值已经超越了"做学案快一点"这一层,而是一点一点重塑了整个教研组的工作模式和数据形态。

5.1 每份学案自动沉淀出半结构化题库

以前做一份学案,用过的题目就是用了,流转一圈后重新归零。现在每一道经过采集、评估、配解析、排版的题目,都会带着完整元数据留在题库里:知识点标签、难度分、来源、使用记录、得分率反馈、变式版本链。一学期下来,题库不再是散乱的文档堆,而是分层清晰、标签完整、可检索的资产库。

5.2 新老师从"找题地狱"进入"选题超市"

这个层面对团队的影响最大。过去新老师上手竞赛教学,光是把题目体系摸清楚就要一两年。有了结构化题库和推荐清单之后,新老师做学案时不再从零开始"找题",而是在备选清单里做决策和替换。真正需要教研能力的部分(怎么选、怎么排、怎么讲)依然保留,但最耗时的脏活累活已经大幅减少。

5.3 错题反馈让难度评估越用越准

错题复盘数据回流之后,难度评估skill里锚题的校准作用会随时间衰减,但实时反馈的得分率数据带来的是更敏锐的动态校准。比如某道题标注"难度5/10",但两个班用下来得分率只有22%,说明实际难度被低估了,skill会把这次使用记录加进去,下次推荐时自动调整权重。这种持续进化能力,就是一体化方案相比传统手工流程最本质的差别。

5.4 扩展出去:从数学竞赛教研迁移到其他场景

最后我想说的一点是,这套技能库的设计思路完全可以迁移到其他学科竞赛甚至日常教学中。物理竞赛的题目卡片换成物理符号体系,信息学的题目卡片换成代码样例,化学竞赛加上实验安全标签,核心的"采集→评估→生成→编排→复盘"流水线是通用的。

我再分享一个更具体的扩展玩法:给历史、语文这类学科做阅读材料包。它们管的不是LaTeX公式,而是文本规范、难度分层的阅读材料与问答设计的自动编排,思想完全一致。你只需要照着这个架构替换掉领域专属的reference词典即可。

在一次完整的教研周期之后回头看,这套"学案的革命(数竞版)"真正革掉的是三件事:革掉了公式排版的时间黑洞,革掉了难度判断的经验垄断,革掉了教研资产的无序沉淀。我的实际体会是,AI走进教研最好的姿态不是替代教师思考,而是把教师从重复劳动里解放出来,让他们把精力放回真正需要专业判断的地方。如果你也要搭这样一套系统,我的建议很简单:先装好采集和排版这两个最基础、最能立刻见效的skill,跑通两三期学案之后,再逐步把难度评估与错题复盘接进来。别想着一口吃成胖子,教研工作流的改造,永远是一期一期迭代出来的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询