AI 跑得太顺学生不自己思考了,怎么办?
(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费)

异变
这学期的机器学习课,我遇到了一个新问题。
从提交成果看来,他们比前几届都勤快 —— 交上来的作业格式规范、代码能跑、结论有板有眼。问题在于,这些交上来东西嘛,越来越不像是他们自己做的。
毕竟在我的引导下,学生们已经学会了用 AI Agent 工具。Trae、Cursor、Claude Code—— 随便哪个都行,把数据集丢进去,说一句「帮我跑一遍机器学习流程」,几分钟后从数据清洗到模型评估全部就位。代码是对的,图是漂亮的,结论也说得过去。
但每一步,都有部分同学选择放弃了思考。
好在我的课有一个检测机制:每节课都有脱机答辩。上一次的练习或上机实验做完之后,下节课就要评优和抽查的同学(一般 4 个)站到台前来讲。不能带电脑,不能看手机,不能用 PPT,只能拿一支笔站在白板前面。讲你遇到了什么问题,AI 如何协作,你如果评判 AI 的建议,每一步的依据是什么。从去年实际运行效果看,这个环节能拦住大部分纯抄 AI 答案的情况 —— 你没理解的东西,是讲不出来的。
但今年出现了新状况。学生拿到 AI 的输出之后,不是直接抄,而是花时间稍作「消化」—— 把 AI 的逻辑合理化,变成自己能讲的版本。站在白板前面,他们能把流程讲得像模像样。光看汇报环节,你很难发现问题。
幸好我早有预防,答辩还有个教师追问环节。对于不思考的学生,你再往深了问一步,他们就开始含糊了。这个环节算是最后的兜底拦截点——能拦住大部分「背下来装懂」的情况。

但问题是,答辩是事后检测 —— 等到追问时发现学生没真懂,这个练习的学习机会已经过去了。
所以我想的是,能不能把思考前置到学生使用 AI 的那个环节?不是禁止他们用 AI,而是在 AI 跑的过程里,强制把思考过程嵌入进去。
思路
与其反复耳提面命「你不能让 AI 当枪手,得自己思考」,不如换一个做法:让 AI 本身变成引导思考的工具。
我做了一个叫 ml-teaching-assistant 的 Skill。Skill 是什么?简单说,就是一套写给 AI 的行为规范 —— 你在这个任务里应该怎么做、不能怎么做、做完每一步之后必须干什么。AI 读了这套规范,就不再是一个「什么都帮你做完」的助手,而是变成一个有教学意识的课堂助教。
这个 Skill 和普通的 AI 编程助手有三个根本不同。
第一个不同,是它严格区分了经典机器学习和深度学习的技术栈。经典 ML 用 sklearn,深度学习用 fastai,主题建模用 gensim,部署用 streamlit—— 不能混着来。为什么要这么婆婆妈妈?因为学生用 AI 的时候,如不指定,AI 经常乱抓工具。明明是个表格分类任务,决策树就够,它可能直接上了 PyTorch 手写神经网络;明明用 fastai 三行就能搞定的迁移学习,它给你写了一百行 torchvision 的 boilerplate。学生看完更迷糊了 —— 不是不会,简直是被 AI 带沟里了。规定清楚技术栈,AI 的示范才有章法,学生看了才知道「做这类任务,标准做法是什么」。
第二个不同,是每一步结束后都有一个 Checkpoint。AI 跑完一段代码,不是直接往下走,而是停下来问学生一个问题。有时是回顾 ——「我刚才为什么这么做」;有时是预判 ——「如果我换一种做法,你觉得会发生什么」;有时甚至是要求学生表态 ——「我这么判断,你同意吗?如果不同意,哪里会变?」
比如 AI 跑完了数据切分,它会停下来问:「我刚才用了 stratify=y,你能说出我在防什么吗?」
比如 AI 跑完了基线模型,它会问:「DummyClassifier 拿到了 50.2%,LogisticRegression 只用三个 RGB 均值就到了 73.4%。如果后面 ResNet18 拿到 99%,从 73% 到 99% 的提升主要来自哪里?」

