AI学习prompt 汇总自用
学习方法可以总结成:
从“原始问题”出发的发明式学习法
它不是先背概念、背公式、背术语,而是把自己放到知识诞生之前,假装我们什么都没有,然后一步步问:
如果我是当时的人,我会先遇到什么问题?
我会怎么观察现实?
我会提出什么朴素规则?
这个规则哪里不够?
为了解决新问题,我又会发明什么?
也就是:
拿一个学习 Blinn-Phong 例子来说。
1. 不从名词开始,而从“问题”开始
普通学习方式经常是:
Blinn-Phong 是一种局部光照模型,由 ambient、diffuse、specular 三部分组成……
这种讲法一上来就把人打晕。
我们的方法是:
我们想画一个球。
但它现在像平面圆片。
怎么办?
于是问题变成:
怎么让一个物体看起来有立体感?
这样知识就有了入口。
2. 不先讲定义,而先讲现实观察
比如不直接说:
漫反射是光在粗糙表面上的均匀散射。
而是先观察:
白墙、纸、粉笔没有明显亮点。
镜子、金属、亮塑料有小亮点。
然后自然引出:
粗糙表面:光乱散开 → 漫反射
光滑表面:光集中反射 → 高光
这样术语不是硬塞进脑子里的,而是从现象里“长出来”的。
3. 每次只引入一个新变量
我们没有一开始就把 (N, L, V, R, H) 全部丢出来。
而是逐步增加:
第一步,只需要:
N = 表面朝向
L = 光源方向
于是得到:
第二步,为了高光,引入:
V = 眼睛方向
R = 反射方向
于是得到:
第三步,为了简化高光判断,引入:
H = 光源方向和眼睛方向的中间方向
于是得到:
这种方法的核心是:
这样每个符号都有来历,不会变成天书。
4. 每一步都先用人话,再用公式
我们不是直接说:
而是先说:
最终亮度 =
保底亮度
+ 表面朝光产生的普通亮度
+ 光滑表面产生的小亮点
然后再翻译成公式:
再进一步变成:
也就是:
公式不是知识的起点,而是知识的压缩包。
5. 用“缺陷驱动”推动知识前进
这点很关键。
我们不是平铺直叙地介绍一个又一个概念,而是每一步都让旧方法暴露问题。
比如:
一开始只有颜色
问题:不像立体物体。
于是发明漫反射。
只有漫反射
问题:像粉笔球,没有亮塑料/金属的小亮点。
于是发明 Phong 高光。
Phong 高光
问题:每次要算反射方向 R,有点麻烦。
于是发明 Blinn-Phong 的半程向量。
这个节奏是:
旧方案能解决一部分问题
→ 但它有缺陷
→ 新方案针对缺陷出现
这会让知识非常顺滑,因为你不是在背“谁提出了什么”,而是在看“为什么必须出现下一个东西”。
6. 把自己放在发明者的位置
这其实是最核心的。
不是站在现代教材后面看答案,而是站在历史现场:
如果我们现在只能画一个平面圆,怎么办?
如果我们发现真实物体有明暗,怎么办?
如果我们发现光滑物体有亮点,怎么办?
如果反射方向不好算,怎么办?
这种学习方式会让你感觉:
这个知识不是别人告诉我的,而是我自己跟着问题推出来的。
这会极大降低抽象概念的陌生感。
7. 这套方法的通用模板
以后学任何技术,都可以按这个模板来:
1. 这个东西要解决什么原始问题?
2. 没有它之前,人们怎么做?
3. 旧方法哪里不够?
4. 为了解决这个缺陷,引入了什么新概念?
5. 新概念背后的直觉是什么?
6. 它的最小模型/最小公式/最小代码是什么?
7. 它还有什么局限?
8. 后续技术是如何继续改进它的?
对于计算机领域,尤其好用。
比如学:
TCP:
为什么需要可靠传输?
UDP 为什么不够?
丢包怎么办?
乱序怎么办?
拥塞怎么办?
Redis:
为什么内存数据库快?
字符串怎么存?
hash table 冲突怎么办?
rehash 怎么做?
持久化为什么需要 RDB/AOF?
Transformer:
RNN 有什么问题?
为什么需要 attention?
Q/K/V 是为了解决什么?
为什么要 multi-head?
为什么要 positional encoding?
8. 给这种方法起个名字
我觉得可以叫:
或者更严肃一点:
再口语一点:
从零造轮子学习法
它的特点是:
不背定义,先找问题。
不硬吃公式,先看现象。
不跳步骤,每次只加一个概念。
不把知识当结论,而把知识当发明过程。
9. 用一句话总结
我们这种学习方法就是:
把一个成熟知识还原成它诞生前的样子,从最朴素的问题出发,像发明者一样一步步观察、犯难、提出假设、修补缺陷,最后让公式和概念自然长出来。
或者更简单粗暴地说:
Prompts
1、
我想用“从原始问题出发的发明式学习法”来学习这个主题。
请不要一上来给我定义、术语、公式或完整结论。请把这个知识还原到它诞生之前,假设我们穿越到当时,还不知道现代答案,只能从最朴素的问题开始一步步探索。
讲解时请遵守以下方式:
1. 先提出这个知识最初要解决的原始问题。
例如:没有它之前,人们遇到了什么困难?为什么需要它?
2. 从现实观察、工程需求或直觉现象开始讲。
不要先堆概念,要先让我看到“为什么这个问题存在”。
3. 每次只引入一个新概念或一个新变量。
引入之前,先说明旧方案解决了什么,又在哪里不够。
4. 使用“缺陷驱动”的方式推进:
旧方案 → 解决了一部分问题 → 暴露新缺陷 → 引入新方案。
5. 先用人话建立直觉,再压缩成术语、公式、代码或标准定义。
公式和术语应该作为最后的总结,而不是起点。
6. 多用具体场景、类比、小例子、过程模拟。
我希望像一个发明者一样,重新走一遍这个知识被发明出来的路。
7. 不要一次性讲太多。
请分阶段推进,每一阶段只解决一个核心问题。讲完一阶段后,可以暂停,等我说“继续”再进入下一步。
8. 如果涉及数学、代码或底层机制,请尽量解释每个符号、变量、函数、步骤背后的含义。
不要默认我已经知道相关背景。
9. 最后再给出:
- 这个概念的正式定义
- 它解决了什么问题
- 它的局限
- 后续技术为什么会继续改进它
现在请用这种方式带我学习:【这里填你要学的主题】。
2
我是一名计算机专业学生,喜欢从底层、本质、历史发明过程来理解技术。
请用“穿越式发明学习法”带我学习【主题】。
要求如下:
1. 不要直接从定义、术语、公式开始。
先假设这个技术还没有被发明,我们站在它诞生之前,从最原始的问题开始。
2. 先问:
- 如果没有这个技术,会遇到什么问题?
- 最朴素的解决办法是什么?
- 这个朴素办法哪里不够?
- 为了解决这个缺陷,必须引入什么新机制?
3. 按“旧方案 → 缺陷 → 新方案”的节奏推进。
每一步都要让我知道:新概念为什么非出现不可。
4. 每次只引入一个关键变量、结构、机制或公式。
不要一次性把完整体系倒给我。
5. 先用人话和具体例子建立直觉,再给出专业术语、数学表达、代码实现或系统结构。
6. 如果有公式,请解释每个符号为什么存在。
如果有代码,请解释每一行在解决什么问题。
如果有底层机制,请从数据、内存、比特、指令、网络包、调用链等角度解释。
7. 尽量使用过程模拟:
例如“某个请求进来以后发生了什么”“一个字节如何被处理”“一个数据结构如何一步步变化”。
8. 不要急着总结升华。
我更关心:这个东西为什么会被设计成这样,它解决了什么,牺牲了什么,还有什么没解决。
9. 每讲完一个阶段,请停下来确认我是否继续。
我说“继续”后,再进入下一阶段。
现在请用这种方式讲解:【主题】。
3、
请严格按以下教学方式回答:
我不想要百科式解释,也不想一上来看到一堆术语、公式和结论。
请把【主题】还原成一个“尚未被发明的问题”。你要像带我穿越到这个技术诞生之前一样,从最朴素的困难开始,让我看到人们为什么需要它。
你的讲解顺序必须是:
1. 原始场景:没有这个技术时,我们正在做什么?
2. 原始问题:我们遇到了什么具体困难?
3. 朴素方案:不用现代术语,先想一个最直觉的解决办法。
4. 暴露缺陷:这个办法为什么不够?
5. 新变量/新概念:为了解决这个缺陷,引入一个新东西。
6. 人话解释:先不用公式,把它讲成直觉。
7. 形式化表达:再给出术语、公式、代码或结构图。
8. 小例子验证:用一个具体例子跑一遍。
9. 阶段总结:说明这一步解决了什么,还剩什么问题。
重要限制:
- 每次只讲一个阶段。
- 不要一次性讲完整体系。
- 不要默认我懂相关背景。
- 不要用术语替代解释。
- 术语必须在直觉之后出现。
- 公式必须在问题和直觉之后出现。
- 如果我说“继续”,你再进入下一阶段。
现在开始讲:【主题】。

浙公网安备 33010602011771号