AI学习prompt 汇总自用

学习方法可以总结成:

从“原始问题”出发的发明式学习法

它不是先背概念、背公式、背术语,而是把自己放到知识诞生之前,假装我们什么都没有,然后一步步问:

如果我是当时的人,我会先遇到什么问题?
我会怎么观察现实?
我会提出什么朴素规则?
这个规则哪里不够?
为了解决新问题,我又会发明什么?

也就是:

\[\boxed{\text{从问题出发} \rightarrow \text{观察现象} \rightarrow \text{提出规则} \rightarrow \text{发现缺陷} \rightarrow \text{改进模型}} \]


拿一个学习 Blinn-Phong 例子来说。

1. 不从名词开始,而从“问题”开始

普通学习方式经常是:

Blinn-Phong 是一种局部光照模型,由 ambient、diffuse、specular 三部分组成……

这种讲法一上来就把人打晕。

我们的方法是:

我们想画一个球。
但它现在像平面圆片。
怎么办?

于是问题变成:

怎么让一个物体看起来有立体感?

这样知识就有了入口。


2. 不先讲定义,而先讲现实观察

比如不直接说:

漫反射是光在粗糙表面上的均匀散射。

而是先观察:

白墙、纸、粉笔没有明显亮点。
镜子、金属、亮塑料有小亮点。

然后自然引出:

粗糙表面:光乱散开 → 漫反射
光滑表面:光集中反射 → 高光

这样术语不是硬塞进脑子里的,而是从现象里“长出来”的。


3. 每次只引入一个新变量

我们没有一开始就把 (N, L, V, R, H) 全部丢出来。

而是逐步增加:

第一步,只需要:

N = 表面朝向
L = 光源方向

于是得到:

\[N \cdot L \]

第二步,为了高光,引入:

V = 眼睛方向
R = 反射方向

于是得到:

\[R \cdot V \]

第三步,为了简化高光判断,引入:

H = 光源方向和眼睛方向的中间方向

于是得到:

\[N \cdot H \]

这种方法的核心是:

\[\boxed{\text{变量不是一次性出现,而是因为解决问题需要才出现。}} \]

这样每个符号都有来历,不会变成天书。


4. 每一步都先用人话,再用公式

我们不是直接说:

\[I = I_a k_a + I_l[k_d \max(N \cdot L,0)+k_s \max(N \cdot H,0)^m] \]

而是先说:

最终亮度 =
    保底亮度
  + 表面朝光产生的普通亮度
  + 光滑表面产生的小亮点

然后再翻译成公式:

\[环境光 + 漫反射 + 高光 \]

再进一步变成:

\[I_a k_a + k_d \max(N \cdot L,0)+k_s \max(N \cdot H,0)^m \]

也就是:

\[\boxed{\text{先建立直觉,再压缩成数学符号。}} \]

公式不是知识的起点,而是知识的压缩包。


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. 给这种方法起个名字

我觉得可以叫:

\[\boxed{\text{穿越式发明学习法}} \]

或者更严肃一点:

\[\boxed{\text{问题驱动的历史重建式学习法}} \]

再口语一点:

从零造轮子学习法

它的特点是:

不背定义,先找问题。
不硬吃公式,先看现象。
不跳步骤,每次只加一个概念。
不把知识当结论,而把知识当发明过程。

9. 用一句话总结

我们这种学习方法就是:

把一个成熟知识还原成它诞生前的样子,从最朴素的问题出发,像发明者一样一步步观察、犯难、提出假设、修补缺陷,最后让公式和概念自然长出来。

或者更简单粗暴地说:

\[\boxed{\text{不是学答案,而是重新走一遍答案被发明出来的路。}} \]

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. 阶段总结:说明这一步解决了什么,还剩什么问题。

重要限制:
- 每次只讲一个阶段。
- 不要一次性讲完整体系。
- 不要默认我懂相关背景。
- 不要用术语替代解释。
- 术语必须在直觉之后出现。
- 公式必须在问题和直觉之后出现。
- 如果我说“继续”,你再进入下一阶段。

现在开始讲:【主题】。
posted @ 2026-05-01 14:32  BATTAB  阅读(28)  评论(0)    收藏  举报