拓冰建站拓冰建站
首页 / 资讯中心 / 正文

用AI Skills重构数学竞赛学案生产:一体化工作流全解析

备课到凌晨两点对着答案排版把一道几何题的辅助线画歪了然后又花半小时重画——这种“学案苦力”的日子我干了五年。直到我把整个竞赛教研流程拆成一套“一体化 skills”才真正把时间从重复劳动里抢了回来。这套东西不是简单的 LaTeX 模板也不是丢给 AI 一句“帮我出题”就完事的玩具而是把“教研分析—选题改编—学案生成—分层作业—讲评预案”整条链路做成可复用的技能包专门面向数学竞赛教练和硬核数学老师。写这篇东西是想把“学案的革命数竞版”这个项目的完整思路、技能架构和踩坑实录摊开来讲。它能解决的问题很具体你的教研时间到底被什么吃掉了学案制作的瓶颈究竟卡在哪一步如果你平时用 Claude、Codex 这类带 skills 机制的 AI 工具或者正在做数学类的 AI 工作流这篇东西应该能给你一份直接能抄的作业。文章不会绕圈子讲大道理全是实际跑过、验证过的东西。1. 项目整体设计与思路拆解1.1 为什么“学案革命”的突破口是 skills先说结论学案制作的成本大头从来不在“打字排版”而在“教研决策”。今天这道题要不要放在入门部分这个知识点学生刚学过应该出成复习型还是拓展型几何题的标准答案里辅助线为什么偏偏从那个中点连过去这些决策背后是大量的知识判断和教学经验。日常做法是教练自己心里过一遍然后手动编排。AI 工具如果只是聊天框一个最大的问题就是“没记性”和“没边界”——这次让它出题它不知道你上节课讲到哪里下次让它排版它又忘了你常用的题目来源格式。Skills 机制解决的就是这个问题把一套“决策流程提示词模板数据结构约定知识边界”打包成模块AI 每次调用时都按这套规则办事。数学竞赛教研的痛点恰恰非常适合用 skills 来结构化。因为竞赛内容的类型高度固定一试的代数题、解析几何题二试的平面几何、数论、组合。出题方向有明确的难度档位联赛一试 60%、二试 40%题目来源相对集中历年真题、经典竞赛书籍、改编题。这些规则一旦固化AI 执行起来就非常稳不会今天这样明天那样。1.2 数竞教研的独特需求与常规学案生产的差异普通课内学案和竞赛学案有一个根本差异普通学案强调“知识覆盖”竞赛学案强调“思维密度”。竞赛中的一道好题往往在一道题里同时容纳了 3 到 4 个知识点交织的思维路径比如一道解析几何题里融合了几何对称、代数配方和不等式估计三个层面。这就导致竞赛学案在制作时对题目的“归属分析”和“难度定位”要求极高。还可以从一个更操作化的角度看差异。我们知道普通学案的生产带有周期性特征每周按教材章节出结构类似“知识回顾例题精讲随堂练习”。这种生产完全可以模板化AI 参与的空间也大。但是竞赛学案除了周期性训练还有大量“专题式深度素材”比如“奇偶分析法在数论证明中的十三种典型用法”“从一道联赛几何题看旋转全等的构造时机”。这类内容高度依赖教研积累AI 如果只靠即时生成很容易产出“看起来完整、实际上浅薄”的内容。这套“一体化 skills”的设计初衷就是把教练脑子里那套判断逻辑固化成 AI 可执行的流程同时保留人对关键节点的控制权。技能包不是在替代教练而是当一个“具备竞赛教研常识的高级助教”——给它一个任务边界它能在边界内把 80% 的重复性工作做得又快又好。1.3 一体化工作流的整体框架整个 skills 体系的核心是一个“三段式”结构输入层、处理层、输出层。输入层负责接收最原始的需求比如“今天想给学生练平面几何的线段相等证明难度接近联赛二试第一题”。处理层启动一系列子技能先查知识库定位难度坐标再检索题目库筛选合适的母题然后按学案模板生成内容。输出层负责格式化LaTeX 编译检查、公式清洗、图表占位、分层作业设计。这个框架里最关键的认知是学案制作不是一次性写出全部内容而是多轮加工的过程。每一轮加工都有一个明确的“质检点”。我的实际做法是分四轮第一轮选题第二轮解析编写第三轮学案排版合成第四轮答案与详解拆分。每一轮对应一个独立的 skill 模块模块之间通过统一的“题目数据格式”传递信息。2. 核心技术与工具选型2.1 Skills 能力模型拆解很多人问我“skills 到底是什么和普通提示词有什么区别”。用一个笨一点的比喻普通提示词是“这次请帮我做这件事”skills 是“以后凡是我把这件事相关的东西扔给你你都按这套流程来做并且记住我用过的偏好和资料格式”。在我这套数竞学案 skills 里一共拆出了 8 个子技能模块它们组合起来才是完整的工作流题库检索 skill从本地题库中检索符合条件的母题支持按知识点、难度档位、年份、来源检索难度标定 skill给题目打难度标签区分一试基础、一试强化、二试入门、二试综合解析生成 skill生成完整解析包含“思路分析”和“规范解答”两层学案排版 skill按学案模板生成版式包含标题层级、例题区、练习区、留白区答案分离 skill从学案中抽出答案生成独立的教师版解析文档学情预估 skill根据题目特征预估学生的易错点和卡点变式改编 skill对母题做场景替换、数值变化、条件增减生成变式题主题矩阵 skill将一个专题下的知识点和能力维度生成矩阵式分布图数据你可能会问为什么要把一个“出学案”的事情拆得这么碎直接给一个大型提示词不行吗实际测试下来不行。原因很简单你给 AI 一个 3000 字的综合提示词它执行到第 2000 字时就已经忘了前面某条规定了。拆成子技能后每次只执行一个单一职责的任务执行精度显著提升。2.2 数学计算引擎与符号计算集成竞赛学案没法回避数学公式的处理而公式处理往往是最容易出错的地方。我的方案是集成两类工具符号计算引擎和公式渲染引擎。在解析生成环节尤其是代数、数论、不等式这类需要大量符号变形的内容直接用语言模型推算答案会有风险。比如一道含参不等式恒成立问题AI 可能推导得头头是道但漏掉一个分类讨论的分支。我的做法是用 Python 的 sympy 库做符号计算验证关键步骤特别是等式变形、因式分解、多项式整除判断这些是纯机械的符号操作机器比人脑可靠得多。公式渲染方面我用的是 LaTeX MathJax 双轨方案。学案源文件用 LaTeX 编写预览时同时用 MathJax 在浏览器里快速渲染。这里有一个非常实用的细节LaTeX 在数学竞赛中有一套“排版方言”比如题目中经常出现“如图在三角形 ABC 中”需要插图引用环境解析中经常出现分情况讨论需要对齐的分步算式。这些如果不做专门约束AI 生成出来的 LaTeX 代码经常语法不达标。2.3 几何可视化在学案里的处理方式平面几何是数竞的大头而几何题最棘手的地方在于图形。如果 AI 只生成文字而不会生成配图学案的价值就折损一半。我的解决思路是分层处理标准几何图用几何画板或 Python 的 matplotlib 生成AI 负责自动生成绘图代码示意图则用 TikZ 绘制AI 根据题目条件自动推导点的坐标和线段的相对位置。这里要特别提醒一个坑TikZ 绘图代码的容错率很低。如果 AI 想当然地给了一个不闭合的坐标关系编译出来的图可能完全不是题目描述的样子。我的解决方案是给绘图 skill 加了一条硬性规则所有 TikZ 图中的坐标必须先通过几何关系计算禁止“目测坐标”。也就是说AI 必须先用逻辑推导出各点的确切位置尽管可以是相对位置再生成图代码。这套几何可视化的价值不只是“让学案好看”更是帮助学生建立图形直觉。一份好的竞赛学案图应该体现“有助于发现辅助线的那一个视角”而不是单纯的示意图。3. 实操落地技能创建与学案生成全流程3.1 技能包的文件结构与加载方式先讲最基础的东西一个 skills 技能包在文件结构上是什么样子。我采用的是比较通用的 SKILL 规范也就是一个目录算一个技能里面包含一个主描述文件以及若干资源文件。competition_math_case/ ├── SKILL.md ├── assets/ │ ├── templates/ │ │ ├── lesson_case.tex │ │ └── answer_sheet.tex │ ├── data/ │ │ ├── knowledge_graph.json │ │ └── difficulty_calibration.json │ └── scripts/ │ ├── verify_solution.py │ └── gen_tikz.pySKILL.md 是这个技能的说明书里面写清楚这个技能是干什么的、接收什么输入、输出什么格式、调用哪些附属脚本。下面是一个简化版的核心内容体现关键约定--- name: competition_math_case description: 生成数学竞赛专题学案与教师解析文档 --- # 能力边界 本技能负责从“专题需求描述”到“完整学案答案详解”的全流程生成。 # 输入格式 - topic: 专题名如“平面几何·线段相等证明” - level: 难度档位一试基础/一试强化/二试入门/二试综合 - period: 建议课时数 - source_preference: 题目来源偏好联赛真题/改编/自编 # 处理流程 1. 调用题库检索模块匹配母题 2. 对母题做难度标定和学情预估 3. 生成详细解析与思路分析 4. 按学案模板合成版式 5. 拆分教师版答案文档 # 输出规范 - 学案端LaTeX 源码 PDF 预览文件 - 教师端Markdown 解析文档 变式题建议 - 所有几何题必须附 TikZ 图源码加载方式上不同工具的 skills 安装路径不太一样。Claude Code 这类工具一般把技能包放到项目根目录的.claude/skills/下Codex 则有自己的插件目录规则。实际做法是无论是在哪个平台核心都是修改全局配置或项目配置将技能包路径加入加载列表。3.2 从零创建一个数竞学案技能的完整步骤现在说操作流程。如果你不想直接抄我现成的技能包想从零搭自己的下面这七步可以直接照着做。第一步梳理你的“教研单点流程”。拿出一份你做得最满意的学案逆推它的生产步骤。我当时的案例是一份“数列递推与不动点法”专题学案我拆出六个步骤定位考点→筛选母题→设计变式→编写解析→排版学案→编写教师说明。第二步确定数据接口。明确每个步骤之间传递的数据长什么样。我用一个 JSON 对象描述一道题的全部信息包括题干、答案、难度、来源、考点列表、易错点列表。这个结构是所有子技能之间的“共同语言”。第三步写核心技能文件。把第一步的流程和第二步的数据结构写入 SKILL.md。第四步编写辅助脚本。比如自动校验 LaTeX 语法的脚本、符号计算验证脚本。这一步决定了你的技能质量上限。纯靠语言模型硬生成数学解析错误率太高必须让脚本做一次“机械验证”。第五步准备模板库。把你常用的学案版式做成 LaTeX 模板注意预留填空位置、答案位置、留白区域。第六步建立知识库。把你手头多年的教研笔记、经典题集、真题分类整理成一个可供检索的索引文件。这里不要求把全部题目原文塞进去只需要有“题目 ID、来源、考点、难度”几个关键字段原题可以放在本地题库系统里。第七步迭代修正。给定一批标注好的测试需求每测试一轮就把出错的地方补进 SKILL.md 的“常见的坑”清单。3.3 关键调用示例与参数配置实际操作中我给 AI 的输入不会是一句话而是一个结构化描述片段。下面是一个实际跑通过的输入示例{ topic: 平面几何·线段相等的证明策略, level: 二试入门, period: 2, source_preference: [历年联赛真题, 改编题], student_profile: { base_level: 一试稳定平面几何推理速度中上, weak_points: [辅助线构造角度单一, 等腰三角形条件不敏感] }, output_format: [latex_case, teacher_answer, tikz_figures] }这个输入传递给技能包后AI 会依次完成检索母题、改编设计、解析生成、学案排版。值得强调的是student_profile这个字段——这是我后期加上去的作用是让学案真正做到“分层”。很多通用的学案生成器都忽视了这一点导致题目千篇一律没有照顾到具体学生的薄弱环节。参数配置上有一个经验值给 AI 的约束不是越多越好而是“关键规则强硬、细节规则宽松”。我在早期版本里把学案的字号、边距、页眉都写死在技能描述里结果 AI 经常为了塞内容破坏版式。后来改成一种平衡策略版式核心参数固化在模板里AI 只负责填充内容而不是重新创造版式。体验这个完整流程大概是什么感觉以一次实操为例我要求生成一份“平面几何·线段相等证明策略”的两课时学案。这个需求对资深教练来说脑海里可能会有大致的框架第一节课讲等腰三角形中两腰相等的识别第二节课讲全等构造证明线段相等引入旋转和截长补短两种辅助线技术。AI 在技能包驱动下生成的学案基本符合预期。它挑了三道联赛真题作为例题两道改编题作为随堂练习并且在每道题后都附上了“出题意图”和“学生可能卡住的点”。最关键的是它生成的 TikZ 图形代码编译通过辅助线的标记也准确。整个过程大约花了四十分钟人工校对而如果是自己从头做起至少要四个小时。3.4 模板设计与分层作业生成学案的版式设计是一门被低估的学问。竞赛学案的版式不只是“美观问题”它直接影响课堂使用的效率。我的模板有几个关键设计标题区包含专题名、适用难度、建议课时、目标知识点四个要素。这是我踩过坑后总结出来的——早期版本只有专题名拿到学案的老师根本不知道这堂课适合哪个阶段的学生。例题区每条例题前都有一个小标签类似“例 2联赛改编·中等”让学生在动笔之前就对这题的难度有一个预期。练习区不留提示纯粹是干净题面这是为了课堂上真实限时训练。最下方有一个教师专用区域横线下方是“易错诊断”和“变式建议”学生使用版会裁掉这块区域教师版则完整保留。分层作业的设计也放在技能里。我的做法是用难度标定模块算出一个“梯度分布目标”如果一份作业是 10 道题按照 3-4-2-1 的分布落在三个送分档热身、基础、中坚和两个拔高档冲刺、压轴比例大致是 30% 基础、40% 中档、20% 综合、10% 压轴。技能包在选题时自动按这个比例约束。这比“随便找几道题凑一份”要科学得多。4. 常见问题与排查技巧实录4.1 数学解析验证的三大经典翻车场景我实际使用这套 skills 的过程中翻车最多的场景集中在以下三个。先讲原委再给解决方案。场景一LaTeX 公式渲染出错。经常出现的问题包括花括号不匹配、命令名拼写错误、\frac分子分母用成一行导致公式超长。解决的思路是技能描述里写死一条规则——“所有数学公式必须使用标准数学环境且每个公式单独一行不与其他文字混排”同时配一个自动检测脚本用 pylatexenc 库扫描 LaTeX 源文件识别未闭合的环境和非法命令。from pylatexenc.latex2text import LatexNodes2Text import re def check_braces(tex_content): balance 0 for ch in tex_content: if ch {: balance 1 elif ch }: balance - 1 if balance 0: return False, 右花括号多余 return balance 0, 花括号平衡 if balance 0 else f缺少 {balance} 个右花括号场景二解析步骤过度“魔幻”。语言模型生成的解析有时会出现“从上一步到下一步之间跳过了不可或缺的变形”在数学上不是错误但教学上是大问题。竞赛教练能看懂学生绝对跟不上。排查方法是增加一个“步骤完整性校验”脚本它检查解析文本中是否频繁出现“显然”“同理”“不难得出”这类缩写词。一旦高频出现就把解析退回给生成模块要求补充详细步骤。场景三难题“伪通用”。AI 有时候会把一个专题的题目生成得过于雷同比如讲“数列放缩”时四道例题全部用同一种放缩技巧。这个问题的根源在于技能包里的出题多样性约束不够。我的修复办法是引入“知识策略矩阵”在选题阶段就要求覆盖至少三种不同解题策略。经验值是四道例题中策略分布趋于 2-1-1 的形态即两个主策略变体、一个跨知识点策略、一个逆向思维策略。4.2 技能使用中的常见错误与修偏策略除了数学本身的问题技能使用中还会遇到流程层面的坑。这里把我认为最值得说的几条列出来。过度依赖题库检索。有时题库里根本没有合适的母题但技能包会硬凑——它可能把一个“数论同余”母题强行改编成“不定方程”题改编过程中逻辑漏洞百出。后来我加了一条硬约束如果检索不到合适母题允许“自编题模式”但自编题需要通过符号计算验证初等计算部分。分课时破碎感。如果需求指定“三课时讲完”技能包生成的学案偶尔会出现三节课内容脱节的情况。比如第一节课还在讲基础概念第二节课突然跳到一个高阶综合题。修正方案是在技能描述中明确要求“每节课的题目必须使用前节课的知识作为已知项”。忽略教师版价值。我测试的前几个版本教师版解析文档只是学生版的答案集合完全没有“教学提示”价值。后来在技能输出规范里增加了一条每道例题必须附加“讲解时间预估、讲解切入点、学生常见错误预警”这样教师版才是真正的“教案”而不只是“答案册”。另外有一个非常值得分享的排查技巧把 AI 的推理过程记录下来。很多 skills 平台支持查看执行日志每次生成学案后花五分钟看一遍日志能发现很多隐藏问题比如 AI 是不是在某一步突然换了一种解读方式。我统计过大约有四分之一的“看起来正常但实际偏差”的问题都能在日志里找到根源。4.3 课程适配与考试接轨经验把技能生成的内容直接用于课堂还有最后一道关卡学案与真实考试标准的接轨。竞赛教练都知道不同考试的命题风格差异很大联赛一试偏重计算能力与熟练度二试偏重思辨深度与构造能力。一套学案如果“通吃”其实哪个都不讨好。我为此写了一个“命题风格对齐”子功能。输入目标考试比如“全国高中数学联赛二试”技能包自动调整选题偏好、解析风格和题量配置。比如联赛二试的平面几何题通常起点并不高但落点要求很高辅助线构造需要一定创造性。那匹配的学案里例题解析部分就会侧重“思路探索过程”详细写出从条件出发如何联想到某条辅助线而不是直接扔出“连接某两点”这种结果。竞赛考试近年的另一个趋势是“反套路”出题人会有意规避常见的模型化构造转而结合新颖的命题背景。这一点我也纳入到技能包的变式生成策略中。变式改编不能停留在“换个数字”层面要能在“保持核心知识点不变的情况下更换外衣”。比如把一道经典的“角平分线垂直”问题改造成“内心外接圆”背景的等价问题。5. 从个人工作流到团队协作的扩展思考5.1 单机技能向团队知识库的演化我刚才讲的都是个人工作流形态。如果你是一个竞赛教研组的负责人想让这套技能在团队里落地事情会变得更有意思也更有挑战。团队形态下最大的变化是“知识库成为公共资产”。个人用技能知识库索引文件存在自己本地够用但团队多人共用时每个人的题目标注习惯、难度理解可能不一样。一定要先做“标定校准”把团队里两位资深教练各自对 20 道典型题目的难度判定录进来让 AI 作为标尺对齐。否则技能包在 A 老师那里认为“中等”的题在 B 老师那里可能直接变成“压轴挡”。团队协作的另一个要素是版本管理。我建议把技能包和题库全部纳入版本管理仓库每次修改技能描述或者调整模板都形成一次可回溯的提交记录。实际遇到过的情况是某次修改例题模板时不小心改变了留白区域的尺寸导致几天内所有新生成的学案都在教师版区域和学生版区域重叠。如果没有版本管理这个错误可能要过很久才会被发现。5.2 技能组合与跨学科延伸这套数竞技能包的架构本质上是一种“领域知识生成规则验证工具”的复合形态。这个架构可以复制到其他学科比如物理竞赛的建模题、信息学竞赛的算法题。物理竞赛的学案难点在于公式推导的可视化信息学竞赛则在于代码示例的验证。它们的共同点是领域知识严密、规则繁多、容错率低正好需要这种“技能化脚本验证”的解决思路。我目前正在做的一个延伸是把“学情预估”这个子技能独立出来作为一个通用的学科诊断模块。它不依赖数竞内容而是接收“学生的错题记录日常作业表现”作为输入输出一份结构化诊断报告指出薄弱能力的优先级排序。这样一来学案生成就真正进入了“学情驱动”阶段。6. 实战效果与复盘过去一个学期我用这套技能包支撑了大约 40 份竞赛学案的生产。对比手工作业时间投入的变化可以量化一份两课时的专题学案手工作业耗时大约 6 到 8 小时包括选题、做题、写解析、排版、核对熟练运用技能后人工干预时间被压缩到 1.5 小时主要是审题和微调。质量方面学生课堂反馈良好教师版解析里的“易错诊断”板块对助教备课的帮助也很大。不过我也要泼一盆冷水这套东西解决的是“制作效率”不是“教研质量”。选题的品味、对学生的了解、对竞赛方向的理解依然是教练的核心能力。AI 技能包能把“已经想清楚的东西”快速变成学案但它不能替你想清楚。真正能产生“革命”效果的用法是把你手头最重要、最经典的几套教研思路先固化下来让你的时间被释放出来去沉淀更高质量的教研内容。一个具体的个人体会是技能包第一次测试跑通时我的第一感觉不是“AI 真厉害”而是“原来我的教研方法论是可以被显式化描述的”。当我把一道道题背后的难度判断、选题偏好、解析风格说明白之后我对自己教学体系的理解也更深了一层。这可能才是这个项目带给我的最大收获。最后再分享一个实践细节技能的调优不要用“等到不好用了再改”的心态维护而是每生成 5 份学案就回头做一次审查把 AI 出现的任何小毛病哪怕只是标点符号层面的记录到 SKILL.md 的“负面清单”里。这样过两三个月技能会稳定在一个相当高的水平上而你得到的不只是一个越来越好的工具更是一套越来越清晰的教学方法论。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门