用 AI 学新库,掌握度掉到 40%:重做输入、加工、留存

0 阅读28分钟

我本地躺着 71 篇 DDD 专栏 Markdown:《DDD实战课》26 篇、《手把手教你落地DDD》45 篇,geektime-dl 导出的。

下载完那一刻的感觉很像学会了。这两件事之间没有因果关系——不做加工和检索,它们就只是 71 个文件。我能验证:随时能打开,但我说不出一个订单聚合的边界该划在哪一层。

同期 Anthropic 那份对照实验(2026 年初):52 名开发者学陌生的 Python 异步库 Trio,用 AI 的那组随后测验平均 50 分,手写组 67 分;AI 组只快约 2 分钟,不具统计显著性。

两个事实指向同一件事:拿到答案的成本被打下来了,把答案变成自己能力的成本没有。更麻烦的是,答案太好拿,我们连「我哪里不会」都问不出来了。

本文给的是我重做之后的流程:输入、加工、留存三段,每段一个能照抄的产物——文件、提示词、一周一次的日程。

先把证据边界划清楚

这条必须写在前面,因为下面两个数字最容易被转述走样。

  • 17% 这个差距的口径是:52 名参与者(多为初级 Python 开发者)、单次任务约 1 小时、测的是任务结束后的即时理解。它不等于「长期使用 AI 会让你的能力下降 17%」。长期技能形成没有数据,谁说有就是在编。
  • 6 种交互模式的分档来自 51 名参与者的录屏质性分析,是相关性,不是因果实验。 研究者自己也这么说。所以后面我不会写「用了追问型问法就一定得高分」,只写「高分档里的人都在做这几件事」。
  • Roediger & Karpicke 的实验材料是散文段落,不是编程技能。 迁移到技术学习上,是我的判断加我自己的做法,不是工程师样本的实测结论。
  • 极客时间 + ima 这套工具链是我自己的选择,不是通用最优解。 后面会给判断标准,你可以换成任何满足同样条件的工具。
  • 本文没有虚构的收益百分比,没有虚构的读者留言和线上事故。所有「跑过」的描述都是我本机真实存在的目录和脚本。

划完边界,剩下的部分才谈得上可信。

答案变得几乎免费,被抬高的代价是什么

先看一组行业侧的数字,它们解释了为什么这件事现在必须处理。

Stack Overflow 2025 年 12 月的提问量是 3,862 个,同比下降 78%;2014 年的月峰值超过 20 万个。 同期 Stack Overflow 2025 开发者调查里,84% 的开发者正在使用或计划使用 AI 工具,2024 年这个数字是 76%。提问量不等于学习量,下降里也有社区治理的因素,但方向很清楚:公开提问这个动作正在消失。

这个动作消失的代价,比多数人以为的大。

在 Stack Overflow 上提问是被迫的:你得写清楚环境、能复现的最小步骤、已经试过什么、报错的完整信息。很多人为了不发一个会被踩的蠢问题,会在发布前自己再查一遍——这一遍就是加工。现在这个加工步骤被跳过了,你直接问 AI,AI 直接给答案,中间没有那一步。

而且 AI 给的答案质量通常还挺高,高到你不会怀疑自己没懂。

宏观侧的压力同时也在加:世界经济论坛《2025 年未来就业报告》(覆盖 55 个经济体、1000+ 家企业)显示,雇主预计到 2030 年有 39% 劳动者的核心技能会改变(2023 年版是 44%);已完成长期学习策略下培训的员工占比从 2023 年的 41% 升到 50%。数字是雇主预期调查,不是实测,中国样本也没单独披露,但它至少说明一件事:持续学习已经从个人选择变成岗位要求,而岗位要求不会因为你用了 AI 就降低。

于是学习这件事的成本结构变了:

环节AI 出现之前AI 出现之后
找到答案贵:搜、筛、试、问接近免费
判断该问什么中等:被提问流程逼着做变贵:没人逼你了
把答案变成能调用的能力一直很贵依然很贵,且更容易被跳过

