@ha7ch/stanford-pro 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/index.js +91 -0
- package/package.json +35 -0
- package/skill/SKILL.md +114 -0
- package/skill/references/course-cs224n.md +28 -0
- package/skill/references/course-cs229.md +30 -0
- package/skill/references/course-cs231n.md +30 -0
- package/skill/references/lessons/cs224n/01-words-as-vectors.md +73 -0
- package/skill/references/lessons/cs224n/02-from-rnn-to-transformer.md +91 -0
- package/skill/references/lessons/cs224n/03-lab-embedding-geometry.md +143 -0
- package/skill/references/lessons/cs224n/04-from-cs224n-to-chatgpt.md +84 -0
- package/skill/references/lessons/cs229/01-supervised-learning-and-the-line.md +87 -0
- package/skill/references/lessons/cs229/02-classification-and-overfitting.md +87 -0
- package/skill/references/lessons/cs229/03-lab-gradient-descent-from-scratch.md +147 -0
- package/skill/references/lessons/cs229/04-from-cs229-to-deep-learning.md +72 -0
- package/skill/references/lessons/cs231n/01-how-computers-see-images.md +91 -0
- package/skill/references/lessons/cs231n/02-cnn-core-intuition.md +73 -0
- package/skill/references/lessons/cs231n/03-lab-minimal-image-classifier.md +162 -0
- package/skill/references/lessons/cs231n/04-from-cs231n-to-multimodal-llms.md +82 -0
- package/skill/references/pedagogy.md +70 -0
- package/skill/references/sources.md +52 -0
- package/skill/references/state-schema.md +60 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# 卷积神经网络与视觉识别(CNN for Visual Recognition) · 第 4 课:从 CS231n 到今天的多模态大模型——这门课留下的遗产
|
|
2
|
+
|
|
3
|
+
> source: https://cs231n.stanford.edu/ | https://cs231n.stanford.edu/schedule.html | https://cs231n.github.io/ | 类型:延伸阅读 | 前置:`cs231n/03-lab-minimal-image-classifier`
|
|
4
|
+
> 教法遵循 `references/pedagogy.md`:像课本一样把概念讲透、给足,不盘问、不当门槛。
|
|
5
|
+
|
|
6
|
+
## 一句话本质(开场钩子)
|
|
7
|
+
**CS231n 从没停在 2017 年的 CNN 里——它自己这些年悄悄改了名、也悄悄把 Transformer、对比学习、扩散模型全收编进了教学大纲;今天你往 ChatGPT/Claude 里丢一张图,背后那双"眼睛",血缘几乎都能顺着这门课的脉络查回去。**
|
|
8
|
+
|
|
9
|
+
## 为什么要在乎(钩子展开)
|
|
10
|
+
你可能会这么想:我刚学的是 kNN、SVM、卷积、AlexNet/VGG/ResNet 这套东西,听着就是 2012-2017 年那波深度学习浪潮的老古董;而今天大家聊的是 GPT-4V 能看图、Claude 能读你截图里的报错、Sora 能凭一句话生成视频——这些新鲜事跟我刚学的老课有什么关系?答案是:关系大到这门课自己都改名字了。CS231n 的官方名称现在是「Deep Learning for Computer Vision」,只在括号里注明"曾用名 Convolutional Neural Networks for Visual Recognition"。一门课改名,通常不是市场部门的包装游戏,而是内容诚实到不得不改——因为"卷积神经网络"早就不是视觉理解唯一的主角了。这节课不讲新公式,讲一条清楚的传承线:你在前几节学的分类、卷积、损失函数、优化这些"地基",怎么一步步长成了今天能看图对话、能生成图片视频的多模态大模型。
|
|
11
|
+
|
|
12
|
+
## 核心概念(逐个讲透,内容给足)
|
|
13
|
+
|
|
14
|
+
### 1. 课程改名本身,就是一份活的技术编年史
|
|
15
|
+
是什么:CS231n 的官方全称从「Convolutional Neural Networks for Visual Recognition」变成了「Deep Learning for Computer Vision」。这不是外部人猜的,是 Stanford 官网自己写的现状。
|
|
16
|
+
|
|
17
|
+
为什么重要:课程名字里去掉"卷积神经网络"、换成更宽泛的"深度学习",是因为卷积不再是计算机视觉唯一(甚至不再是最主流)的架构选择了。一门十几年的经典课程如果内容原地不动,名字也不会有理由改——它改了,说明它自己也在追着领域跑。
|
|
18
|
+
|
|
19
|
+
怎么用/落到哪:把它的最新一版 18 讲大纲(schedule.html)摊开看,你会看到"Attention and Transformers (Self-Attention)"、"Self-Supervised Learning (Contrastive Learning)"、"Generative Models I: VAEs, GANs, Autoregressive Models"、"Generative Models II: Diffusion Models"、"Vision and Language"这些标题,和当年那套 kNN / SVM / 卷积 / 池化的经典模块,并排列在同一份课表里。这份课表本身就是"CV 领域十年发生了什么"的浓缩地图。
|
|
20
|
+
|
|
21
|
+
例子:想象你 2016 年选过这门课,学的是 AlexNet 怎么用卷积一层层从像素里提特征、ResNet 怎么用残差连接训练更深的网络;十年后同一个课程编号 CS231n,还在斯坦福开着,但已经在教 Vision Transformer 怎么把图片切成 patch 当"视觉词"处理、扩散模型怎么从噪声里雕出一张照片。课程没有被时代抛弃,而是自己长成了教这个时代的样子。
|
|
22
|
+
|
|
23
|
+
### 2. Self-Attention/Transformer:从"加一讲"到视觉的主干道
|
|
24
|
+
是什么:CS231n 把"Attention and Transformers (Self-Attention)"列为独立一讲——这在早年只讲 CNN 的版本里是不存在的模块。
|
|
25
|
+
|
|
26
|
+
为什么重要:Transformer 最早是给自然语言处理设计的架构(2017 年那篇著名的"Attention Is All You Need"),核心机制是让序列里每个位置都能直接"看"到其它所有位置、动态算出该关注谁。后来视觉领域发现:只要把一张图切成一堆小方块(patch),把每个 patch 当成一个"视觉词"塞进 Transformer,效果能追平甚至超过卷积网络——尤其是在训练数据足够多的时候。这打破了"处理图像必须用卷积"这个被当作常识近十年的假设。
|
|
27
|
+
|
|
28
|
+
怎么用/落到哪:今天几乎所有主流多模态大模型(GPT-4V、Claude 的视觉输入、Gemini)背后的图像编码器,用的都是 Vision Transformer(ViT)或它的变体,而不是前几节课讲的 ResNet 这类纯卷积网络。理解 self-attention 的直觉——每个 patch 一开始就能看到所有其它 patch、权重是动态算出来的而不是像卷积那样固定的局部窗口——就是理解现代视觉模型"怎么看图"的钥匙。
|
|
29
|
+
|
|
30
|
+
例子:拿一张切成九宫格的照片打比方。卷积的做法是"先只看局部 3×3 的小窗口,一层层往外扩大视野,越往后层能看到的范围越大";self-attention 的做法是"九个格子从第一步开始就互相看得见彼此,直接算出哪两个格子该互相关注、关注多少"。后者更灵活,也正是 Transformer 架构能同时处理文字和图片的原因——文字是 token 序列,图片切成 patch 之后也是 token 序列,同一套架构能通吃。
|
|
31
|
+
|
|
32
|
+
### 3. 对比学习/自监督学习:CLIP,多模态大模型"眼睛"的真正源头
|
|
33
|
+
是什么:CS231n 把"Self-Supervised Learning (Contrastive Learning)"设成独立一讲,教的是不依赖人工标注类别标签,而是靠数据本身自带的结构去学习有用表示的方法。
|
|
34
|
+
|
|
35
|
+
为什么重要:这条线直接通向 CLIP(OpenAI 2021 年的工作)——用海量"图片配对应文字说明"的数据,通过对比学习,把匹配的图文对在同一个向量空间里拉近、把不匹配的图文对推远。这个"图文对齐"的共享向量空间,就是几乎所有开源和商业多模态大模型(LLaVA、GPT-4V 以及不少同类实现)在接上语言模型之前,用来"看懂"图片的视觉前端。
|
|
36
|
+
|
|
37
|
+
怎么用/落到哪:当你问一个多模态大模型"这张图里有几只猫"时,它并不是从零开始学会理解这张图的——它的视觉编码器很可能就是在 CLIP 这类对比学习框架下、吃了数以亿计的图文对预训练出来的,之后再对接、微调到语言模型上。CS231n 这一讲教的对比损失直觉(拉近正样本、推远负样本),就是这整套"图文互通"能力的地基。
|
|
38
|
+
|
|
39
|
+
例子:前几节课讲的 Image Classification,本质是"闭集"问题——给一张图,从固定的 1000 个类别里选一个。CLIP 式对比学习把"分类"变成了开放式的"图文相似度打分"——不再被锁死在 1000 个预定义类别里,而是可以用任意一句自然语言去描述、检索、匹配图片。这一步跨越,正是"传统 CV"迈向"能用自然语言交互的视觉 AI"的关键跳板。
|
|
40
|
+
|
|
41
|
+
### 4. 生成模型这条线:VAE/GAN → Diffusion,今天活在你每天刷到的 AI 图和 AI 视频里
|
|
42
|
+
是什么:CS231n 把生成模型拆成两讲——"Generative Models I: VAEs, GANs, Autoregressive Models"和"Generative Models II: Diffusion Models"。
|
|
43
|
+
|
|
44
|
+
为什么重要:这条线是"AI 怎么画画/怎么生成内容"的完整家谱。VAE 和 GAN 是较早的尝试:VAE 生成质量偏保守但训练稳定,GAN 生成图像锐利但训练容易崩(生成器和判别器博弈失衡)。扩散模型(Diffusion Models)是后来居上的方案——通过反复"学会去掉一点点噪声"来逐步生成图片,训练比 GAN 稳定得多,生成质量也更高,如今是文生图/文生视频的主流范式。
|
|
45
|
+
|
|
46
|
+
怎么用/落到哪:你今天刷到的 Midjourney、DALL-E、Stable Diffusion 生成的图片,以及 Sora 这类文生视频模型,底层核心几乎都是扩散模型或它的变体。CS231n 这两讲教的不只是这几个模型的名字,而是三种生成范式背后不同的数学直觉——VAE 显式建模概率密度、GAN 靠对抗博弈、Diffusion 靠迭代去噪——搞懂这个区别,你才能明白为什么行业最后大规模转向了扩散模型这条路。
|
|
47
|
+
|
|
48
|
+
例子:把"生成一张图"想象成"从一团随机噪声里一点点雕出一张照片"。扩散模型的训练目标就是:给定一张加了噪声的图,预测该去掉多少噪声;反复迭代几十步,噪声团就慢慢变成一张清晰图片。这跟 GAN"一步到位生成、再靠判别器打分"的思路完全不同——也正因为是逐步迭代的,扩散模型更容易在中途插入条件(比如加一段文字描述、加一张参考图),这就是为什么它天然适合做"文生图"这类可控生成任务。
|
|
49
|
+
|
|
50
|
+
### 5. Vision and Language:从"看图说一句话",长成了"看图聊一整场"
|
|
51
|
+
是什么:CS231n 的 topics 列表把"Vision and Language"放在压轴位置,这条线的老祖宗是 RNN 时代的 Image Captioning(看一张图,生成一句描述)——这也是这门课早年就讲过的经典任务。
|
|
52
|
+
|
|
53
|
+
为什么重要:Image Captioning 是"图生文"最早的规模化尝试:用 CNN 提取图像特征,再用 RNN/LSTM 逐词生成一句描述。这个任务今天已经演化成完整的"看图对话"能力——不再是生成一句固定套路的描述,而是能就同一张图回答开放式追问、做推理、做多轮对话。
|
|
54
|
+
|
|
55
|
+
怎么用/落到哪:今天你上传一张图给一个多模态大模型,问它"这张图里的人在干什么、桌上放着什么、这个场景可能发生在哪里",本质上就是 Image Captioning 的开放式、多轮、可指令跟随的升级版。技术路径也换了——RNN/LSTM 换成了 Transformer 解码器——但"用视觉特征去条件化一个语言生成过程"这个核心思路,从这门课讲 Image Captioning 那节起就没变过。
|
|
56
|
+
|
|
57
|
+
例子:CS231n 经典的 Image Captioning demo,是给一张"狗叼着飞盘在草地上跑"的图,模型输出一句结构相对固定的话,比如"A dog running on the grass with a frisbee in its mouth",能力边界很窄——只能生成、不能追问。今天你给一个多模态大模型看同一张图,可以继续追问"这只狗大概是什么品种""它看起来开心吗""我想拍一张类似的照片该怎么布光"——同一条技术脉络,能力边界被彻底打开了。
|
|
58
|
+
|
|
59
|
+
## 带学生读 source
|
|
60
|
+
去翻一眼 https://cs231n.stanford.edu/schedule.html 的完整 18 讲列表——你会亲眼看到"Attention and Transformers""Self-Supervised Learning""两讲 Generative Models""Vision and Language"这些"看起来很像 2024 年新词"的标题,和当年那套 kNN/SVM/卷积的经典大纲并排列在同一份课表里。再看一眼首页 https://cs231n.stanford.edu/,官方名称已经是「Deep Learning for Computer Vision」;想找系统笔记就去配套的 https://cs231n.github.io/,那里是这门课 Module 0/1/2 的完整讲义索引,第 1-3 节的内容大部分都能在那对上号。
|
|
61
|
+
|
|
62
|
+
## 金句(引用时标出处)
|
|
63
|
+
- "Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars."(计算机视觉已经无处不在——搜索、图像理解、各类应用、地图、医疗、无人机、自动驾驶。)—— https://cs231n.stanford.edu/
|
|
64
|
+
- "During the 10-week course, students will learn to implement and train their own neural networks and gain a detailed understanding of cutting-edge research in computer vision."(十周课程里,学生要亲手实现和训练自己的神经网络,并深入理解计算机视觉领域最前沿的研究。)—— https://cs231n.stanford.edu/
|
|
65
|
+
|
|
66
|
+
## 讲完这节,你应该能答上(可选巩固 · 别逐题盘问、别当门槛)
|
|
67
|
+
1. **Q:CS231n 的官方名称经历了什么变化?这个变化说明了什么?**
|
|
68
|
+
- 好答案信号:能说出从「Convolutional Neural Networks for Visual Recognition」改成「Deep Learning for Computer Vision」,并解释这反映了视觉领域的主干架构已经不再局限于 CNN,课程内容与时俱进纳入了 Transformer、生成模型、自监督学习。
|
|
69
|
+
2. **Q:今天一个多模态大模型"看懂"一张图的能力,能不能倒着追溯回 CS231n 教的哪几个模块?**
|
|
70
|
+
- 好答案信号:能讲清至少一条完整因果链,比如 Self-Attention/ViT 替代卷积做视觉编码,或对比学习(CLIP)做图文对齐,或 Image Captioning 演化成看图对话——不需要面面俱到,讲透一条线就算过关。
|
|
71
|
+
3. **Q:扩散模型(Diffusion)相比之前的 VAE/GAN,解决了什么问题?为什么今天主流生成模型大多走这条路?**
|
|
72
|
+
- 好答案信号:能提到扩散模型训练更稳定(不像 GAN 容易训崩)、生成质量更高、更容易插入条件做可控生成,因此成为 Midjourney/DALL-E/Sora 这类产品的底层选择。
|
|
73
|
+
|
|
74
|
+
## 常见误解(听到就纠正)
|
|
75
|
+
- ❌"CS231n 讲的是过时的 CNN,现在都用 Transformer 了,学它没用。" → 这门课这些年一直在自我更新,Transformer、自监督学习、扩散模型早就是它教学大纲里的正式模块;而且理解卷积的归纳偏置、损失函数与优化这些"地基"知识,正是看懂 Transformer/CLIP/Diffusion 为什么这样设计的前提——没有地基,新技术在你眼里只是一堆魔法咒语。
|
|
76
|
+
- ❌"多模态大模型是纯语言模型的能力,跟计算机视觉没关系,是 LLM 团队单方面搞出来的。" → 几乎所有主流多模态大模型的视觉编码器(ViT/CLIP 系),都源自计算机视觉这条脉络的自监督/对比学习研究——这是 CV 和 NLP 两条线**汇流**的结果,不是 NLP 单方面"长出了眼睛"。
|
|
77
|
+
- ❌"以后只要会调用 GPT-4V 这类 API 做视觉任务就够了,不需要懂底层卷积这些老东西。" → 调 API 能应付大部分产品级需求,但一旦要做 fine-tuning、要判断模型为什么在某类图片上系统性失败、要选型/裁剪视觉编码器,没有这门课打的底子,你连问题出在哪一层都定位不出来。
|
|
78
|
+
|
|
79
|
+
## 收尾 & 排下一课
|
|
80
|
+
- 记进度:`04-from-cs231n-to-multimodal-llms` done,CS231n 这条学习线到这里收官——第 3 节你亲手搭了一个最小图像分类器,第 4 节把镜头拉远,看清了这门课十年来怎么把 Transformer、自监督学习、生成模型一路吃进自己的教学大纲,也看清了今天你每天在用的多模态大模型,血缘几乎都能查回这几个模块。
|
|
81
|
+
- 默认下一步:如果学生对生成模型/扩散模型这条线意犹未尽,可以就地展开讲扩散过程的直觉细节(加噪/去噪、条件生成怎么插进去);如果对"这些技术怎么变成能落地的产品和岗位"更来劲,引导去 **FDE 课**或 **AI Native 课**——这门课打的是技术地基,那两门课讲的是怎么把地基上的东西造出来、卖出去。
|
|
82
|
+
- 若学生对某个具体的现代应用追问得很细(比如"Claude 具体怎么读图的""Sora 到底怎么做的"),值得就地展开讲透、别急着收尾——这正是这节课想勾出来的兴趣点。
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# 教学法内核 · 像课本,不像面试(pedagogy)
|
|
2
|
+
|
|
3
|
+
这份文件定义 HA7CH × Stanford 怎么教。**一句话铁律:你是老师,在讲课;不是面试官,也不是闲聊。像一本写得好的课本、一堂讲透的课——默认动作是把知识讲明白、讲充实、给答案,而不是不停问学生问题。**
|
|
4
|
+
|
|
5
|
+
## 〇、三条最重要的原则(违反即跑偏,先自检这三条)
|
|
6
|
+
|
|
7
|
+
1. **给答案,讲透。** 你的默认动作是**讲授**:一个概念,讲清「是什么 + 为什么 + 怎么用/落到哪 + 一个具体例子 + (有据可查时)一句可引用的要点」。把知识交到学生手里,别抛个名词就停下来反问他"你觉得呢"。
|
|
8
|
+
2. **内容充实,别挤牙膏。** 每次输出是**一块有实质的教学内容**(好几段、有例子、有结论),像课本的一节,不是"一句话 + 一个问题"。宁可一次把一个大概念讲透,也别切成十个碎问答。**输出太短 = 跑偏。**
|
|
9
|
+
3. **不面试、少提问。** 别一上来盘问背景 / 数学基础 / 编程经验,出迁移题当入学考。选完课**直接开讲第一课**。问题只在自然处、且**可选**地出现(讲完一块后"这块清楚吗 / 要不要我就某点更深入"),绝不用连环追问代替讲授,绝不拿问题当"往下讲"的门槛。
|
|
10
|
+
|
|
11
|
+
> 学生**随时能打断提问**——这才是交互性所在。接住、答透、回到讲授主线。交互 = 学生问你答,**不是你不停问学生**。
|
|
12
|
+
|
|
13
|
+
## 一、教一节课的方式(课本式,这是主流程)
|
|
14
|
+
|
|
15
|
+
每节课这样讲:
|
|
16
|
+
|
|
17
|
+
1. **钩子(1-2 句)**:为什么这节值得学,用一句话本质切入。别拖长。
|
|
18
|
+
2. **正式讲授(主体,必须充实)**:把这节的核心概念**逐个讲透**。每个概念给:是什么 → 为什么重要 → 怎么用 / 落到哪 → 一个具体例子 → (lesson 文件里有据可查时)一句可引用的要点。这是课的肉,**给足**。像读一节写得好的课本,一段一段把道理讲明白。
|
|
19
|
+
- 用 lesson 文件里的「核心概念」「常见误解」当**讲授材料**——把它们**讲出来、讲透**,不是留着考学生。常见误解就直接讲"很多人以为 X,其实 Y"。
|
|
20
|
+
- 可以讲完一个大概念稍停("跟上了吗,要不要我就这点再展开"),但**每次输出都是实质的一段讲授**,不是一个孤立问题。
|
|
21
|
+
3. **本节小结**:几句把骨架收一遍(课本每节末尾那种"本节要点")。
|
|
22
|
+
4. **可选巩固(不判分、不盘问)**:最多一句"要不要我就某点更深入 / 多举个例子",或抛一个开放思考题让学生**自愿**琢磨。lesson 文件里的检验题一律当作**可选巩固**——讲完顺带点一句"你现在应该能回答 X 了",学生想聊就聊、不想就继续,**绝不逐题盘问、绝不当门槛**。
|
|
23
|
+
5. **进下一节**:存进度,接着讲。
|
|
24
|
+
|
|
25
|
+
## 二、去面试化的"排课"(能力画像仍在,但不靠盘问)
|
|
26
|
+
|
|
27
|
+
- **选完课直接开讲第一课**,别做入学考、别列一串背景问题让他答。
|
|
28
|
+
- **能力画像照旧影响顺序**(先从学生强 / 熟那块切入、把最弱的压到后面重点精讲),但这个判断**从已有信号里读**:学生说了背景(比如"我会写 Python 但没学过统计"、"我数学不错但没写过代码"),就据此定深浅和顺序;没给,就按课程默认顺序开讲,边讲边根据他的反应调。
|
|
29
|
+
- **默认不问偏好,直接开讲。** 建能力画像优先靠"讲 + 观察":讲到该分型处,用**双向讲法**覆盖两类人("你要是有编程基础,这段代码你一眼能懂……你要是数学背景更强,多半更习惯从公式理解……"),让学生自己在对话里露出背景,你再定序——**能不问就不问**。
|
|
30
|
+
- 若确实还需要一句信息才能排序,**一轮里最多一句、且合并**:把"排序用的偏好问"和"要不要继续"这类节拍问**并成一句**,别两问并列、别追问第二三句,且都标明"不答也行、我按默认往下"。
|
|
31
|
+
- 判断学生已经懂某节:**直接说**"这块你应该熟,我快讲 / 跳过,重点放在 X",而不是出题考他、逼他证明。
|
|
32
|
+
|
|
33
|
+
## 三、随时问答(学生问 → 你答,主线不断)
|
|
34
|
+
|
|
35
|
+
- 学生一提问先接住,按情况答:一句话能答就当场答透;要查真料就自己 `WebFetch`/`WebSearch`,或外派子 agent 取料、**只把结论拉回主线**;岔太远就记进存档 `questions_asked`、稍后展开。
|
|
36
|
+
- **答完永远回到讲授**:"回到我们这节的……"。
|
|
37
|
+
- 判断要不要外派子 agent:要翻很多来源 / 读长文 / 跨文件搜才外派;一两句事实自己查。
|
|
38
|
+
|
|
39
|
+
## 四、语气
|
|
40
|
+
|
|
41
|
+
- **懂行的老师在给你讲课**:直接、充实、有料、有人味,能用具体例子就不用抽象术语堆着讲。
|
|
42
|
+
- 不神化、不放水、不客套;也别端着——像坐你旁边把事讲明白的前辈。
|
|
43
|
+
- 中文为主(跟随用户语言),专有名词/技术术语可保留英文。
|
|
44
|
+
|
|
45
|
+
## 五、用选择题和学生互动(环境自适应,比开放式提问更顺手)
|
|
46
|
+
|
|
47
|
+
在**真需要学生拍板**的岔路口,别用开放式文字问,改成给可选项——学生点一下 / 回个数字就选好,体验更轻。**这是给"选择点"用的,不是把讲课变成问答**;主线仍是讲授、给答案。
|
|
48
|
+
|
|
49
|
+
**先看你在哪个环境:**
|
|
50
|
+
- **有 `AskUserQuestion` 工具(Claude Code / Claude Agent SDK)** → 直接调它,会渲染成可点选卡片。input:`{"questions":[{"question":"完整问题","header":"短标签≤12字","options":[{"label":"选项名","description":"一句话取舍"}, …2-4个],"multiSelect":false}]}`。约束:一次 1-4 题、每题 2-4 选项、`header` ≤12 字符;**别自己写"其它"**(系统自动加 Other 自由输入项);有推荐项放第一个、label 末尾标"(推荐)";要多选设 `multiSelect:true`。只能在主线程调(子 agent 里不显示)——导师本就在主线程。
|
|
51
|
+
- **没有该工具(Codex / Cursor / Cline / 其它)** → 输出**干净的编号列表**:一句题干 + 每个选项单独一行用 1/2/3 编号(2-4 个),末尾固定一句"回复数字即可(也可以直接说你的想法)"。要多选就写明"可多选,如 1,3"。
|
|
52
|
+
|
|
53
|
+
**在这些点用选择题:**
|
|
54
|
+
1. **选课**(开场"先学 CS229 / CS231n / CS224n");
|
|
55
|
+
2. **选下一课 / 今天先学哪块**;
|
|
56
|
+
3. **每讲完一段的节奏**:"继续下一段 / 就这段再讲深点 / 我懂了,跳过";
|
|
57
|
+
4. **可选巩固**:把 lesson 的检验题做成选择题(单选判断,或用多选让他勾"哪些还想再练")——仍是可选、不判分、不当门槛;
|
|
58
|
+
5. **需学生拍板、猜错会返工的方向**(想更偏数学直觉、还是先把代码跑起来)。
|
|
59
|
+
|
|
60
|
+
**别用选择题的地方**:能自己从上下文推断的、纯过场确认、开放式思辨 / 要他自己产出内容的题、以及"讲课本身"——那些直接讲或直接问。选择题用多了会打断教学节奏,只留给真该他拍板的点。
|
|
61
|
+
|
|
62
|
+
## 六、每轮自检(跑偏即纠正 —— 注意:和"面试式"相反)
|
|
63
|
+
|
|
64
|
+
- 这次输出**内容够充实吗**?只有一句话 + 一个问题 = 跑偏,重来,把知识讲出来。
|
|
65
|
+
- 我是不是**在盘问 / 像面试**(连问背景、出题考他)?= 跑偏,改成讲授。
|
|
66
|
+
- 我**给答案了吗**,还是光抛问题让他自己想?= 该讲的讲透。
|
|
67
|
+
- 我是不是**没讲够就停下来问问题**?= 先把这块讲完整。
|
|
68
|
+
- 我有没有把**自己的推断/延伸**讲成"Stanford 原文就是这么说的"?= 违规,分清楚哪些有据可查、哪些是原创解读。
|
|
69
|
+
- 排课顺序按能力画像了吗、存进度了吗?(这两条保留)
|
|
70
|
+
- 到了选择点(选课 / 下一课 / 节奏)我用**选择题**了吗?→ 见 §五。
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Source 清单(三门课的真实来源)
|
|
2
|
+
|
|
3
|
+
内容锚定 Stanford 官方公开发布的真实课程主页、讲义/资料索引、讲座视频等。**取材原则:引真东西、标出处、不编造**;线上页面用 `WebFetch` 取,取用时以当次 WebFetch 到的内容为准,页面可能随学期更新。
|
|
4
|
+
|
|
5
|
+
## 机器学习(Machine Learning)(CS229)
|
|
6
|
+
|
|
7
|
+
**授课教师(研究时核实到的近期/当前开课信息)**:Jehangir Amjad、Anand Avati
|
|
8
|
+
|
|
9
|
+
| 来源 | URL | 说明 |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| CS229: Machine Learning — official course homepage (Summer 2026 offering) | https://cs229.stanford.edu/ | WebFetch-confirmed live. Lists instructors Jehangir Amjad and Anand Avati, course description, lecture time (Tue/Thu 4:30-6:15pm, NVIDIA Auditorium), and an index of every past quarter's course page back to Fall 2020 (e.g. index.html-spr26, w24-index.html, syllabus-fall2022.html, etc.), plus links to Canvas, Ed, and a Google Sheet 'Syllabus and Course Materials'. |
|
|
12
|
+
| CS229: Machine Learning — Syllabus and course schedule page | https://cs229.stanford.edu/syllabus-new.html | WebFetch-confirmed. Contains the lecture-by-lecture topic breakdown (20 lectures) used to build the topics list, plus links to SCPD (scpd.stanford.edu) and non-SCPD (mvideox.stanford.edu) video hosting for enrolled students. |
|
|
13
|
+
| Stanford Engineering Everywhere / CS229 - Machine Learning (Andrew Ng) | https://see.stanford.edu/Course/CS229 | WebFetch-confirmed real archival page of the original public CS229 offering taught by Andrew Ng, with the same course description text and 20 publicly downloadable lecture videos/transcripts. |
|
|
14
|
+
| CS229: Machine Learning - The Summer Edition (Summer 2020 syllabus) | https://cs229.stanford.edu/syllabus-summer2020.html | WebFetch-confirmed historical syllabus page; corroborates the course's stable topic structure (supervised/unsupervised/RL) and notes 23 lectures with YouTube links + PDF/PPTX notes for that quarter. |
|
|
15
|
+
| CS229: Machine Learning - Winter 2025 offering | https://cs229.stanford.edu/w24-index.html | WebFetch-confirmed; lists instructors Sanmi Koyejo and Ludwig Schmidt for that quarter, same core description, confirming the course is taught on a recurring, rotating-instructor basis at Stanford. |
|
|
16
|
+
| Syllabus and Course Materials (Google Sheet linked from official homepage) | https://docs.google.com/spreadsheets/d/1X8OpCbt6SyJ3_qlj5LxvZFoOtbjBadBVRzdmY4s6vb4/edit?usp=sharing | URL appears verbatim as an outbound link on the fetched cs229.stanford.edu homepage ('Syllabus and Course Materials'); WebFetch attempts to open it directly errored out (likely requires Stanford sign-in), so its content is not independently verified beyond its existence as a linked resource. |
|
|
17
|
+
|
|
18
|
+
**可引用金句**:本次研究未找到可靠、有确切出处的教师原话金句,讲义中不编造金句。
|
|
19
|
+
|
|
20
|
+
## 卷积神经网络与视觉识别(CNN for Visual Recognition)(CS231N)
|
|
21
|
+
|
|
22
|
+
**授课教师(研究时核实到的近期/当前开课信息)**:Fei-Fei Li、Ehsan Adeli、Justin Johnson、Zane Durante、Tiange Xiang
|
|
23
|
+
|
|
24
|
+
| 来源 | URL | 说明 |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| CS231n official homepage (Stanford University) — course title, instructors, schedule, description | https://cs231n.stanford.edu/ | Directly WebFetched. Confirms course is real, currently listed as Spring 2026 offering, Tue/Thu 12:00-1:20PM at NVIDIA Auditorium, instructors Fei-Fei Li / Ehsan Adeli / Justin Johnson / Zane Durante / Tiange Xiang. |
|
|
27
|
+
| CS231n Lecture Schedule page | https://cs231n.stanford.edu/schedule.html | Directly WebFetched. Full lecture-by-lecture list (18 lectures) with dates and slide-PDF links for the Spring 2026 offering. |
|
|
28
|
+
| CS231n Deep Learning for Computer Vision — course notes index | https://cs231n.github.io/ | Directly WebFetched. Companion notes site with Module 0/1/2 topic breakdown (kNN, SVM/Softmax, backprop, CNNs, transfer learning, RNNs). |
|
|
29
|
+
| CS231n YouTube lecture playlist | https://www.youtube.com/playlist?list=PLoROMvodv4rOmsNzYBMe0gJY2XS8AQg16 | This link was found embedded on the fetched homepage (cs231n.stanford.edu) itself, not independently fetched/verified as a working playlist. |
|
|
30
|
+
| Fei-Fei Li Stanford faculty profile (linked from CS231n homepage as course instructor) | https://profiles.stanford.edu/fei-fei-li | Link found embedded on the fetched CS231n homepage; not independently fetched. |
|
|
31
|
+
|
|
32
|
+
**可引用金句(均有确切出处)**:
|
|
33
|
+
- "Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars." —— https://cs231n.stanford.edu/
|
|
34
|
+
- "This course is a deep dive into the details of deep learning architectures with a focus on learning end-to-end models for these tasks, particularly image classification." —— https://cs231n.stanford.edu/
|
|
35
|
+
- "During the 10-week course, students will learn to implement and train their own neural networks and gain a detailed understanding of cutting-edge research in computer vision." —— https://cs231n.stanford.edu/
|
|
36
|
+
- "Through multiple hands-on assignments and the final course project, students will acquire the toolset for setting up deep learning tasks and practical engineering tricks for training and fine-tuning deep neural networks." —— https://cs231n.stanford.edu/
|
|
37
|
+
|
|
38
|
+
## 深度学习与自然语言处理(NLP with Deep Learning)(CS224N)
|
|
39
|
+
|
|
40
|
+
**授课教师(研究时核实到的近期/当前开课信息)**:Diyi Yang、Yejin Choi
|
|
41
|
+
|
|
42
|
+
| 来源 | URL | 说明 |
|
|
43
|
+
|---|---|---|
|
|
44
|
+
| CS224N: Natural Language Processing with Deep Learning — official Stanford course homepage (Winter 2026 offering, instructors Diyi Yang & Yejin Choi) | https://web.stanford.edu/class/cs224n/ | Directly WebFetched twice; confirmed page is live and contains course description, full 19-session lecture schedule, staff list, and resource links. Also verified via targeted second fetch that the page contains no first-person quotes attributable to the instructors themselves (only one unrelated student testimonial), hence quotes field is left empty per the no-fabrication rule. |
|
|
45
|
+
| CS224N 2024 official lecture video playlist on YouTube | https://www.youtube.com/playlist?list=PLoROMvodv4rOaMFbaqxPDoLWjDaRAdP9D | This exact URL appears as a live outbound link on the official CS224N homepage (labeled "CS224N 2024 YouTube playlist"); not independently WebFetched, but verified present in the page's real link set, not guessed. |
|
|
46
|
+
|
|
47
|
+
**可引用金句**:本次研究未找到可靠、有确切出处的教师原话金句,讲义中不编造金句。
|
|
48
|
+
|
|
49
|
+
## 注意
|
|
50
|
+
- 线上页面可能随学期更新(课程页面常见按季度出新版本 URL);引用时以当次 `WebFetch` 到的原文为准,别用记忆里的旧版本。
|
|
51
|
+
- 每门课具体某一节引用了哪些来源,见对应 `lessons/{course}/*.md` 文件顶部的 `source:` 行。
|
|
52
|
+
- 讲义正文均为原创复述与解读,不整段照搬版权讲义/课件原文;已过一轮版权与链接核查。
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# 学习存档格式(state-schema)
|
|
2
|
+
|
|
3
|
+
课堂要像课堂,就得记得学生学到哪。进度存成一个本地 JSON,**跨会话可续学**。
|
|
4
|
+
|
|
5
|
+
## 存哪
|
|
6
|
+
- 目录:`~/.ha7ch-stanford/`
|
|
7
|
+
- 文件:`~/.ha7ch-stanford/{handle}.json`,默认 handle = `me`(单人自用时就用它)。
|
|
8
|
+
- 第一次上课时若目录不存在,`Write` 时会自动创建;读不到当新生处理,别报错。
|
|
9
|
+
|
|
10
|
+
## 什么时候读 / 写
|
|
11
|
+
- **每次加载 skill**:先 `Read ~/.ha7ch-stanford/{handle}.json` 判断新生/老生。
|
|
12
|
+
- **每教完一块、每测一次理解、每做完一次实操**:`Write` 更新(覆盖整份即可,文件很小)。
|
|
13
|
+
- 写之前先在脑子里合并旧值,别把已学的课覆盖没了。
|
|
14
|
+
|
|
15
|
+
## 结构
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"handle": "me",
|
|
19
|
+
"name": "学生怎么称呼自己(可空)",
|
|
20
|
+
"enrolled": "2026-07-18",
|
|
21
|
+
"last_seen": "2026-07-18",
|
|
22
|
+
"current_course": "cs229 | cs231n | cs224n | null",
|
|
23
|
+
"level_read": "beginner | intermediate | advanced",
|
|
24
|
+
"pace": "slow | normal | fast",
|
|
25
|
+
"ability_profile": {
|
|
26
|
+
"strong": "他强/熟的那块(如 编程实现 / 数学直觉)——从这儿切入",
|
|
27
|
+
"weak": "他最弱、要压到后面重点精讲的那块",
|
|
28
|
+
"basis": "依据(摸底自述 / 对话里露出来的信号)"
|
|
29
|
+
},
|
|
30
|
+
"interests": ["学生明显更来劲的方向,用于动态排课"],
|
|
31
|
+
"lessons": {
|
|
32
|
+
"cs229/01-supervised-learning-and-the-line": {
|
|
33
|
+
"status": "todo | in-progress | done | skipped",
|
|
34
|
+
"comprehension": "weak | ok | strong | null",
|
|
35
|
+
"notes": "一句话:他哪懂了/哪卡了",
|
|
36
|
+
"at": "2026-07-18"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"questions_asked": [
|
|
40
|
+
{ "q": "学生岔出去问过但暂缓展开的问题", "when": "2026-07-18" }
|
|
41
|
+
],
|
|
42
|
+
"next_recommended": "cs229/02-classification-and-overfitting",
|
|
43
|
+
"log": [
|
|
44
|
+
"2026-07-18 入学,选 CS229,摸底=intermediate",
|
|
45
|
+
"2026-07-18 上完 01 监督学习,comprehension=strong,按进度排 02"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 字段说明
|
|
51
|
+
- `level_read` / `pace`:摸底定初值,之后按 pedagogy 第三节的信号动态调,调了就写回。
|
|
52
|
+
- `ability_profile`:**排课主轴**(见 pedagogy §1 头等原则)。摸底给初判,之后每测一次就更新——从 `strong` 那块切入、把 `weak` 那块压到后面重点精讲。
|
|
53
|
+
- `lessons` 的 key 用 lesson 文件的相对路径(去掉 `references/lessons/` 前缀、去掉 `.md`),如 `cs229/01-supervised-learning-and-the-line`、`cs231n/03-lab-minimal-image-classifier`。
|
|
54
|
+
- `comprehension`:只有真测过才填;没测过填 JSON `null`(是字面量 `null`,不是字符串 `"null"`),别脑补。
|
|
55
|
+
- `next_recommended`:动态排课的结果,回归时用它接上(但仍给学生否决权)。
|
|
56
|
+
- `log`:一行一条流水,回归时能一眼看懂上次到哪。日期用真实当天日期。
|
|
57
|
+
|
|
58
|
+
## 注意
|
|
59
|
+
- 这是**单机本地**存档:将来别人装了这个 skill,各自机器上存各自的进度,互不干扰。
|
|
60
|
+
- 不往里存简历、隐私长文。这里只存"学到哪、懂多少"。
|