停止让 AI 为你写代码。让它像对5岁孩子解释一样解释。
Source: Dev.to
Introduction
我每天都在使用 AI 工具——大多数人也是如此。把 AI 当作拐杖和把它当作大脑的火箭助推器之间有着巨大的差别。
一开始,当我在一个难概念上卡住时,我会把问题粘贴到 ChatGPT 并请求答案。它给了我可运行的代码,我感觉自己高效了几分钟。
但随后我意识到一件可怕的事:如果 AI 明天消失,我根本不知道该如何自己解决问题。我把自己的理解外包了。
The Feynman Technique Meets AI
费曼技巧(Feynman Technique)以物理学家理查德·费曼命名,原则很简单:在你能够用初学者(或五岁儿童)能懂的方式解释清楚之前,你并没有真正理解一个复杂的主题。
AI 在生成复杂技术文档方面非常擅长,但它在生成极其简单的类比方面更是得心应手。于是我不再让 AI 为我完成工作,而是把它当作世界上最有耐心的导师来使用。
The “Aha!” Moment: Python Lists and Zippers
最近我在看一些涉及列表推导式和 zip 函数的 Python 代码:
def mulTable(n):
return [n * i for i in range(1, 11)]
l1 = mulTable(3) # [3, 6, 9, ...]
l2 = mulTable(6) # [6, 12, 18, ...]
# The confusing part:
s = [x + y for (x, y) in zip(l1, l2)]
标准的文档搜索会把最后一行解释为:“列表推导式遍历 zip 对象生成的元组,根据对应的索引聚合元素。”这虽然准确,却不容易在脑海中留下印象。
于是我改了提示,问 AI:“像我五岁一样解释这段代码。” 解释彻底改变了我对数据的可视化方式。
The ELI5 Explanation
AI 没有说“遍历元组”,而是讲了一个关于篮子和拉链的故事:
- 想象
l1和l2是装满编号球的两个长篮子。 zip命令就像夹克的拉链。它把两个篮子并排拉在一起。- 它取出篮子 A 的第一个球和篮子 B 的第一个球并把它们压在一起(相加)。
- 然后向下移动,拉上下一对,直到得到一个全新的篮子。
突然间代码不再抽象——它变得可视化了。我能够“看到”拉链把两个列表拉在一起的过程。
How to Make This Work for You
在学习新框架、语言或算法时,不要只问“怎么做”。要请求一个类比。
Prompt Ideas
- “用关于集装箱运输的类比解释 Docker 与 Kubernetes 的区别。”
- “像幼儿园小朋友堆积木一样解释递归。”
- “不要给我代码。给我一个真实世界的例子,说明为什么我会使用链表而不是数组。”
AI 不会取代真正理解自己手艺的开发者。能够利用 AI 加深理解的开发者将取代那些只会复制粘贴的人。
如果使用得当,AI 可以成为你最好的导师,教会你任何东西——前提是使用了正确的提示!