要重做的是后两行,不是第一行。这是本文的唯一论点,后面三段都是它的具体化。

实验里真正拉开差距的,不是用不用 AI

同一份 Anthropic 研究里有一个比「50 分 vs 67 分」更有用的发现。研究者把参与者和 AI 的交互分成 6 种模式,得分分成两档:

交互模式测验得分档具体在做什么
完全委托代码生成<40%把需求丢给 AI,拿到代码直接用,不看过程
渐进式依赖<40%先自己写,越到后面越直接让 AI 补全
迭代式 AI 调试<40%报错就贴给 AI,拿到修复就跑,不看原因
只问概念问题65%–86%让 AI 解释概念,代码自己写
生成时要求解释65%–86%让 AI 写代码,但要求同步解释每一段为什么
生成后追问65%–86%AI 给完代码后,追问为什么这么写、什么情况会挂

分差最大的题型是调试题。这个细节很重要:调试题考的不是记不记得 API,考的是你能不能从现象反推原因——而这正是被 AI 代劳掉的那一步。

研究者还有一个更扎人的观察:对照组(手写组)遇到的 Trio 特定错误(TypeError、RuntimeWarning)更多,被迫自己排查的次数是 AI 组的 3 倍。 研究者把理解差距归因到 cognitive effort 上——那段「痛苦地卡住」不是效率损失,它本身就是理解形成的机制。

还有一个反直觉的细节值得单说:AI 组并没有显著更快,平均只快约 2 分钟;有人光写提示词就花了 11 分钟,占可用时间的 30%。 也就是说,委托型用法在很多情况下连「省时间」这个唯一的理由都不成立。

三种 AI 用法对应的掌握度分档:委托型低于 40%,追问型与手写组在 65% 到 86%

图里那条「委托型 → <40%」的箭头,对应的就是这三件事:不看过程、不看原因、不自己排错。而高分档的三种模式有一个共同点——都要求 AI 输出「为什么」,而不只是输出「是什么」。

这句话后面会变成可直接复制的提示词。

三段法的骨架

我把流程拆成输入、加工、留存三段,每段只有一个硬产物。产物是判断这段有没有真做过的最低标准——做完了但没产物,等于没做。

输入加工留存三段闭环:每段一个硬产物,答不上来的问题回流成新输入

  • 输入 → 产物:questions.md,只存我现在解释不清的问题。
  • 加工 → 产物:一次追问记录(AI 的回答 + 我自己先写的答案 + 判分)。
  • 留存 → 产物:一周后的自测结果,以及答不上来的问题自动进入 topics.md 选题池。

那条从「留存」回到「输入」的反馈边是这套方法唯一的设计要点:答不上来的问题不只是待办,它就是下一篇要写的东西。 写作会逼着你把一条因果链补齐,这是我知道的最强的留存手段——我 2021–2023 年在公众号写了 40+ 篇 Redis 系列文章,第 3 年出了《Redis 高手心法》,那本书基本是那些文章的副产品。写作不是成名手段,它是检索练习的一种高强度形式。

第一段:输入 —— 先生产问题,而不是先收答案

输入段做三件事:固定信源、单一收件箱、先写问题再找答案。

固定信源:让一个付费专栏当课程表

我的当前信源是极客时间的两个 DDD 专栏,导出成本地 Markdown:

~/Documents/magebyte/pay-columns/DDD/极客时间/
├── DDD实战课/articles/           # 26 篇
├── 手把手教你落地DDD/articles/   # 45 篇
├── questions.md                  # 只存问题,不存答案(新建)
└── topics.md                     # 选题池,答不上来的问题进这里(新建)

固定信源解决的是「今天学什么」的决策成本。一个专栏有大纲、有顺序、有终点,它是现成的课程表;而「随手收藏一篇」没有终点,你永远不知道学完了没有。71 篇是一个可数、可推进、可完成的目标,收藏夹不是。

选信源的标准只有一条:它应该有一半内容是你现在看不懂的。 全是已知的,你只是在复习;全是未知的,你会过载(后面「失败边界」会讲)。

