首页文章详情

大模型时代,如何维系持续学习的能力?

神译局2026-11-04 07:18
当大模型能一键搞定所有事,为什么顶尖程序员还在给自己“找罪受”?

神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。

编者按:AI秒出答案的时代,直接“抄作业”正在废掉你的大脑。别让大模型替你思考,把它改造成“苏格拉底式导师”,在刻意挣扎中重获深度学习的能力。文章来自编译。

我想聊聊,在大模型(LLM)时代,我是如何继续学习新东西的,因为这件事变得非常难。大模型、AI、智能体(agent),不管你怎么称呼它们,它们都能一次性把事情做完,也因此抹掉了“犯错”带来的全部乐趣。我这里主要以编程为例,但我认为这些道理适用于任何领域。过去,我们学习新框架、新编程语言和新模式,往往是先做错,再从中吸取教训。可现在一切都太快了,我们不愿再花时间去做错事,尽管从长远来看,做错对我们更有益。大脑真正学会新东西靠的正是那种挣扎。

坦白说,我自己也有这个毛病。我以前会下很大功夫死磕来学东西,现在却觉得没什么意义,因为大模型能给你任何你想要的东西。这些想法把我带到了这里:我遇到了瓶颈,无论出于工作需要还是个人兴趣,我都得学更多东西。下面就是我在大模型时代重新找到学习方法的过程。

我当时正在读一篇名为《Bitcask》的论文。如果你对编程感兴趣又还没读过,我建议你读一读。这是一篇非常轻量的论文,即使不是资深程序员也能读懂,因为只要你愿意动手,其中的概念既容易消化,也容易实现。总之,我开始读这篇论文,并打算在不借助大模型的情况下把它实现出来,大体上我也做到了。写代码时我在某处卡住了,想求助大模型,但这次不是让它替我写卡住的那部分,而是让它把概念讲清楚,好让我自己写出来。这时我意识到,我完全可以让大模型来教我,而不必让它把所有答案都给我。而且,所有的苦活累活它都能包办,这样我就不会觉得无聊。比如,你想通过做一个聊天应用来学点东西。你需要两样东西:服务端和客户端;假设你只想练习服务端的工作方式。如果你对客户端没有兴趣,何必为了实现它而消磨自己的热情呢?这正是大模型派上用场的地方。你可以让它替你完成那些无聊的部分,比如测试、工具和可视化。我并不是说这些东西没用,只是说,如果它们引不起你的兴趣,就不必亲自动手。

于是我开始看别人是怎么做的,找到了一个叫 “socratic-code-mentor”(苏格拉底式代码导师)的技能。它不会直接把答案交给你,而是通过提出恰当的问题,让你自己得出答案,而这正是知识能够留下来的原因。

下面是一个简化的例子:

我:我的 sum 本应是 6,结果却是 NaN:

大模型:nums 里有几个元素?最后一个元素的索引是多少?

我:三个元素,所以最后一个索引是 2。

大模型:你的循环中,i 会取哪些值?

我:0、1、2、3……哦。nums[3] 是 undefined,而 6 + undefined 就是 NaN。

大模型:没错:

i:       ▲  ▲  ▲  ▲  ← one step too far(多走了一步)

那你会怎么修复?

我:改用 i < nums.length。

所以大模型并没有直接告诉我“你的循环多走了一步”。它只是问了几个问题,画了一张图,Bug 是我自己找到的。我不会忘记它,因为它逼着我自己把整件事想明白。

我们是靠自己想明白来学习的,而不是靠接受别人给出的每一个事实。《认知天性》(Make It Stick),顺便说一句,如果你对学习心理学感兴趣,这是一本很棒的书)对此说得很好:

“当你被要求在看到解法之前先努力尝试解决问题,随后学到的解法会掌握得更好,也记得更持久。”

就连我亲爱的朋友兼 CTO 也会跟我玩这种思维游戏。当我问“我们为什么不按 X 的方式来做?”,他会回我一句:“你为什么觉得我们应该按 X 来做?”我解释自己的理由,他再针对我的回答追问一个问题,最后我自己得出了一个像样的答案。而且这个答案会记得很牢。

所以你得让大脑适当地锻炼一下。这个技能做的正是这件事:它让你不断地追问和质疑。

第二个问题是保持斗志,而这需要自律。如果你为了学点东西去做一个有一定复杂度的项目,它不可能一夜之间完成。所以要提前规划好需要达成的目标,这样你就不会浪费时间去琢磨下一步该做什么。否则,你下一次开工时,可能会对着空白屏幕发呆 30 分钟——至少我会这样。缺乏动力或自律的时候,我们往往会拖延。

理想的状态是:你坐到电脑前,对大模型说一句“我们继续吧”,它就能接着你上次停下的地方带你往下走。出人意料的是,大模型非常非常擅长帮你列目标清单。