这些问题考的不是会不会敲代码 —— 代码是 AI 写的,学生一行都不用敲。有人觉得这样学得不扎实。但是你得确立足够明确的对照标准。从前学生是自己跟着老师手敲代码。但如果不思考,会跟着写一遍代码又有什么用?相反,如果明白严格的步骤和特殊情况处理方式,那么以后的工作环境,反正都有 AI 助手,又哪里有自己敲代码的机会呢?这就如同你开车学了自动挡,大不了将来只开自动挡的车就好。谁说自动挡考下来的本子不许上路了?
这里 Skill 考的是学生有没有真正理解每一步的决策逻辑,能不能对后续步骤做出自己的预判和评价。最有意义的事情,是让学生用自然语言说出自己的判断 —— 为什么这么做?边界条件在哪?如果换一种做法会怎样?哪些地方需要人做决策?
学生回答之后,AI 诊断 —— 答对了记「已掌握」,答得不完整就补讲一轮再问,还是答不上来就标「未掌握」或「需教师介入」。整个问答原封不动地记进 checkpoint-log,最后汇入学习反馈报告。
第三个不同,在最后的产出物上。普通的 AI 编程工具跑完流程给你一堆代码文件,你爱看不看。这个 Skill 不同 —— 它跑完全流程之后,会生成三件东西。
一份学习反馈报告,按「已掌握、部分掌握、未掌握」三档标注每个知识点,附上学生回答的原话和 AI 的判定依据。老师看这份报告,能知道这个学生具体卡在哪 —— 不是一个笼统的分数,是精确到知识点的诊断。
一份完整的可重跑 Jupyter Notebook,从第一个 cell 到最后一个 cell 顺序运行不报错。每一步的 Checkpoint 问答也嵌在 Notebook 对应位置 —— 学生回头翻的时候,能看到「AI 在这一步问了我什么、我当时怎么答的」。
还有一份个性化教程。这不是通用教材,是只给这个学生看的。如果你七个知识点过了六个,只有「小样本评估的置信区间」没答上来,那教程就只讲这一个点 —— 从你当时卡住的那道题开始,用人话把概念掰开,配一段可以独立跑通的最小代码示例,最后留一道练习。不讲你已经会的东西,不浪费时间。
三件东西之间还有互相引用:报告里的每个卡点指向教程的对应章节和 Notebook 的对应 cell;教程头部列出关联的报告项和 Notebook 入口。拿到手的不是三个散件,是一条完整的阅读线索。

怎么样?是不是设计感十足?
案例
说了半天原理,不如真跑一遍看看。
4 月 27 号,我让助教作为学生,用这个 Skill 跑了一个图像分类的课堂演示:让 AI 区分哆啦 A 梦和瓦力。319 张图片,fastai + ResNet18 迁移学习。