单一收件箱:碎片只准落在一处

所有来源的碎片,包括公众号文章的截屏、同事说的一个词、报错信息、AI 给出的某个说法,先落到同一个文件里,不做分类、不做整理、不做归档。分类是加工段的活,输入段做分类会把「收集」和「思考」混在一起,两件都做不好。

我的做法是所有碎片先进 questions.md 的「待处理」区,每周一次清空。

不在输入段做分类,是因为分类这个动作会消耗掉你唯一有限的那一口气。给一条碎片想「这个该归到数据库还是架构」的时候,你的大脑已经在做整理而不是在提出问题;而整理出来的目录结构,最后通常是给收藏夹陪葬的。分类留到加工段去做——那时候你已经知道这条碎片和哪个问题有关,归类是一个有依据的判断,不再是猜。

先写问题再找答案

这是输入段唯一有难度的一条,也是最容易被跳过的一条。

在读某一篇之前,先把「我现在解释不清什么」写下来,再去读。 顺序不能反。反过来做的话,你是带着一篇已经读过的材料去凑问题,凑出来的问题都已经被材料回答过了,检索练习就失效了(原因见留存段)。

questions.md 的格式我用的是这样:

# questions.md

## 2026-09-29 · DDD-实战课-第 8 讲
- [ ] 一个「订单 + 订单项」的结构里,聚合根应该是订单还是订单项?判断依据是什么?
- [ ] 限界上下文和微服务是 1:1 吗?如果不是,什么情况下该把它们拆开?
- [ ] 领域事件的消费方,算不算同一个限界上下文?

## 待处理(碎片,未成形)
- 同事提到「事务边界不要跨聚合」,当时没接上话 —— 为什么?

三条硬规则:

  1. 只写解释不清的问题,不写答案。 这条看起来最反直觉,理由是双重的:答案会过期,而问题不会——「聚合根边界该划在哪」这个问题三年后依然成立,它的答案可能已经变了;更关键的是,一旦答案和问题写在一起,你下次翻到它会读到答案,大脑把「认得这段文字」当成「我会了」,这正是 Roediger & Karpicke 实验里重复阅读组自信度更高、回忆率更低的那件事。问题池必须保持纯净,答案留在加工记录里。
  2. 每题不超过两行。 写超了说明你其实还没想清楚到底卡在哪一步,回到材料去。
  3. 一周内没被回答、也没被想起的问题,直接删掉。 它不重要。删掉它的动作本身就是在给信源打分。

第二段:加工 —— 把 AI 从答案机器改成追问机器

输入段产出了问题,加工段的目标是把这些问题交给 AI,但拿回的不是答案,是更多的问题。

下面三个模板,分别对应实验里高分档的三种模式:只问概念、生成时要求解释、生成后追问。第三个「让 AI 审我」是我加的,它把检索练习直接塞进了加工段。

模板 1:概念提问(对应「只问概念」档)

适用场景:你拿到了一个新术语,看了一眼定义,感觉懂了——这时候最危险。

我在学 DDD,目前只知道「聚合根」这个词的字面定义,没有用过它。

请回答,控制在 200 字以内:
1. 先给一个「不用聚合根就会出具体问题」的场景,场景里要有调用顺序或数据结构,
   不要只说「会导致数据不一致」这种抽象后果。
2. 再说明它解决的是哪一类一致性问题,指出是哪一段代码之间的约束。
3. 最后给我一个这个阶段的初学者大概率会误解的点。

要求:不要用「总的来说」这类总结句结尾;如果某个说法在业界有争议,直接说有争议,
不要把一种做法写成标准答案。

第三条要求是关键。AI 默认会给一个平滑的、无争议的答案,而争议点才是你真正需要记住的部分——因为那是判断力的位置,不是知识的位置。

模板 2:生成时要求解释(对应「生成时要求解释」档)

适用场景:你确实要让它写代码,而且代码是要用的。

帮我实现:<你的需求>。

输出规则:
1. 分段输出。每一段先写「这段代码要满足的约束」一到两句话,再写代码。
2. 遇到你自己不确定的 API 行为或版本差异,直接写「这里我不确定,需要你验证」,
   不要猜一个写法填进去。
