译者导读
显然,Anki 这样为陈述性知识设计的间隔重复软件局限性很大,它擅长「记忆」,因此记单词、文本很好使。 但扩展到「学习」和「理解」时,就会遇到很多问题,需要通过曲线救国和经验去克服。而用户圈子之间,也都盲人摸象似的没有统一的意见。 总之,大家都希望软件能支持对知识能持续地理解,希望它能帮我们「既知且道」。但问题关键在于,我们不清楚我们要什么才能达成目的,也不清楚系统如何才能提供「原生支持」而不是强烈依赖个人用法。 打个比方,学校水管漏水了、玻璃破洞了、桌腿折了,而你手上只有胶带,不是不能处理它们,但很费劲,强烈依赖各个「缠带圣手」之间无法交流的个人经验。这时,我们呼唤一种工具能直接堵住水管。 这些问题,也是记忆社区永恒的话题。
Andy 在本文中描述了自己辅导别人使用间隔重复软件学习物理的经历,从这个珍贵的旁观者视角上,他得以更客观地讨论理解知识需要什么。他清楚地指出了卡片系统的原罪:为记单词这样的对象而设计,不是为了满足当今越来越复杂的追求 —— 代码,理解,等。因此痛点很多。
本文有一些重要的视角,因为原文太过啰嗦因此容易被淹没,我不得不单独提升到前面来强调下:
- 将卡片视作布置任务,而不是单纯的文本载体。
- 使用「记忆系统」而不再使用「间隔重复软件」去讨论问题。因为虽然间隔重复很重要,但许多其他概念也很重要[1]。虽然如此,但这个词语为了兼容性,已经失去区分度了,GPT 都表示无法区分和记忆宫殿、速记技巧之间的关系。所以读者别太当回事儿,本文中我们始终在讨论的是一类软件的具体设计,而不是讨论一些虚无的东西,避免影响阅读的流畅性。
- 原语(primitives)指的是不可分割的基本元素或者基本单元,比如 Item 卡和 Topic 卡,就是 SuperMemo 18 的原语 —— 不过计算机学科内,原语大部分时候是指基本的操作而语言学中则理解为最小的语言单位。这么说有点弄不出感觉,所以有时候我会用「基本类型」。
- 文中的「实践(practice)」或者「实践系统」(practice system),指的是对知识的实践而不仅仅记忆。现有间隔重复软件更像记忆系统而不是帮你实践的系统。
2023.8.1
Thoughts Memo 汉化组译制
感谢主要译者偶然奇怪~ ☆,校对 Jarrett Ye
原文:Fluid practice for fluid understanding
「这些是我不成熟且粗糙的思考,但对于那些喜欢优化学习方法的人可能仍会有所启发。本文假设你已经深入了解且熟悉记忆系统软件(memory systems,下文简称 MS)。」
如果情况理想,我的记忆实践(memory practice)会转变探索新知识时的体验,就像是升旗,只要摇那个曲柄,我对新问题的理解就会稳步上升,持久而没有停滞。但情况不总是理想的,很多时候我对新主题的理解不会一直进步,我感到它停滞于一种脆弱、狭隘的状态。问答复习会让我感到无聊或者疏离,有时更像在鹦鹉学舌似地机械复述他人的话,而不是真正地理解。
一个解决办法,是当好一名 MS 的实践者。我会优化我的写卡策略,更有意识地关注知识在情绪、情感上与我的链接。如果方法不奏效,我就积极调整。简而言之,我记忆训练的质量依附于我卡片的质量、制卡时的关注点以及又是怎么修正它的。如果我对新知识的理解显得薄弱,那意味着我的卡片和制卡的过程需要改进优化。
卡片写作能力(Prompt-writing ability)是一个有用的能力框架。多年来,我在编写和管理卡片的能力上有巨大提高,我的记忆实践已经变得更加多元化和可靠。但是,这个框架的局限性也值得思考。我希望使用记忆系统不仅能建立并维持灵活、可靠的理解,而且随着使用,还能逐步加深它。
我一直在思考:光写出好的卡片多大程度上达成目标?单张形式的卡片是否是做到这点最好的原语(primitives )?普通的抽认卡这种形式适合承载陈述性知识,但我想帮助人们掌握复杂的概念。如果我们退后一步,看看产生这种理解实际的需求,以及概念的实践的机制,我们是不是能找到更适合理解的基本单位?
从 Alex 身上学到的
这场探索的部分动力,源于我与 Alex 的经历。Alex 是一名自驱的成年学生(今年早些时候,我曾辅导他学物理[2][1]),在其他实验里,我为 Alex 编写了数百张记忆卡片,帮他更好地内化他的阅读资料和课程。他在 MS 内外都努力理解这些概念,这个过程中,我自己也有极多的收获。作为一名观察者而不是学习者是真他妈有用:当只给自己写卡时,人总是很难拉开对自己的观察距离,看清楚究竟什么在发生、问题出现在哪里。
这段对 Alex 记忆实践的观察中,我发现一个关键的问题,就是「知识迁移」的困难。他通常能够回答我编写的卡片,但他的理解很脆弱:问题稍有变动时,他的知识运用就比较困难。在我的实验中,Alex 看起来真正需要的是在实践上,对同一个点引入更多的「变体(variation)*」。
*译注:对同一个点变着花样写卡
对于一些概念知识,我尝试过标准的 MS 做法,也就是写上十几张(或者更多!)卡片,从许多不同的角度和许多不同的外部特征通向它。这可能产生了更灵活的理解,但对复习环节(review session)的影响相当负面:即使洗过一轮卡片再复习,在单次复习课中回答同一问题的许多变体也会令人讨厌。由于写这些变体负担很重,我没有为尽可能多的概念写它们。从认知角度来看,在第一个问题之后,提取会更加不费力,所以后续的问题可能不会产生它们可能产生的那么多强化效果。
译者胡言乱语:你 maybe 可以试试 chain of prompts
从体验和认知上说,我相信将这些变体分散到不同批次的复习课而不是集中到单次会更好。概念上看,我想我正对单一的核心概念*编写不同变体,用多样的策略花式诱导出它,在我的脑海里,这些卡片被视作一种东西 —— 一个「卡片簇」,只不过在 MS 软件眼里是一组无关的集合,尽管互相之间在认知层面高度重叠。
*译注:原文 Platonic idea,指概念的核心本体。
一个(变体被 MS 视作无关集合的)相关现象:我们在 Alex 的复习经历中看到了很多「模式匹配(pattern matching)*」。他的反应通常包含模糊的指向「这个东西...」,也就是「哦,我知道这个东西有一个 trick ……」。正如我们讨论过的,这可能是迁移问题的一个迹象,却也是情绪摩擦的标志。机械地重复让人感到不快,你会感到在死记硬背,它让你质疑(这很合理!)你的练习是否充分利用了时间。它似乎让 Alex(和我)无法仔细注意它和后面刷出的变体(译注:而不是抱着初学者心态)。我相信模式匹配会产生情感上的距离,钝化你对参与的沉浸。
*译注:参见模式匹配
因此,考虑 MS 的设计目标是有趣的:我们如何使模式匹配永不发生,能不能让一个概念永远以不同的形式看到?我写到这里的时候,我强烈的直觉告诉我这是一个糟糕的想法。深度训练的记忆实践所建立的刺激-反应模式有着强大的力量,而且,系统的实践中,流畅感是微妙的:你既不想有枯燥的死记硬背,也不想无用功。尽管如此,我希望更直接地体验这些权衡。
随着进展,Alex 也需要改变卡片的域(scope)。在阅读或者解释材料后的第一时间,他对卡片的需求,是一次简单的理解检查 —— 许多情况下,他并未实际地理解或消化书上的一些重要论述;其后,他需要卡片帮他持久化记住关键细节:术语、记号、方程、关系等。但仅有这些还不够真正理解主题和概念。我们会聚在一起讨论概念,并一起解决问题,每次我都会为他写更多的卡片,且往往有着逐渐上升的细节层级。
一旦基础知识掌握之后,他真正需要的是在解决问题中获得实践。很多问题对他来说比较困难,所以要从简单过渡到复杂。实践中,我们会穿插性地、很细节地回顾一些已经解完的案例。一个章节做完后他会希望进入下一章节(以保持动力),但需要把控整个过程,确保他回顾到早期的章节,并在一段时间里继续解决相关问题。此时,「理解检查」卡和一些关于符号的基础卡片用起来感觉不是很有必要。但是更复杂的声明性卡片,比如关于公式的卡片,似乎仍有用来维持记忆的必要。
最后,Alex 和我到了这么一个境界,我们会将正在学习的材料与他感兴趣的新论文联系起来。我相信,复习课经过精心、有系统地策划,是可以把这种类型的动作包含的:Alex 向我展示他想要理解的论文,我会说类似「哦,等你对电通量的知识有了一些了解,我们将能够一起理解这个图表。」
Alex 的学习过程需要在不同阶段使用不同的活动。他需要更复杂的实践去真正理解材料,但也不能学完就上马,否则,先做完花式使用知识点的任务后,前置的琐碎而基础的「引导」任务就很难耐得住了。如果我们希望一项记忆练习可以在重复中逐渐深化理解,那可能意味着要改变任务难度在时间上的分布,以创造出越来越复杂、周密和富有创造性的机会。
总的来说,Alex 和我一起的这段经历表明,要产生灵活的理解,优化复习环节,让它顺畅是可取的。如果你想记住电常数的值,直接的抽认卡就有效。但是要内化复杂的概念性知识,你需要被驱动着,变着花样去吸收每一个点 —— 从不同的角度、用不同的措辞、以不同的形态、组合其他知识。在这个过程中,复杂性也应逐级提升。
复习课作为通用的容器
我有一个模糊的观点,本质上,记忆实践很大一部分潜在收益不仅事关记忆本身,也事关每日时间槽*的分配。一个稳定的 Anki 用户会在一天中会划出 5 到 15 分钟的时间,用来系统地提高他们的知识和理解。这段划分是一个强大的容器,你可以往里面塞机械记忆的卡片,而富有经验的记忆系统的用户发现不仅如此,用得好了还可以激发更广泛的思考。
*译注: 原文为 it’s about the daily sessions
我的主张是,要学习复杂的概念时,就应该选择一些既有效又能愉快地深化理解的任务,而不是总把机械性的背诵卡往「容器」里塞:对陌生的材料,卡片的第一目标是强化记忆关键细节,并且要让你做一些所谓「步骤接龙」的题目;此后的复习环节会有任务的递进,你可能会被要求解决一些简单的问题;再往后,是一些不同的、更复杂的问题;一个星期后,我可能给你提供学过的定理的另一种推导方法,以及一些联系了两种方法的难题。也许,你可以尝试整合自己的理解,或者针对你在理解概念中遇到的难题进行头脑风暴。总之,除了适合重复的,否则每个复习课的动作都是不重复的,
在某种意义上,我认为知识「记忆系统」可以被看作是知识「实践系统」。虽然今天的工具不能完全实现我所描绘的愿景,但经验丰富的用户,已经有很多策略在上面拐着弯实现自己想要的形式了 —— 也就是说,他们将要理解的东西转化为有趣而有效的练习任务。这些策略会反映使用者一些更基本的观念:
- 知识观:在特定语境中,这些知识意味着什么。
- 学习观:如何生成具体的活动,以产生理解,并可以维持?
- 介质观:这些学习任务是记录到 MS 的 item 上的,如何实例化它们?而且要考虑所处环境问题(例如,可能在手机上,穿插着其他的任务,手头没有纸笔等)
由于使用者的观念通常是隐式的,因此我们很难直接传递这些策略或理解(正如 Michael Nielsen 所指出[3])。但我怀疑在我们的策略中有一类「模式语言(pattern language)」。我现在已经为大量的技术材料编写了记忆系统卡片;通过这些卡片及其相关上下文,来寻找策略的「词汇」和「语法」将是一件有趣的工作。
译注:Pattern Language 是一种设计理论概念,最初由建筑师克里斯托弗·亚历山大在 1970 年代提出,用于描述城市和建筑的设计过程。该理论提倡每一个设计问题都有一个通用的、可重复的解决方案(称为 pattern),并且这些 pattern 可以相互连接,形成一种语言系统(即 pattern language)。
每个 pattern 描述了一个特定的问题以及其解决方案,通过这些问题-解决方案的组合,设计师可以创造出更符合人们生活需要的空间或系统。这种概念不仅应用于建筑设计,还扩展到了软件工程、组织设计和其他设计领域,强调解决问题的模式和框架的重要性。)
概念性知识的基本卡片类型
抽认卡的基础类型相当直接地兼容陈述性知识。如果你正在学习意大利语,想记住「carciofo」这个词,你可以把它写在一张抽认卡上,背面写上「artichoke」。如果你想学习解剖学,你的卡片可以是一个箭头指向插图的某一部分。你可以通过在卡片上写上「铅的原子序数」,背面写上「82」来记住铅的原子序数。这些任务的上下文让任务很明确:在每个例子中,隐含的任务是要你要回答「这是什么?」
但是,如果要学习电势和电势能之间的关系,你不能直接把这个概念放入记忆系统。因为这是一个多面的内容,你需要做多个任务去理解它。你当然应知道它们的式子是怎么写的,但也应知道怎么能在各种情境中应用这种关系;你应该能看出何时应该使用概念的某一面而不是另一个视角;你应该看到这种关系和电场强度与电力之间关系的并列。随着逐渐学习,你会希望与这个概念形成新的连接。例如,一旦你被引入电容的概念,你就能处理这种电势电势能之间关系的新一面。
这种概念不对应单张卡片,而是一个集合的卡片,每一张卡片都是一个基元(primitive prompt),都对应和强化一个和概念相关的「知识原子」。不过正如我们已经讨论的,卡片之间会高度关联,因此将它们分散到多个复习课中会更好。而它们的排期计算,也至少在一定程度上关联。另外,关于卡片对应的任务,你会希望系统每次喂的卡片都有细节上的变化,也希望一些任务应该放在你已经消化了前置任务,或者学到了更多知识之后。
实际上,对这种概念,我写卡时的思考方式,是想象自己正手拿着一个东西 —— 概念的本体 —— 在灯光下转动,并从多个角度去观察它,看看它如何与空间中的其他对象相互作用。我使用卡片的经验会积累了潜在的 「模式语言」,会在这个过程中提出了一族任务。当我开始思考这些任务,更多的制卡模式就会自然而然地呈现出来。有时,我会觉得我同时在处理目标概念和它相邻的概念;有时又觉得自己在深入研究其中的某一面,这一面本身会成为我关注的对象,但不影响概念本身在思维中的完整性。我脑海中做的,很大程度上是以越来越丰富的方式「将这个概念放入我的记忆系统」。概念像这个操作的名词,而动词「将其放入我的记忆系统」是一个凌乱且复杂的活动,它依赖于我的模式语言和我已有的知识。
我可以直接将「carciofo」这个词放入我的记忆软件。我们想要表达的对象(「carciofo = artichoke」)与它实际在抽认卡上的表达(「Q: carciofo? A: artichoke」)几乎一致。那张抽认卡的本身基本上就是一种声明性知识原子,这就是原语与目标兼容的强大之处。MS 是为学习陈述性知识而设计的,所以它的核心原语与这类信息之间天然有表达上的一致性,这很正常。但现在我们正在尝试扩展 MS,使之也能很好地内化复杂概念。从知识的「记忆」转变为知识的「实践」,那么是否有另一些原语正等待被设计?—— 它可以让我做「添加概念」这样的基本操作,就像我可以「添加一个单词」到现在的记忆软件里一样。
语言模型,以及 「想法即原语」
在过去的几个月里,许多人尝试使用大语言模型,从解释性文本中自动创建记忆系统的卡片。对于简单的陈述性知识,这有可能离可行很近了(1, 2)。但我的兴趣,更多地在于让 MS 帮我学习复杂的概念性材料,以及深入内化与我创意工作相关的知识。这是一项与记忆陈述性知识截然不同的任务,并不明显适用于直接自动化。语言模型似乎并没形成我们一直在讨论的模式语言*,因为这可能仍然是小圈子里(记忆系统实践者社区)积极探索的新东西。[2]
*译者注:即不能直接把概念提取成可消化的任务
但是,如果我能将这种模式语言外化为模型能理解的东西,也许我们就能制造出一个船新的记忆系统。在这个系统中,与学习单词一样,学习想法也成为一种基操。在这里,我广义地使用「想法」这个词,来涵盖一个多面但明确连贯的元素——比如电势能和电势之间的关系。在这样的系统中,你也许可以直接「添加一个想法」,并可附上你对感兴趣的性质的评论,然后该系统会使用模式语言,(根据你的评论)在每个学习环节中,实时生成新的实践活动任务。
「添加一个想法」具体指什么,具体会添加些什么东西?一种自然的路径可能是从一本书中添加一段文字,或许还会有一些标记,以指出上下文中核心观点。在这一套系统里,记忆系统的数据库不仅仅是(或者不只是)静态的卡片,而是一套指向文本或笔记的被标记的参考。这也意味着,如果一个任务让你感到困扰,你可以轻易地导航到它的出处,看它当初是怎么启迪你的。
以上概念设计对大语言模型的应用,不是「使用 LLM 生成卡片,然后添加到库中」,而是「将一堆想法添加到库中,然后使用大模型动态地生成任务」。这些任务在每次学习课中都会变化,帮你编码出灵活的概念抓手。它们可以变得更复杂,帮助你逐步深化理解 —— 例如,使用模式语言联合多个想法生成任务。如果模式语言足够具象,可以在界面中具体化,我们可以为不同类型的活动赋予不同的可视化(例如,问题解决练习、可视化、生成示例、综合解释),并允许用户快速在给定概念的备选任务之间切换。
我在这里的主张是,更灵活的知识实践将产生更流畅的理解。但是,从交互设计的角度来看,「想法即原语」也具有吸引力[3]。作为一个 MS 用户,我具体的情感体验是:我听到、阅读或思考了一些激发我兴趣的事物。我会想:「啊,我想把这玩意儿放进卡堆!」,但我不能完全将「这玩意儿」带入我的 MS 实践;我必须想办法将它转化为卡片兼容的对象,让我可以刷卡。有时,我欢迎这个过程,让我能接近激发我想法的原始观点,帮助我拆解它并更好地理解。但大多数时候,它像是一个负担。我想强调的是,这种冲动并不是关于效率或「降低门槛」,而是关于怎么让核心动作「感觉」得到增强——让它更自然地与我内在意图和情感关注对齐。我认为这就解释了为什么填空卡这么受欢迎:填空卡更接近「添加事物本身」。 问题是,材料复杂的时候,至少直接挖空就不好使了。
啥以后啊
语言模型光鲜亮丽,但我不认为通过系统化和自动化的跃进,是探索我在此阐述的观点的最好方式。我可以手动实验「实践系统」,与一名学生一起或者我单独的研究中,使用卡片变体、解决问题、逐级学习和「模式语言」。亲密和快速实验[4]仍然是我现在优先考虑的属性。
我对我自己这些观点,有一个正式的保留意见:扩大 MS 的域以涵盖如此多样的实践和学习活动后,我可能会削弱它们作为特定概念的强大性(使用简单原语进行有效、系统的提取练习)。或许最好让记忆系统保持紧小的域,才能更好地发挥它们的自然优势。我一直在描述的其实更接近一个智能辅导系统,这种系统吧…… 我保留意见,我上次与那些研究成果作对抗还是几年前我在可汗学院的时候。如果我继续沿着这条路走,我预计我需要用新的眼光去翻阅原本的文献,对我自己的观点和那个领域的东西做一些更清晰的划分。
[1] Alex 的职业生涯发生了一些重大变化,所以他最近已经暂停学习了。我们可能会及时恢复,或者我可能会与另一个学生合作。
[2] 这与我对最近涌现的「AI 导师」的抱怨有关:它们缺乏明确的教学理论,一些被告知要用无聊的问题来测试你;还有的只被告知「要成为一流的导师,回答学生的问题。」,但成为一流的导师 意味 着什么?这太难回答了;很明显,模型对此并没有强烈的观点。在个人的具体情境中,没有强见解具体意味着什么?一个更好的系统需要描述一个教学理论——在一次学习过程中应该发生什么,这在认知上意味着什么,以及导师应如何通过与学生的互动实现这一点?如果模型训练数据中有数百万个对这些问题的好答案,模型可能就不需要更多的指导。但就像记忆系统的模式语言一样,这种知识大部分是隐性的;即使被写出来,各种观点也相差太大,无法提供太多指导。
[3] 在去年十月的信件中(从 2022 年夏的助记媒介原型中学到的经验教训[5]),从交互设计的角度对「想法作为原语」进行了深入的讨论。
参考
1. 如何普及记忆系统? ./650479871.html2. 记忆系统如何帮助解决问题 ./620583957.html
3. 如何普及记忆系统? ./650479871.html
4. 在我的记忆系统研究中通过亲密性产生影响 ./631984837.html
5. 从 2022 年夏的助记媒介原型中学到的经验教训 ./647393257.html