比方说,你想做一个玩具版的 LevelDB,也就是一棵 LSM 树(如果你不是程序员却还在读这篇文章,抱歉)。让大模型把它拆成若干阶段,每个阶段都有明确的目标。这样每次开始新的学习时段,你都能勾掉一个方框。

读完 Bitcask 之后,我想做点更难、与数据库相关的东西,于是开始构建一棵 LSM 树,并把它命名为 tinylsm(我大概还会继续做我的 tiny-xyz 系列项目)。下面是我为 tinylsm 写的 PLAN.md 的精简版:

# tinylsm——构建计划

**黄金法则:** 每个阶段结束时,系统都能运行,测试全部通过。

绝不同时留下两个做到一半的功能。

## 阶段 2——WAL(预写日志)

**目标:** 能扛住崩溃。每次写入先落日志、再进内存,

这样崩溃后重放日志,就不会丢任何数据。

**步骤:**

1. 编码/解码一条记录。

2. 把记录追加写入文件。

3. 启动时重放文件;遇到写了一半的最后一条记录时,干净地停下。

**完成标准:** 在写入过程中杀掉进程,重启后,所有已完成的写入都还在。

**陷阱:** 崩溃可能把_最后一条_记录截成两半。这是预期情况,不算数据损坏。

## 进度

- [x] 阶段 1——跳表(Skiplist)

- [x] 阶段 2——WAL

- [ ] 阶段 3——内存表(Memtable)

每个阶段都有相同的四个部分:目标、小步骤、一条你能真正去核验的“完成标准”,以及会让你栽跟头的陷阱。底部的清单就是“我们继续吧”对应的部分:大模型读完它,就知道你进行到哪儿了。

这样你就不必耗费任何意志力去决定做什么,而让自己动起来所需的力气,比你想象的要大。如今更是如此:大模型、短视频(Shorts)等东西不断给我们多巴胺刺激。我们想把事情做完,而且要快。计划恰好能给你这种感觉。哪怕已经精疲力竭,你也能做上一点点,并把它当作一次小小的胜利。

而且这样做其实能让你学到更多,因为你会在几天、几周的时间里,一次次用很短一段是啊金回到同一个项目上。这就像禅宗大师铃木俊隆描绘的雾中行走:你没觉得自己被打湿,但一点一点地,衣服已经湿了。心理学家称之为间隔练习:两次学习之间稍有遗忘,会迫使大脑把内容重新提取出来,而正是这种努力让知识得以牢固留存。

到目前为止,我们谈了如何正确地用大模型来学习,而不是让它一次性给出解法,也谈了如何做计划,免得我们永远拖延下去。但还缺一样东西。

就我个人而言,能得到可视化的反馈时,我会更享受手头的事。它可以是个粗糙的 UI、一个 REPL(交互式命令行),什么都行。它迫使我留在局中,并对接下来会发生什么保持好奇。在做 tinylsm 时,我让大模型搭了一个小小的 REPL:我可以往数据库里灌数据,看着表(SSTable)一张张堆起来,并对读取做基准测试:

tinylsm> bench 

miss latency vs L0 height 

88 tables ██████████████████████████████ 174.9µs 

1 table ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1.7µs

说实话,亲眼看到自己写的合并(compaction)代码让读取快了 100 倍,确实让我干劲倍增。

我建议你在下一个大项目里也这么做。我在文末分享的那个技能也包含这一点,不过你大可发挥想象力。有了大模型,你可以搭出任何能激励你继续前进的东西。

最后一条建议:让你的下一个项目有点野心。在大模型出现之前,要实现 LSM 树这样的东西,意味着得翻遍一堆 GitHub 仓库,还要去读某几本书的特定章节。现在,你只需说一句“我想学 XYZ 是怎么工作的”,大模型就会替你调研,并找来你需要的一切。所以从某种意义上说,事情变容易了,但我们也变懒了。我想这一直都是如此。我们就是爱偷懒。

小结

给像我一样的懒人准备的简版(TL;DR):

  • 别让大模型直接给你答案,把它当作导师。

  • 把苦活累活交给大模型:测试、工具等等。

  • 事先和大模型一起做好计划,用最少的意志力保持动力。如今我们本来就所剩无几。

  • 让进展可见:一个 REPL、一张图表,任何能让你留在局中的东西都行。

  • 追求小胜利。哪怕每天只学 30 分钟,坚持下来也比猛冲两天、隔十天才回来要好。

  • 保持好奇,去学那些超出你当前能力的东西。即使你不是最聪明的那个,你也可以对大模型说一百遍“我不明白”,它还是会再讲一遍。所以别满足于简单的东西。

我用的技能叫做socratic-code-mentor。我找到了原版,然后按自己的学习方式做了改造。你可以拿去用,也可以按自己的情况修改。

最后,用一句我努力践行的话作结:

“做事的时候,应当像一堆好篝火那样完全燃烧,不留下自己的任何痕迹。”

——铃木俊隆

译者:boxi。