3. 写完后单独给一节「这次实现里你可能没注意到的两个风险」,
   每个风险要能对应到具体某一行。

不要给我一份可以直接复制走的实现而不解释。

第 2 条最有价值。AI 默认行为是补全,而补全出来的 API 签名经常是幻觉。让它显式标注不确定,等于把「我需要验证的点」变成了你自己的检索清单。

模板 3:生成后追问(对应「生成后追问」档)

适用场景:AI 已经给了实现,你准备接受它。这个模板就是那一步的刹车。

这是你刚给我的实现:

<粘贴代码>

我不打算直接改它。请依次回答:
1. 第 N 行为什么必须这么写?如果我把它删掉,会发生什么具体后果(报什么错、数据错在哪)?
2. 这段代码在什么输入下会出错?给我一个能触发它的最小输入。
3. 如果我把并发量提高一个数量级,哪一行先出问题,为什么是它?
4. 最后,出一道能用这段代码考我的题。我先把答案写给你,你再判我对不对,
   不对的地方直接指出我错在哪一步推理上。

第 4 条把加工段和留存段接上了:AI 出的题,就是一周后自测的题源。 而且顺序是「我写答案 → AI 判」,不是「AI 给答案 → 我看」。

模板 4:让 AI 审我(我写,AI 判)

这个不在实验的六种模式里,是我自己加的,也是四个模板里最累的一个。

下面是我对「<某个概念>」的理解,是我自己写的,不是你生成的:

<粘贴你自己写的一段理解>

请做三件事,不要复述我说的话:
1. 逐条指出其中的事实性错误,每条给一个反例。
2. 指出哪些地方我只是在复述术语、并没有解释机制(这种地方我其实没懂)。
3. 给我一个「我的这个理解会失效」的具体场景。

最后给一个判断:这段理解如果在代码评审里说出来,会被追问哪两句?
如果那两句我答不上来,直接说明我缺的是哪一条因果链。

注意输入是你自己先写的东西。这一步不能被跳过——AI 审的是你的理解,如果那份理解是 AI 写的,审的就是它自己,什么都审不出来。

写不出来怎么办?写不出来本身就是结果:说明你还没懂,回去读材料。这是这套流程里唯一一个「做不出来也是有效产出」的环节。

四个模板在做同一件事

把上面四段提示词摆在一起看,它们有个共同结构:都把「产出答案」换成了「逼出一次主动输出」。

  • 模板 1 要求先给场景和反例,是因为抽象结论无法被检验;有了场景,你才能判断自己是不是真的会用。
  • 模板 2 要求 AI 标注不确定,是把「我该验证什么」这个判断留给你。
  • 模板 3 要求出一道考你的题,是把加工段的终点接到留存段的起点上。
  • 模板 4 要求 AI 判你写的东西,是把「我有没有真的懂」变成一次可被否定的输出。

这四件事都对应实验里那个归因:理解差距来自 cognitive effort。委托型用法之所以掉到 40% 以下,不是因为 AI 给的代码不好,而是因为整个过程中你没有产生过一次主动输出——没有猜、没有判断、没有错过。

一个提醒:模板 3 的第 4 条(「出一道考我的题」)是最容易被跳过的,因为它看起来最没用,AI 出题你又不会当场做。但它是四个模板里唯一一个自带间隔的——那道题会在一周后的自测里等你。不做这条,加工段和留存段就断了。

加工段的三条硬约束

  1. 先自己写一遍,再看 AI 的回答。 顺序反了,你只是在校对,不是在检索。
  2. AI 的回答不进 questions.md,只进加工记录。 questions.md 是问题池,保持纯净,否则它会退化成笔记库。
  3. 一次只加工一个问题。 我自己的毛病是打开对话框就想一口气问五个,问完五个都记不住。这是个人习惯层面的观察,不是实验结论。

为什么「建了知识库」不等于解决了留存

