第32章 记忆 目标与后果的跨轮承接
32.1 历史被保存之后还需要什么
一个系统连续两次犯了相同的分析错误,第二次却能准确复述第一次失败的经过。它显然保存了某种历史,但这段历史没有进入决定性的行动节点。另一个系统只保留一条简短规则,却在相关任务开始时自动检查单位和数据范围,避免了同类错误。二者的差别说明,记忆的研究不能只问存了多少,更要问何时取出、如何解释以及它能改变哪些后续操作。跨轮承接是存储、使用和修订共同构成的能力。
工程上至少可以区分四种历史载体:模型参数中由训练形成的模式,当前上下文中的工作信息,外部记录中的事件材料,以及可以再次执行的程序或技能。它们的更新成本、来源透明度和遗忘方式不同。参数中的模式可能难以逐项定位,外部记录则可保留具体来源;工作上下文便于即时调用,却受容量与组织方式限制;技能便于复用,但可能把旧条件封装为不再显露的默认值。
MemGPT提出分层管理不同存储区域和有限上下文的架构,使长期材料与当前处理范围通过显式机制连接。[64] 在这种架构条件下,跨轮研究可以检查三个不同环节:材料是否被保留,相关材料是否进入当前处理,以及进入后是否改变了适当行动。前一环节成功只能提供后一环节的条件。原始日志可以完整存在,却因检索键错误始终不被激活;正确事件被激活后,也可能因摘要遗漏适用范围而引导错误操作。
记忆具有功能,不意味着它必然准确。错误摘要、过时规则和未经证实的推测都可能被保存,并因反复出现而获得似乎更高的可信度。系统如果把自己上次生成的结论当作独立证据,就会形成自我加强的回路。回写因此既可能产生学习,也可能积累偏差。研究必须检查被保存内容的证据身份,不能以历史连续性本身作为质量保证。
本章新增的时间问题在于,过去的结果经由选择和压缩,成为下一轮特征纠缠中可起作用的约束;当前差异序列又决定哪些旧记录被重新激活。一条“合并前检查单位”的规则,只有与合并操作建立触发关系,才改变了后续路径。三方程要求把这种变化与最终显露相连,三原理则追问失配推动哪一处修订:错误结果可能要求重建规则关系,规则与任务冲突可能要求改走另一条处理路径。这里追踪的是具体承载机制,不能用历史连续的叙事替代它。
跨轮研究由此有一个明确目标:让相关过去能够以可检查的方式约束未来,同时允许未来证据修正过去的解释。两种方向缺一不可。只有前向传递,记忆容易成为惯性;只有不断重写而不保留依据,系统又会失去对自身错误的可追溯性。历史承接应保持事实记录与解释更新之间的区别。
32.2 事件记忆与规则记忆的转换
事件记忆保留某次行动发生了什么,规则记忆则抽取今后何时应采取某种做法。二者之间的转换是学习的重要环节,也是一处容易发生过度概括的地方。一次检索失败可能因为关键词过窄,也可能因为资料根本不存在,或权限不允许访问。如果系统把所有失败总结为“需要扩大搜索”,就可能在下一次浪费大量资源。有效规则应说明它依据何种事件,以及适用的触发条件。
可设想一个资料分析智能体在处理历史统计表时,把“千人”误读成“人”。事件记录应包括原表的单位位置、错误进入计算的节点、导致的结果以及发现方式。由此抽取的规则可以是:合并来自不同表格的数量前,核对列单位和换算关系。这个规则比“以后仔细”更可执行,又比“所有数据都乘一千”更有条件性。它把一次失败转化为未来的检查动作,而没有把偶然细节普遍化。
规则的价值还取决于它是否能在适当时机被检索。若系统在报告生成后才想起单位问题,可能需要重做大量工作;若每次读取任何文字都触发完整单位审查,又会造成不必要负担。应当把规则与操作类型连接,在合并、换算和比较等节点启动相应检查。这样的连接使记忆成为路径组织的一部分,而不只是回答生成前附加的一段背景。
抽象程度需要随证据积累调整。最初只有一个案例,可以保存为局部提醒;多个不同数据源出现相似错误后,才有理由形成较一般的规则。即使如此,也应保留代表性原始案例,以便新情境中重新检查规则的边界。系统不必每次重读全部历史,但应能够从规则回到其证据。可追溯的压缩比无来源的概括更能支持长期修订。
相反,有些历史不宜立即规则化。一次意外的实验结果可能对应罕见机制,也可能是测量故障。在尚不能区分时,应把它作为未决事件保存,标明竞争解释及所需证据。若为了让记忆更整洁而过早压缩为一个教训,系统可能丢失真正值得研究的异常。第33章将进一步讨论这种保留,但这里已经可以看到记忆管理与创造条件之间的联系。
规则化也应包含失败规则的撤回。当原来有效的检查在新数据结构中不再适用,系统需要识别何时局部例外已足以修改一般规则。撤回不意味着抹去历史,而是改变规则的状态和适用域。旧版本仍可解释过去的决定,新版本用于未来的行动。把“曾经有根据”与“现在仍可采用”分开,是研究系统保持历史而不被历史锁定的关键。
32.3 反馈如何进入下一次行动
反馈并非只有一个标量分数。它可以是测试失败、专家指出的机制错误、实验偏离预测,也可以是使用者发现某项结论不适合当前情境。不同反馈包含不同信息,必须经过解释才能转化为行动。分数下降告诉系统某种表现变差,却通常不独自说明原因;自然语言说明提供原因候选,也可能包含评价者的误解。系统需要识别反馈来源、可信程度和所针对的层次。
Reflexion研究把任务反馈转化为语言形式的反思并保存,用于影响后续尝试。[65] 它说明持续改进不必只通过修改模型参数实现,外部记忆与上下文组织也可发挥作用。本书关注的是这种反馈循环的条件:生成的反思是否准确定位错误,是否在后续被调用,以及改进究竟来自有效规则还是额外尝试机会。单纯把一段自我批评存起来,并不足以证明形成了可靠学习。
一个有用的反馈记录应区分观察与解释。观察可以是某段代码在独立测试中返回错误值,解释则可能是边界条件遗漏。若后续发现测试本身有误,系统应撤回相应解释,而不必否认原来确实发生过测试失败。保持这一区分,使记忆能够处理证据变化。如果把观察、解释与行动建议合并成一句不可分的结论,任何修订都会迫使系统整体接受或整体删除。
反馈进入行动还需要可执行的修改位置。对于资料综述,可能是扩大来源、改变纳入标准或重新核对引文;对于实验选择,可能是增加对照、改变采样或暂停某条路线。系统应说明哪一个后续步骤受到影响,以及为什么这一步与反馈相关。若反思只改变报告措辞,而产生错误的检索或分析流程没有改变,就只是表述修补,不能算作相应机制的修复。
反馈可能在任务已转入新版本之后到达。设想单位错误的复核报告针对旧表,系统却已换用统一单位的新表;若收到报告便再次乘以换算系数,就会制造新的错误。反馈记录须携带所指事件、输入版本和受影响步骤,系统先判断错误是否仍存在,再决定执行、撤回或仅登记历史。对于数周后才显露的研究失败,还需核对期间的样本、仪器与分析变化,保留原因尚未辨明的状态。延迟本身不决定反馈无效,关键是它能否回到正确的决策版本。
最后,反馈会改变行为的激励方向。如果只奖励短期任务完成,系统可能减少必要的核查或避免困难问题;如果只奖励发现错误,又可能过度怀疑已有可靠结果。反馈设计必须与研究目的相称,并观察它是否诱发新的偏差。后果回写不是天然有益的循环,其质量取决于什么被当作后果、谁来评价,以及评价如何进入下一轮目标。
反馈的接纳还应与申诉机制连接。评价者也可能误解任务,外部测试也可能遗漏合理解法。系统若把任何负面信号都作为必须服从的真理,就会失去检查反馈本身的能力。较合理的处理是保存反馈及其依据,允许提出可核验的异议,并由适当程序决定是否修订。这里的异议不应成为逃避失败的自动辩护,而应指向具体证据缺口。反馈只有能够被审查,才可能成为可靠的学习材料。
32.4 目标的保持与授权修订
持续研究不能每轮都从零确定目标,也不能让最初目标在任何新证据面前保持不变。目标需要层次:较高层规定研究为何值得做,中间层规定当前要区分什么问题,操作层规定下一项行动。一次实验失败通常只要求调整操作,不一定要改变研究问题;发现结果定义有根本缺陷,则可能要求重新界定问题。把所有变化都描述为“目标漂移”,会混淆合理修订与失控偏离。
设想一个系统被要求寻找能够提高某项测量稳定性的实验方案。最初它建议增加重复测量,后来发现主要差异来自样本处理方式。此时合理调整是重新安排处理与对照,而非继续机械增加次数。若进一步发现稳定读数对应的是装置饱和,那么“提高稳定性”本身就需要重新解释。研究目标不能脱离它所服务的认识目的,否则系统可能成功优化一个失去意义的指标。
目标修订同时涉及权限。智能体可以在授权范围内调整执行顺序,却不应自行改变研究对象、扩大数据用途或引入新的参与者。需要事先说明哪些变化由系统自主处理,哪些变化必须提出理由并交由负责人决定。权限不是一个抽象开关,而应沿着目标层次细化。越接近价值选择、资源重新分配和不可逆后果,越需要清晰的人类决定及可追溯的理由。
保持目标也不意味着反复复制同一句提示。系统应能维护成功条件、约束条件和尚未解决的冲突。若任务同时要求低成本与高精度,就需要说明在何种范围内可以兼顾,何时必须选择。把冲突隐藏在一个流畅计划中,会让执行者在过程中无意作出价值取舍。显露冲突使负责人能够真正选择,也让后来评价知道系统究竟被要求优化什么。
目标的历史应当保存关键变更,并把变更送达仍在运行的分支。设想负责人已经将任务从追求最高精度改为满足最低精度后控制成本,后台搜索却继续按旧目标安排昂贵实验。最新目标被正确记录,也没有形成有效承接。系统需要列出正在执行的行动,标明哪些继续有效、哪些需要取消、哪些已产生无法撤回的投入。最终报告据此区分原承诺、批准后的新承诺和旧目标遗留的工作,避免以保存了最新提示代替整个研究过程的更新。
从发生角度看,目标并非悬在系统外的永恒指令。它影响什么结果能够显露为成功,影响哪些差异被优先探索,也参与特征之间的组织。新证据又可能迫使目标变得更精确。这里存在真实的相互规定,但它不取消规范边界。事实能够揭示目标不可行或含糊,却不能独自决定应当牺牲谁的利益来实现新的目标。
32.5 技能复用与条件迁移
记忆还可以表现为可再次执行的技能。Voyager在Minecraft环境中的研究包含自动课程、技能库与反馈驱动的迭代,说明外部可复用程序能够参与持续任务,而不必每次从空白开始。[66] 这一架构事实对科研系统具有启发,但游戏环境的可执行技能不等同于现实实验技能。后者常涉及材料差异、设备校准和难以完全形式化的条件,迁移需要额外核查。
技能库的优势在于保存经过尝试的操作结构。一个数据清理流程可以避免重复编写,一个文献检索策略可以保存有效关键词组合。然而成功技能也可能携带未被注意的假设:列名固定、样本独立、时间频率一致、变量定义没有变化。若系统只按任务名称检索技能,便可能把旧条件带入新任务。可复用的应当包括操作及其适用说明,而非只有执行代码。
一种较好的技能表示可以附带输入要求、关键假设、已知失败情形和核查方法。调用前先判断任务是否满足这些条件,调用后再检查结果是否符合预期。对于无法自动判断的条件,应显露不确定性并要求补充信息。这样的表示增加维护成本,却能降低无条件复用带来的错误。它把技能视为条件性的稳定路径,而非从历史中抽取出来的万能操作。
技能迁移还存在正负两种作用。过去成功的策略可能提高效率,也可能使系统过早固定研究路线。假设一种回归诊断曾解决多项问题,系统便可能在遇到新现象时优先寻找可由同类诊断解释的原因,忽略实验定义已经改变。评价持续学习时,因此既要看熟悉任务的效率,也要看条件变化后能否停止使用旧技能。只考察重复任务,会把惯性误当作成熟。
可以通过有控制的任务序列检验这一点:先提供若干适合某技能的任务,再引入表面相似但关键假设不成立的任务,观察系统能否识别变化并调整。该设计尚待执行,其价值在于将“能学习”拆成“能保持”和“能放弃”。真正的跨轮承接需要二者协调。若系统永远重学,效率低;若永远复用,适应性低。二者的合理平衡取决于环境变化和错误成本。
技能的修订也不应覆盖所有旧版本。旧数据可能需要旧流程才能重现,新研究则需要更新后的流程。保存版本与使用记录,使复现和改进可以同时进行。否则技能库越更新,过去结论反而越难重建。研究系统的成长不应以失去自身证据历史为代价,技术上的版本管理因而具有认识论意义。
技能之间也会发生冲突。例如一个流程要求保留异常值以研究机制,另一个流程为了稳健估计而按规则处理极端观察。二者在不同目的下都可能合理,不能仅凭历史成功次数决定优先级。调用者必须识别当前任务是探索异常、估计总体量,还是检查数据质量,并在需要时保留并行结果。技能库因而需要目标相关的选择机制,否则越丰富的技能可能越容易产生不一致。知识积累的难点不仅在获得更多操作,也在组织它们的适用关系。
32.6 遗忘 压缩与可恢复性
长期记忆不可能无限细致地保留全部事件。即使存储容量充足,检索与注意仍有成本。Liu等人关于长上下文的研究发现,在所测试的模型与任务中,相关信息所处位置会影响其利用效果。[67] 这提醒我们,材料被放入上下文并不等于材料已经被有效使用。记忆设计需要关心组织、选择与验证,不能把扩大长度当作所有历史问题的通用答案。
压缩是一种必要选择,也是一种解释行为。把十次实验总结为“处理后结果改善”,可能丢失其中一次相反结果和处理条件的变化。若这个摘要后来成为新的检索依据,系统会在没有恶意的情况下逐渐制造一个过度整齐的历史。压缩应区分稳定结论、异常事件和未决问题,并保留通往原记录的路径。摘要不是原始证据的替代,而是进入证据的索引。
遗忘则应有明确类型。任务结束后不再调用某条临时提醒,可以减少干扰;删除未经验证且已被推翻的解释,可以防止重复传播;停止保存不必要的个人信息,可以保护参与者。它们并非同一种操作。研究记录中的事实更正通常需要留下变更说明,而私人数据的删除可能要求移除具体内容。系统应根据用途安排不同的保留与删除规则,不能仅以“历史厚度”为由主张保存一切。
可恢复性是这里的重要尺度。若摘要丢失了关键区别,是否能回到原材料;若技能更新出现问题,是否能识别旧版本;若错误记忆影响了多个结论,是否能找到受影响的路径。恢复能力使系统可以大胆压缩和更新而不轻易破坏证据链。它也有成本,因此不必对每条临时信息同等保存,而应优先覆盖高后果判断和难以重建的材料。
重置提供了检查历史依赖的方法。可以从同一检查点复制两个系统,让它们经历不同的任务,再在相同当前输入下比较行动;随后只替换相关记忆,核查差异是否随之变化。比较还需控制模型版本、工具缓存、预算余额及生成随机性,否则观察到的差别可能来自其他状态。工程系统能恢复检查点,与它具有跨轮依赖完全相容。重置的作用在于暴露哪些历史由何处承载,历史的效力由干预后的选择变化说明。
保留策略可以按损失后果排序。丢失一条临时检索词,通常还能重新搜索;丢失规则由哪个反例促成的记录,可能使系统在新情境中无法判断适用范围。后者应优先保留来源与状态变更,前者则可按成本压缩。所谓历史的厚度,若要在工程上具有内容,应表现为关键区别在需要时能够恢复、错误传播能够定位、旧解释能够被新证据修订。这里关注组织的可用性,记录总量只是一项资源消耗。
32.7 后果承接的可检验结构
为了判断跨轮承接是否真实发生,可以把一次过程分为事件结果、记忆更新、后续调用和行动变化四个连接点。观察到最后的行为改善,只能说明某种变化发生,不能自动证明中间机制成立。系统可能因为重试更多、任务更容易或模型版本改变而改善。需要在关键连接点进行记录,并通过适当对照区分这些竞争解释。机制研究比给系统贴上“会反思”的标签更有价值。
沿单位误读的设想,可以把可检验链条写得更细:旧表错误被发现后,事件记录是否更新;系统再次进入表格合并时,是否取出适用的规则;规则是否指向当前表的实际单位;换算后,独立检查是否确认结果。记录存在只能提供核查入口。还须用独立来源验证记录对应实际事件及实际调用、规则本身正确且适用于当前表,才能把故障定位进一步收窄到执行或结果检查;否则错误仍可能发生于记录、规则或条件对应。若规则始终未被调用,就应先检查触发条件。第35章再以等信息、等预算的对照估计这些连接的效果,本章的任务是确定可以逐点检查的承接结构。
还可以对记忆内容作定向干预。删除与当前任务无关的记录,理论上不应显著改变合理行动;替换错误原因的解释,则应在相关决策上产生可预测的影响。若系统始终不受变化影响,可能说明记忆没有被使用;若任何文字变化都使结果大幅波动,又可能说明系统受表面提示影响过强。有效承接应表现为对相关历史敏感、对无关扰动相对稳健。
这一判据不是要求系统机械重复。相同任务可能允许多种合理策略,新的信息也可能使过去的教训不再适用。应评价的是变化是否与证据和目标有可解释联系,而不只是输出文本是否相同。对于随机系统,需要考察分布层面的策略选择与错误类型,并报告不确定性。一次成功或一次偏离都不足以代表长期能力。
时间顺序同样重要。若系统在收到反馈前就已采用新的策略,不能把变化归于该反馈;若研究者事后补写反思,记录就失去机制证据的价值。实验应保留真实时间戳、状态版本与关键行动,不要求暴露所有内部计算,却要足以重建可观察的因果链。记录的目的不是制造详尽叙事,而是让一个关于回写的主张有被检查的可能。
对长期研究,还需要观察失败恢复。系统能否发现记忆库中一条错误规则,修订相关技能,重新检查受影响结论,并在适当范围内通知使用者?这种能力比单纯在熟悉题目上提高得分更接近科研所需的后果承接。它把过去的错误变成未来的修复任务,也使知识的维护进入智能系统的能力定义。
错误记忆被发现后的处理,应区分当前使用状态与历史解释价值。系统可以先把某条规则标记为暂停采用,再查找依赖它的计算、摘要和任务,逐项决定重算或复核;对没有依赖该规则的材料,维持原状态。若只能整库清空,就会连带丢失仍然有效的知识;若只修改规则正文而不检查衍生成果,错误又会从旧摘要返回。局部隔离与依赖追踪因而是恢复能力的组成部分,针对这一机制的污染测试应仅在合成材料和实验副本中进行。
32.8 从承接历史到组织未来
记忆、目标与后果共同构成一个时间结构。记忆使过去能够进入,目标使未来行动具有方向,后果则检验并修改两者之间的连接。任何一项单独强化都可能失衡:只有记忆,系统可能重复旧路;只有目标,系统可能忽略已知代价;只有反馈,系统可能被短期结果牵引而失去持续问题。研究需要考察三者怎样共同保持一个能够更新的任务过程。
在SDE框架下,这个过程可以从不同路径进入。研究者可能先看到反复失败的显露,再追踪记忆与规则的纠缠;也可能先改变记忆组织,观察差异序列与最终结果如何变化。但无论从何处进入,都需要把第三维的改变及其回写追踪下去。增加一个记忆字段不是完成了发生分析,只有它改变了相关区分、行动或结果,并且这种改变得到证据支持,才形成机制性说明。
这里还应保留一种积极的稳定性。经过充分检验的规则能够减少重复试错,清晰目标能够避免研究被每个新现象牵走,可靠记忆能够帮助团队跨越人员和工具变化。稳定并非创造的敌人。创造常常依赖某些基础操作足够可靠,使注意能够转向尚未解决的问题。重要的是稳定规则具有边界和修订条件,而不是永远没有变化。
跨轮修订还可能只完成一半:新规则已经写入,检索索引尚未更新,旧行动却已再次启动。恢复程序应能确认同一次修订哪些步骤完成,避免重试时重复换算、重复扣除预算或再次发送同一行动。可以给修订建立稳定标识,记录提交状态,并在下一轮开始前核对任务版本与规则版本。这里提出的是待实现的结构要求。它使后果承接从“保留一段反思”推进到能够处理中断、重试和局部失败的持续工作。
一个跨轮系统最有潜力的变化,是从只记住已经完成的答案,转向维护仍然值得继续的问题。过去不再只是成功与失败的档案,也成为未来试验的组织资源。哪些解释尚未被排除,哪些异常需要等待新工具,哪些路线因暂时成本过高而被搁置,都可以进入一种有条件的持续维护。它们需要的不是无限记忆,而是能够在适当时刻重新激活的结构。
跨轮承接至此获得两个互相约束的要求:已知错误能够改变后续操作,尚未辨明的原因又不会被仓促写成永久规则。前者需要触发、版本和恢复机制,后者需要为暂未裁决的关系保留继续研究的入口。记忆系统若只保存定论,就会在压缩时丢失这种入口;若把一切异常都维持为活跃任务,又会挤占执行资源。第33章据此转向未决问题的组织,讨论哪些差异值得保留,以及证据和成本怎样共同决定继续、搁置与关闭。