@DivyanshT91162: Andrej Karpathy 的整个声誉都建立在一个理念上:"只有当你从头开始构建它时,你才真正理解它…"
摘要
一条 Twitter 帖子讨论了 Andrej Karpathy 教学理念的讽刺之处——通过从头构建来学习——而现在他却在用 AI 编程,并分享了一段为期 3 周的学习历程,使用 Claude Opus 4.8 以老派方式掌握深度学习。
查看缓存全文
缓存时间: 2026/06/29 10:27
Andrej Karpathy 的全部声望都建立在同一理念上:
“直到你能从头构建它,你才算真正理解它。”
没有库。没有魔法。只有你、一个空白文件,和纯粹的数学。
讽刺的是:Karpathy 本人于 2026 年加入 Anthropic,如今承认他几乎不再手写代码了 —— 他让模型来写。
所以我闭合了循环。我用 Claude Opus 4.8 以“老 Karpathy 的方式”教我深度学习:徒手反向传播、micrograd、从零构建 GPT。
这样的 3 周顶过了 2 年的教程。9 个提示词。
提示词 1:徒手反向传播
Karpathy 说,一旦你能在纸上手动完成反向传播,一切就都豁然开朗。这个提示词逼迫你经历那个时刻。
“你是 Andrej Karpathy,从绝对的第一性原理教我反向传播,就用你在 micrograd 里教的方式。
不要使用任何库。 从单个神经元开始。
- 带我完成一次前向传播,用你可以跟随的具体数字。
- 现在手动完成后向传播 —— 逐步计算每个梯度,每次都解释链式法则,就好像我从未信任过它一样。
- 向我展示梯度“流动”的位置以及原因。
- 然后给我一个约 30 行纯 Python 的 Value 类,为 +、* 和 tanh 实现自动求导,并附带解释每一行为什么存在的注释。 最后给我一个小练习,用来测试我是否真的理解了。”
提示词 2:从零构建 Micrograd
Karpathy 的 micrograd 是一个约 100 行的完整自动求导引擎。重建它是必经之路。这个提示词引导你完成它,但不会直接给你答案。
“充当我的 Karpathy 式导师。我想自己构建 micrograd,而不是照抄。
引导我一步步用纯 Python 构建一个最小的自动微分引擎:
- 首先,让我设计 Value 对象的接口再展示你的 —— 问我它需要存储什么。
- 然后每次实现一个操作(+、*、pow、tanh/relu),每次之后,让我在你看答案前预测向后函数应该是什么。
- 为
.backward()构建拓扑排序,并解释为什么顺序很重要。 - 最后,在几个点上训练一个极小的 2 层 MLP,让我看到损失下降。 如果我的推理懒惰或含糊,要追问 —— 那正是关键。”
提示词 3:makemore 阶梯
Karpathy 通过从一个二元计数模型逐步爬升到神经网络来教授语言模型。这个提示词为你重现了那条阶梯。
“以 makemore 的方式教我语言模型 —— 从极其简单开始,每次只加入一个想法。
使用一个小数据集(比如一个人名列表)。
- 第 1 级:仅使用一个计数矩阵构建纯二元模型。向我展示它‘可行’。
- 第 2 级:用只有一个权重矩阵 + softmax 的极小神经网络重构同样的二元模型,并证明它们是等价的。
- 第 3 级:将上下文扩展到超过一个字符,并解释什么会出问题。 对于每一级,给出可运行的代码,告诉我它引入了什么新概念,以及什么限制迫使跳到下一级。不要跳过阶梯。”
提示词 4:从零构建 GPT
Karpathy 的“让我们构建 GPT”是传奇般的。这个提示词让 Claude 与你一起,按组件重构一个最小的 transformer。
“扮演 Karpathy,引导我用 PyTorch 从零构建一个最小的 GPT —— 但要让我理解每一个模块,而不只是粘贴它。
按这个顺序进行,每一步之后停下来解释直觉,再给代码:
- 词嵌入 + 位置嵌入 — 为什么两者都需要?
- 单个自注意力头 — 推导为什么使用 query、key、value,以及 softmax 在做什么。
- 多头注意力 — 为什么要分割成多个头?
- 前馈 + 残差 + 层归一化的组合 — 每个部分拯救了什么。
- 堆叠成块,在一个很小的文本文件上训练。 保持模型足够小,可以在笔记本上运行。构建完成后,问我 3 个问题来检查我是否真正理解了注意力。”
提示词 5:“像图表一样解释”训练
Karpathy 的天赋是将数学转化为心理图像。这个提示词让 Claude 把你卡住的概念变成这种形式。
“我被这个概念卡住了:[粘贴概念 — 例如注意力、层归一化、KV 缓存、梯度裁剪]。
用 Karpathy 的方式解释:
- 从该想法最傻的版本开始,以及为什么有人会想要它。
- 每次只增加一个部分,每一步都由一个具体问题驱动。
- 用文字把它描述成一幅画/图表 —— 什么在移动,什么在被乘,什么在流向哪里。
- 给出能孤立展示它的最小代码片段。
- 最后给我一句应该永远记住的话。 不要用术语,除非你立即将其解开。”
提示词 6:像 Karpathy 一样读代码
Karpathy 会逐行阅读真正的实现。这个提示词把任何令人生畏的仓库或代码片段变成一次导览。
“这里有我不完全理解的一段机器学习代码:[粘贴代码]。
像 Karpathy 在直播中读代码那样带我过一遍:
- 在讲任何细节之前,先给出一句话总结:‘这到底试图干什么’。
- 按逻辑块过一遍(不是逐行琐事)—— 对每一块,解释意图,而不仅仅是语法。
- 标记任何常见的习语或值得记住的技巧。
- 指出哪里是‘有趣’的部分,哪里是模板代码。
- 告诉我如果删除或更改每个关键部分会发生什么。 把我当作能够编码但尚未内化机器学习模式的人。”
提示词 7:从零挑战
Karpathy 相信通过重新实现而不是重读来巩固知识。这个提示词为你生成一个个性化的构建挑战。
“基于您说您刚刚学到的:[描述 — 例如‘我刚刚理解了自注意力’],为我设计一个从零开始的挑战,以证明我真正掌握了它。
给我:
- 一个具体的小构建任务,强制我使用该概念(不能是一个可以糊弄过去的玩具)。
- 一个空白的‘骨架’,包含函数签名和 TODO —— 但没有实现。
- 一个包含 4-5 个检查点的列表,以便我知道自己是否在正轨上。
- 大多数人在这里会遇到的特定 bug 或误解,以便我能识别它。 现在不要给我解决方案。 当我带着我的尝试回来时,再像 Karpathy 评审学生的 PR 那样批评它。”
提示词 8:调试我的小模型
当一个从零构建的模型学不会时,bug 通常是概念性的,而不是语法性的。这个提示词像 Karpathy 那样调试 —— 通过推理信号。
“我的从零模型行为异常:[描述 —— 损失为 NaN / 损失平坦 / 连一个批次都无法过拟合]。这是我的代码:[粘贴]。
用 Karpathy 的方式调试,而不是随机调整:
- 第一条原则:它能否过拟合单一批次?带我检查这一点,以及它能告诉我们什么。
- 推理根据我的代码梯度是否能流动 —— 指向确切的嫌疑行。
- 针对此症状,列出最可能的前 3 个根本原因,概率最大的排第一。
- 对于每一个,给出可以确认或排除它的一行检查。 只有在那之后才给出修复 —— 并解释底层原则,这样我再也犯同样的错误。”
提示词 9:间隔掌握地图
Karpathy 的课程按照深思熟虑的顺序构建,以确保没有含糊之处。这个提示词把你零散的学习转变成那种路径。
“这是我迄今学到的所有内容以及我感觉薄弱的地方:[列出主题 + 每个主题的置信度]。
扮演 Karpathy,从这里开始设计我的个人课程:
- 诊断哪些‘基础性’缺口在下游暗中导致了我的薄弱之处。
- 安排我接下来的 6 个学习步骤,确保每一步都只建立在我真正理解的东西之上 —— 没有跳跃。
- 对于每一步,给我应该构建的从零制品,用以证明我学会了。
- 告诉我 一个概念,一旦它豁然开朗,就会让其他几个概念迎刃而解。 如果觉得我还没学会走就想跑,请如实相告。”
相似文章
@Zephyr_hg: Andrej Karpathy:"如果我不能构建它,我就不理解它。"在一场2小时的访谈中,这位推动大量现代AI发展的研究者…
Andrej Karpathy强调,真正的AI理解来自构建,而非收集提示词,在一次2小时的访谈中。
@0xMortyx: OpenAI联合创始人安德烈·卡帕西:"你真的需要投入一万小时才能学会使用Claude" 来自Goa的11分钟工作坊…
安德烈·卡帕西在一次工作坊中分享了他使用AI的简单方法:只需用平实的语言告诉机器你想要什么,无需复杂的提示或框架。视频展示了他的实际工作流程。
@k1rallik: > 是 Andrej Karpathy > 出生于斯洛伐克,15岁移居加拿大 > 15岁开始编程,立刻沉迷 > 成为 YouTube…
Andrej Karpathy 已加入 Anthropic,负责预训练研究,延续其在 OpenAI、特斯拉和斯坦福等机构的人工智能影响力职业生涯。
@rewind02: 安德烈·卡帕斯花了2小时解释大多数AI教育者不会告诉你的——关于当AI接管知识工作时人类会发生什么…
安德烈·卡帕斯讨论了当前AI模型的局限性,强调人类技能培养比外包思考更重要,以及他受星际迷航学院启发的新教育平台愿景。
@zostaff: Andrej Karpathy 花费 20 年用手写代码。然后他改用 Claude Code。一周后他发布了所有出问题的地方……
一组源自 Andrej Karpathy 使用 Claude Code 经验的规则迅速走红,在 3 个月内累积了 14.5 万 GitHub 星标,提供了改善 AI 编码代理行为的指导准则。