在讲留存段之前,得先把一个几乎所有人都会踩的混淆拆开。技术人这两年建了各种库:收藏夹、Notion、Obsidian、ima、AI 自动生成的读书笔记。这些投入不是没用,但它们各自只解决一半的问题。

「找得到」和「想得起来」是两件事。 前者是外部存储问题,靠工具解决,而且工具已经解决得很好了——语义检索能按意思找到一段你三个月前写的笔记,这件事在以前做不到。后者是你大脑里的检索路径问题,靠的是你自己成功取出过多少次,工具帮不上忙。

我那个 71 篇 DDD 的状态就是典型的「找得到但想不起来」:检索「聚合根」能出结果,白纸写不出来。所以下面这些判断要分开看:

常见做法解决的是哪一半剩下的那一半怎么办
收藏 / 稍后读都没解决,只解决了「不丢」收藏夹里没有一条是你自己的问题
建知识库、做标签和分类找得到分类做得越好,大脑越不需要参与,留存反而更低
让 AI 帮你总结一篇长文找得到,且省时间总结不是你写的,你的检索路径没有经过它
重复读自己的笔记只增加熟悉感换成合上笔记写一遍
写成文章 / 讲给别人听两半都解决成本最高,所以只留给答不上来的问题

表格最后一行解释了我为什么把「答不上来的问题直接变成选题」放在流程末端而不是开头:写作的留存效果最强,但成本也最高,只有值得的问题才配用它。

第三段:留存 —— 留存靠检索,不靠重读

这一段是大多数人整个流程里完全缺失的一段。

Roediger & Karpicke (2006) 发表在 Psychological Science 17(3):249-255 的实验:学习一段材料后,重复阅读 4 次的一组,一周后回忆率约 40%;学习 1 次 + 自由回忆测试 3 次的一组,约 60%。 更值得记住的是第二个发现:重复阅读组对自己记忆效果的自信度更高。

翻译成工程师的语言:读第四遍的时候你会有一种「这个我熟」的感觉,那感觉是熟悉感,不是调用能力。熟悉感来自重复接触,调用能力来自成功取出。这两件事在大脑里不是同一套机制。Adesope 等人在 2017 年对 118 项研究做的元分析给出的效应量是 Hedges' g = 0.51,属于中等偏上——不是玄学。

Bjork 的 desirable difficulties 框架解释了为什么这样反而更难:在练习中增加适度难度(间隔、交错、检索)会提升长期保持和迁移,但会拉低练习当时的表现,而且学习者普遍误判它无效(Schmidt & Bjork 1992;Kornell & Bjork 2007/2008)。所以你会觉得这套流程让你变笨了,这是预期内的,不是方法错了。

落到具体动作上,一周一个循环:

一周留存回路:合上材料回忆、写三个问题、检索自测、答不上来的转下一篇选题

步骤 1:合上材料,做自由回忆

读完一篇或者做完一次加工之后,关掉所有窗口,在空白文件里写:这一篇讲了什么、我能复述出哪几条、哪一条我说不完整。

不要翻材料。翻了这一步就没了。写不出来的部分不用补——留白就是自测题。

步骤 2:写出 3 个「下周我还会答错」的问题

从留白里挑 3 个写进 questions.md,打上时间戳。这三个问题的标准不是「重要」,而是**「下周我大概率还是答不上来」**。

挑重要但你已经会的题,等于骗自己。

步骤 3:一周后,检索回自己的笔记做自测

一周后,用 ima 的语义检索把我自己写的笔记调出来,但检索是为了定位笔记,不是为了看答案。检索到那一段之后,合上检索结果,先把答案写出来,再打开对照。

我的库是这么建的:公众号写过的文章和配图,用 wechat-column/.workbuddy/sync-to-ima.cjs 增量同步进 ima 的「码哥跳动公众号」库;DDD 那 71 篇专栏 Markdown 是单独上传进去的,目录用可读中文命名。两拨内容在同一个账号下,检索时能一起被调出来。同步用的是这条命令:

node .workbuddy/sync-to-ima.cjs --kb-id <知识库ID> --root /path/to/wechat-column