AI 从问题定义开始,按标准流程往下走:Context Card(明确任务约束)、数据审计(检查重复和损坏)、机制假设(颜色可能是捷径)、基线模型(DummyClassifier 和 LogisticRegression)、数据切分和训练、误差分析、总结反思。每做完一步就停下来,开一个 Checkpoint 问学生。
整个流程一共开了 7 个 Checkpoint。我挑几个有意思的出来,你感受一下 AI 问到了什么程度,以及学生是怎么互动的。
任务模式判定那一步,AI 问的是:「这个数据集只有 319 张图片,如果不用深度学习,直接把图片拉平成像素向量跑 LogisticRegression,可能会遇到什么问题?」
学生回答:「图像特征是局部化的,拉平会丢失空间信息。像素位移会导致模型失效 —— 学到的不只是特征,还耦合了位置信息,不利于泛化。」
这个回答很到位。学生不是在背定义,是真的理解了 CNN 为什么需要平移不变性。AI 判定:已掌握。
机制假设那一步,AI 问了一个带陷阱的问题:「有没有什么因素可能导致模型靠作弊来区分两个角色——学到的是捷径而非角色本身的特征?」
学生答:「颜色。哆啦 A 梦蓝色,瓦力黄褐色。」
对了。然后 AI 追了一个更深的问题:「先不做灰度化和一开始就灰度化,各自有什么利弊?颜色一定是坏捷径吗?」
学生说:「颜色没必要去掉,这是可以清晰分辨的特征。问题不在于颜色是捷径,而在于这两个角色本身特征区别就过于明显。模型能学到颜色也是一种本事。」
这道题踩准了「捷径 vs 合理特征」的边界。很多学生一听到 shortcut learning 就条件反射地想去除那个特征,但其实颜色在这个任务里既是捷径也是合理信号 —— 关键是你心里有没有数。AI 判定:已掌握。然后用 AI 的话说是「鼓励和反馈」——AI 告诉学生,这个判断说明你已经有了 data intuition,能区分「需要警惕的信号」和「需要去除的信号」。
评估协议那一步,学生出现了第一个也是唯一一个不完整的回答。AI 问:「验证集只有 63 张图片,100% 准确率有多可信?你会做什么额外的事情让自己更放心?」
学生答:「可以多采集一些图片,或者把已有图片做一些变化测试泛化能力。」
方向完全对——增加样本量或做扰动测试,都是合理思路。但缺了一个关键的统计视角:63 张全对,95% 置信区间大约是 94.3% 到 100%,这个区间有多宽?k-fold 交叉验证在小样本时为什么比单次 hold-out 更可靠?AI 判定:部分掌握。
反思那一步,是整个流程的收尾。AI 问:「回头看整套流程,哪一步如果跳过了,最后的结论最可能看起来对但其实有问题?」
学生答:「Step 3 机制假设。手动观察特征让我们对捷径心里有数,才能正确解读高准确率。虽然不改变数据,但改变人对结果的理解。」
7 个 Checkpoint 里,这是我最想看到的一个回答。学生把 data intuition 的核心价值讲出来了——不是改代码,是改认知框架。你知道颜色可能是捷径之后,再看到 100% 准确率,心里会多一个问号,而不是直接欢呼。AI 判定:已掌握。
最后,AI 生成了三件套。学习反馈报告显示:7 个 Checkpoint,6 个已掌握,1 个部分掌握,0 个未掌握。那个部分掌握的点是「小样本评估的统计陷阱」。

个性化教程因此只有一节 —— 从「你当时在 Step 5 被问到了什么」开始,讲清楚置信区间的计算、k-fold 交叉验证的原理,配了一段可以独立运行的代码示例,最后留了一道练习题。不讲颜色捷径,不讲数据泄漏,不讲迁移学习 —— 因为那些都过关了。教程只讲你还没掌握的那一个点。

Notebook 完整记录了从 DummyClassifier 50.2%、LogisticRegression(仅用 RGB 均值)73.4%、到 ResNet18 100% 的全过程,每一步末尾嵌着学生的问答记录。
你可能会问:学生要是自己把 Checkpoint 那部分删掉,直接让 AI 跑完全程呢?技术上当然可以 ——Skill 只是规则,不是物理锁,学生要绕开它并不难。但从授课效果来看,实际情况和我预想的不一样。
学生们的反馈是:他们特别喜欢这个逐步展开、问答对话过程。看得出来,他们说的不是客气话,是真的喜欢。以前用普通 AI 工具做作业,不是他们想抄,是自己做的时候感觉难度太高,卡在那里动不了,只好让 AI 全做了。现在有了这个阶梯 ——AI 先示范一步,停下来问你为什么,你答了再往下走 —— 难度降下来了,但思考没有被跳过。学生说走这个流程的感觉是「有获得感」的,不是被考试,是真的在学东西。
这是超出我预期的。我做这个 Skill 的出发点是「怎么阻止学生把思考外包给 AI」,但学生的反应告诉我,他们不是不想思考,是以前没有一个合适的阶梯让他们踩上去。所谓「教学相长」,诚哉斯言。
下面咱们来介绍一下,这个 Skill 的具体结构与制作过程。文末我也会把 Skill 的内容完整分享给你。
结构
这个 Skill 的核心骨架,其实不复杂。
更多推荐



所有评论(0)