8.4 构建个人学习闭环
一个关键问题
上一节我们说"不必弄懂一切",这一节我们来说另一个同样重要的问题:当你决定要弄懂一个东西的时候,怎么做最高效?
Vibe Learning 不是"随便玩一玩就能学到东西"。它有一个清晰的操作闭环。掌握了这个闭环,你就能在每次 Vibe Coding 中系统性地学到新东西——不是被动地吸收 AI 的输出,而是主动地从每个交互中提取知识。
五步学习模型
提问 → 生成 → 阅读 → 修改 → 理解
这五步构成了一个完整的学习闭环。它不是线性的——你可以在任何一步循环或跳跃。但它的核心价值在于:前两步让你"用 AI 完成工作",后三步让你"从 AI 的工作中学到东西"。
第一步:提问
一切从你遇到了一个你不懂的问题或想实现的功能开始。
这个问题的质量直接决定了你能学到多少。好的问题是具体的——"帮我用 Python 写一个批量重命名文件的脚本"。差的问题是模糊的——"教我 Python 编程"。
好问题的特征:
- 发生在具体上下文中。 "我在做 X,需要做 Y,但我不知道 Z 怎么做"——这种带着上下文的提问,AI 能给出更精准的回答,而且你学到的东西可以在当前项目中立刻验证。
- 有明确的边界。 不说"教我用 React"——说"我要做一个数据表格,需要排序和筛选功能。用 React + TypeScript 实现,数据来自一个数组。"
- 你知道自己要什么。 不需要知道技术细节,但需要知道功能目标。你不需要会说"flexbox",但需要说"让卡片在页面中居中"。
提问的常见陷阱:
- 陷阱一:问题太大。 "帮我做一个电商网站"——AI 不知道从哪开始,你也不知道从哪学起。
- 陷阱二:问题太抽象。 "怎么学好编程"——AI 只能给泛泛的建议。
- 陷阱三:在自己的理解上过度自信。 "帮我用二分搜索法实现这个功能"——你可能不懂二分搜索,但装懂导致 AI 以为你有基础。
第二步:生成
AI 给出了代码或解释。
在这个阶段,你做一件事:先让它跑起来。 不要急着读代码、不要试图理解每一行——先运行,看结果是否符合预期。
为什么先跑起来这么重要?
因为"能跑"是最基础的验证。能跑通,就说明整体逻辑是正确的——语法没有错误、API 调用没有写错、基本的数据流是通的。在这个基础上,你再去读代码,面对的是一个"已知正确的代码",而不是一个"有可能是错的代码"。
跑不通怎么办?把报错贴回给 AI 让它修复。持续到能跑通为止。在学习之前,先确保"这是一段能用的代码"——否则你可能在花时间研究一段本身就有 bug 的代码。
这个原则听起来简单,但很多人会跳过它。他们直接开始读 AI 生成的代码,试图理解每一行的含义——但代码里可能有隐藏的 bug,他们的理解是建立在"有 bug 的基础"上的,反而造成了混淆。
先验证,再学习。 这个顺序不能变。
第三步:阅读——真的去读代码
这是最关键、也最容易跳过的一步。
AI 生成的代码跑起来了——大多数人会直接进入下一轮需求:"好,这个功能可以了,帮我做下一个。" 这很自然——你的目标是完成产品,不是学习。但如果你只做这一步,你只是在"用 AI 完成工作",不是在"学习"。
学习和不学习的区别,就在这一步:停下来读一读 AI 生成的代码。
读什么?
不需要读全部——只读你感兴趣的部分。注意这些地方:
AI 用了什么写法? 它的代码风格和你预想的一样吗?它有没有用一些你没见过的语法?它怎么组织代码的——是一个大函数,还是拆成了几个小函数?
它调了什么库? 它是不是用了某些你听说过但没用过的库?它怎么安装的?怎么导入的?
有哪些地方和你想的不一样? 如果你心里有个预想的实现方案,看看 AI 的实现和你预想的有什么区别。这个"差异"就是你学习的地方——你要么发现自己预想的不对,要么发现 AI 的写法更好。
阅读的时间预算:
不需要花 10 分钟读。30 秒到 2 分钟就够了——扫一眼整体结构,找到一两处你感兴趣或者有疑问的地方,标记它们。这样你至少知道了"这些代码大概在做什么"——下次看到类似的代码你就能认出来了。
第四步:修改
读完了,接下来做一件更关键的事:手动改一改它。
改什么都可以。 改变量的命名方式、加一段你写的注释、把函数拆成小的函数、改一个判断条件看结果怎么变、调整一个 CSS 属性看样式怎么变。
为什么手动改这么重要?
因为"改一下 → 看效果"是建立理解最有效的方式。读代码是被动接收信息——你读了,你觉得你懂了,但你真的懂了吗?只有当你改动了一行代码,并且准确预测了改动后的效果,你才真正理解它在做什么。
你是在 AI 生成的"正确代码"基础上做小实验——就像在实验室里做实验一样。即使改坏了,你也可以让 AI 重新生成。实验成本几乎为零。
一些具体的"修改实验":
- 改数值:把
maxLength: 10改成maxLength: 5,看 UI 限制变成了什么。 - 改条件:把
if (user.role === 'admin')改成if (user.role === 'user'),看权限效果变了没有。 - 删一行:删掉一段看起来"不重要"的代码,看功能会不会出问题。如果出问题了——你就知道这行代码是做什么的了。
- 改顺序:把两行代码的顺序换一下,看结果变了没有。如果变了——你就理解了执行顺序的重要性。
- 加一行:在关键位置加一行
console.log(),打印变量值,理解数据流。
修改的时间预算:
1 到 3 分钟。不需要改太多——改一处,确认你的理解正确,就足够了。
第五步:理解
修改的过程中你会有新发现:"原来这个地方改成这样会导致那种效果……"
这个"原来如此"的时刻,就是学习真正发生的时刻。你不需要背诵什么,不需要记笔记。只需要在脑子里确认——"现在我知道这个是怎么回事了"。
如何确认你真的理解了?
一个简单的方法:试着闭眼在脑子里重新走一遍代码的逻辑。 你能说清楚"输入是什么 → 经过了什么处理 → 输出是什么"吗?如果可以,你就理解了。
如果不行——说明你还没有真的搞懂。回到第三步或第四步,再读一遍或再改一处。
理解的层次:
- 第一层:知道"它做了什么"。 你能描述这个代码的功能,但说不清具体的实现细节。这是最低层次的理解——但大多数时候已经够用了。
- 第二层:知道"它怎么做到的"。 你能说清代码的执行流程、关键函数的作用、数据的流向。这是一般开发者应有的理解层次。
- 第三层:知道"为什么它这样实现"。 你能理解 AI 做某些设计选择的原因——为什么用这个模式而不是另一个?这个层次的理解需要你有一些背景知识,是最高层次。
在 Vibe Learning 中,第一层和第二层理解就足够了。第三层理解是你主动探索的结果,不是必须的。
一个完整的五步闭环示例
假设你在做项目时,AI 生成了一段代码,用了 Promise.all()——你听过这个但不了解它的具体用法。
第一步·提问: "帮我写一个函数,从 3 个不同的 API 获取用户信息、订单信息和商品信息,然后合并成一个对象返回。"(你有一个具体的问题,在真实项目上下文中。)
第二步·生成: AI 生成了代码,用到了 Promise.all()。你运行它——代码跑通了,返回了合并后的数据。确认"这是一段能用的代码"。
第三步·阅读: 你花 1 分钟读了一下代码。注意到 Promise.all() 接收一个数组,每个元素是一个 Promise,然后用 .then() 处理全部结果。你注意到 AI 用了 Promise.all([...]) 而不是三个独立的 await。
第四步·修改: 你把 Promise.all() 改成三个独立的 await,运行——代码仍然能工作,但稍微慢了一点(因为三个请求变成了串行)。你明白了——Promise.all() 让三个请求同时发出,比串行快很多。
第五步·理解: 你现在理解了:Promise.all() 是"并行执行多个异步任务,等所有任务完成后统一处理结果"的工具。你不仅知道它怎么用,还知道了它为什么比串行更高效。
五步走完,你花了不到 5 分钟。但你学到的东西比读半小时教程更牢固——因为在真实场景中用了、改了、验证了。
什么时候走完闭环,什么时候跳步
这个闭环不需要每轮都完整走一遍。有时候你不需要修改,只需要读懂它。有时候你读不懂,跳过阅读直接问 AI"解释一下这段代码"。
但有一个关键原则:不要连续跳过"阅读"和"修改"这两步超过三次。
为什么?因为如果你连续三次让 AI 生成代码、跑通、然后直接进入下一需求——你是在"使用 AI"完成工作,不是在"学习"。你所有的输入都流向了产品,没有流向你的知识体系。
这个原则像一个"学习税"——每三次 Vibe Coding 迭代中,你至少要有一次停下来读一读代码、改一改代码。交了这个"税",你的能力在提升。不交,你的效率只有短期收益,没有长期积累。
闭环的进阶技巧
当你熟练掌握了五步闭环之后,可以尝试这些进阶技巧:
技巧一:让 AI 帮你出练习题。 在你读完一段代码后,问 AI:"基于这段代码涉及的概念,给我设计一个小测试——修改一段代码来验证我是否理解了。" 这是把"被动学习"变成"主动验证"的最强方法。
技巧二:建立个人的"学习触发器"。 定义一些自动触发你进入"学习模式"的信号。比如:
- "AI 用了我没见过的 API" → 触发:停下来读 30 秒。
- "AI 做了一种我没想到的架构选择" → 触发:问 AI 为什么这么选。
- "AI 连续两次改错了同一个 bug" → 触发:深入读源码,理解根本原因。
技巧三:刻意制造"教 AI"的机会。 有时候,反过来教 AI 也是一种有效的学习方式。当你搞懂了一个概念后,尝试用你自己的话解释给 AI,让它评估你的理解是否正确。如果 AI 说"你的理解是对的",你的知识就得到了确认。如果 AI 纠正了你——你就学到了更多。
- Vibe Learning 的五步闭环:提问 → 生成 → 阅读 → 修改 → 理解。前两步是"用 AI",后三步是"学东西"。
- 最重要的原则:先验证(代码能跑)再学习(读代码)。不要研究有 bug 的代码。
- 最容易被跳过但最关键的是"阅读"和"修改"——让 AI 帮你完成工作只需要前两步,从中学到东西需要后三步。
- 阅读和修改的时间预算:30 秒到 3 分钟。不需要花大量时间——关键是持续积累。
- 闭环不需要每轮都完整走,但如果连续三轮跳过"阅读"和"修改",你就在"使用 AI"而不是"学习"了。
- 进阶技巧:让 AI 出题、建立学习触发器、刻意制造"教 AI"的机会。
在下一次 Vibe Coding 时,有意识地把"五步闭环"走完一遍:
1. 想好一个你要解决的问题(提问)
2. 让 AI 生成代码并运行确认(生成)
3. 停下来读一下 AI 生成的代码,至少读 5 行(阅读)
4. 手动改一个地方,看效果变了没有(修改)
5. 确认你理解了改动前后的差别(理解)
走完这五步之后,再做一个"深度练习":
回到你最近一次"完全跳过阅读"的 AI 对话——就是那种你直接让 AI 做完了功能,你没有停下来学习的机会。重新打开那段 AI 生成的代码,用"阅读+修改"两步走一遍:
1. 找出代码中 3 个你之前没注意的实现细节。
2. 修改其中一处的参数值,观察结果的变化。
3. 问自己:如果当时我停下来做了这件事,我现在会多知道什么?
这个"回顾性学习"的效果往往比实时学习更好——因为你在没有时间压力的情况下,可以更从容地深入理解。