这个脚本的三个特性决定了它适合放在这一步:

  • 断点续传:state 文件里记录已上传的相对路径,重跑同一条命令接着传,不用记传到哪了。
  • 频控与重试:遇到频控错误码 200001 做指数退避重试;遇到 220021(每日配额)当天跑不下去,停在那儿,第二天接着跑。
  • 目录层级编码:上传用的显示名是相对路径把 / 换成 __,层级没有丢(articles/092-xxx.md 进去还是能看出它在哪一层)。

顺便说清它的范围:这个脚本只扫 articles/*.md 和 images/ 下的图片,DDD 那批专栏文件不在它的扫描范围里,是单独传的。

第三点是我选它的真正原因:检索结果必须能落回我自己的原文。 如果一个知识库只能给你一段摘要,它就只解决了「找得到」,不解决「想得起来」。

换成别的工具完全可以成立,判断标准就三条,缺一条就不适合放在这个位置:

  1. 里面存的是你自己写的笔记,不是 AI 生成的摘要或收藏的文章。
  2. 支持语义检索,能按意思找到,不是只能按关键词精确匹配。
  3. 检索结果能跳回原文,能让你对着原文判自己的答案对不对。

Obsidian 加全文检索插件满足这三条,Notion 的 AI 检索满足前两条、第三条看你怎么存,ima 满足三条且省事。工具不重要,这三条重要。

自测怎么判:三条及格线

「答对了没有」很容易被自己放水。我用的是三条硬标准,三条都满足才算这一题过关:

  1. 能说出因果链,而不只是结论。 「跨上下文不能用同步调用」是结论;「因为同步调用会把两个上下文的事务绑在一起,一个挂了另一个跟着不可用,而划分上下文的目的就是切断这种连带」才是因果链。
  2. 能举出一个反例或一个失效场景。 说不出「什么时候不该这么用」,说明你记的是规则不是理解。
  3. 能回答一个「如果……会怎样」的追问。 自测时我会额外问一句「如果并发量提高一个数量级,这个结论还成立吗」。答不上来,这一题不计过关。

三条里缺任何一条,这题进 topics.md,不进「已掌握」。

步骤 4:答不上来的,转成下一篇选题

自测判完之后,答错的问题不留在问题池里打转,直接进 topics.md:

# topics.md · 选题池

## 待写
- [ ] 领域事件的消费方到底算不算同一个限界上下文?
      · 为什么答不上来:我搞不清「上下文边界」是按团队划分还是按事务一致性划分
      · 需要补齐的因果链:为什么跨上下文只能用事件、不能用同步调用
      · 来源:2026-09-29 自测,第二次答错

## 已写
- [x] 聚合根边界该怎么划 → 公众号文章(标题与链接补在这一行)

「为什么答不上来」这一栏是必填的。它把「我不会」变成「我缺哪一条因果链」,后者是可以补的具体东西,前者只是一个情绪。

进入选题池的问题会被写成文章,写作又是一次强度更高的检索练习——我那 40+ 篇 Redis 文章就是这么来的,第 3 年攒成了《Redis 高手心法》。这不是励志故事,是这套流程在我身上唯一留下过痕迹的部分:我当时写过的东西,现在还说得出来;我只是看过的东西,早就不在了。 这个对比没有量化数据支撑,它只是我自己的经验,你应当用自己的记录去验证。

我的失败状态,直说

不写这段的话,上面整套会显得我一开始就想明白了。实际不是。

我的真实状态是:71 篇 Markdown 下载完,我把它们同步进了知识库,然后很长一段时间里什么都没发生。我能在检索里找到「聚合根」这个词出现在哪一篇,但让我白纸写「一个订单的聚合边界怎么定」,我写不出来。

问题出在我把「存下来」当成了「学会了」。这两件事之间的差距,就是 Roediger & Karpicke 那 40% 和 60% 的差距:重复接触产生熟悉感,不产生调用能力。我那 71 篇相当于把材料读了第一遍,然后一直在等第二遍、第三遍。

改过来的动作只有两个,都很小:

  1. 建一个 questions.md,规定它只存问题不存答案。
  2. 每周一晚上花 20 分钟,合上材料做一次自由回忆。

就这两个。工具链一行没变——geektime-dl 还是那个 geektime-dl,同步脚本还是那条命令。变的是这两步把 71 个文件从「能查到」变成了「会被想起」。

我不打算给你一个「效率提升 X%」的数字,那类数字我编不出来,也没有测过。

三条失败边界

这套流程不是越难越好,下面三种情况应该停。

1. 学的是你已经熟练掌握的技能时,别走慢流程。 Anthropic 此前的观察研究显示,在参与者已有相关技能的任务上,AI 能把完成时间缩短约 80%。这时候你不是在学习,你是在生产。刻意制造摩擦只会拖慢交付,不会增加任何理解。判断方法很土:如果这个任务你能不看文档写出来,就直接用 AI 提速,不要走输入段。

2. 基础严重不足时,先分块,再谈交错和检索练习。 desirable difficulties 有下限:低先验知识者过早做交错练习会过载(Schmidt & Bjork 1992;Kornell & Bjork 2007/2008)。换个说法——你连 Redis 的持久化都没搞清楚的时候,不要去交错学习六种缓存一致性方案。先把一个块学完整,再做间隔和检索。具体到动作:如果连续三次自由回忆都写不出任何一条,说明材料粒度太大,把它切小。

3. 「每周三问」连续两周写不出来,是信源选错了,不是你不够努力。 写不出来有两种可能:材料太简单(没有问题可问),或者太陌生(问题全是「这个词什么意思」)。两种都不是靠硬撑能解决的。判断方法是看你的三个问题停在哪一层——如果连续两周都停在「这是什么」,说明信源对你太陌生,应该往下补一层基础再回来;如果全是「这个我记得」,说明太简单,往上调一档难度。换信源比硬撑有效。

什么时候走慢流程,什么时候直接用 AI

给一个能直接执行的判断:

你的状态该做什么
这个技术你要长期靠它吃饭,现在还说不清原理走完整三段,重点在加工和留存
你只是要把它跑起来,以后大概率不再碰直接让 AI 生成,跳过留存,别有负罪感
你已经能不看文档写出来,只是嫌慢直接用 AI 提速,别制造摩擦
你连基础概念都读不懂先分块补基础,别上交错和检索
你不确定属于哪一类做一次自由回忆:写不出三条,就是第一类

最后一行是这套方法里唯一需要你先做判断的地方,其余的都是机械动作。

再补一条容易走偏的:这套流程的成本是真实的,不要给所有学习都套上它。 我把 71 篇 DDD 专栏走完整三段,是因为 DDD 是我打算长期靠它吃饭的东西;我为了一个临时要接的 SDK 查文档,就直接让 AI 生成示例代码然后跑通,不做自由回忆,也不写三问。区分标准不是「这个技术重不重要」,而是「它会不会反复出现在你未来两三年的工作里」。会,就走慢流程;不会,就用完即走,把省下来的时间留给会反复出现的那一个。

下一步最小行动不是「从今天开始坚持」,是今晚花十分钟做一件事:

新建一个 questions.md,写下三个你现在解释不清的问题。 不写答案,不分类,不管它们重不重要。写完的那一刻,你就有了这套流程里唯一无法用 AI 代劳的资产——一份知道自己在哪不懂的清单。后面所有的加工和留存,都是从这份清单开始往下走的。

———

🔧 文中用到的完整提问模板

以上我给出了四个核心模板(概念提问 / 生成时要求解释 / 生成后追问 / 让 AI 审我),完整版合集(共 42 条,覆盖学新技术 · Code Review · 重构 · 单测生成 · 架构设计 · AI Agent 调教)已整理好。

回复「prompt」即可获取,持续更新。

———

如果这篇对你有帮助,转发给你的程序员朋友 — 大家都在摸索 AI 提效,你的分享可能帮他省很多时间。

beeaa00ee37c5db0e2fb2c5c5efe4f29.png