F31|长期记忆的基础:事实、经历、流程和时间
从具体对象与小例子开始,理解计算过程与适用条件。
本章目录
长期记忆不是永远正确的小纸条
新事实出现后,旧记忆怎样更新而不毁掉历史?
记忆要同时回答:这条信息说的是什么范围、何时有效、系统何时得知、依据在哪里。最新写入的记录不一定描述最新生效的事实。保留时间和来源,才能既回答当前问题,也准确解释过去。
输入与适用条件:独立配置案例;月份只用于展示时间顺序,不涉及真实产品当前参数。30秒与20秒属于不同有效期。
1 / 5 · 1月1日 生效
窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。
配置超时30秒
保留作用域与来源默认静止。用“下一步”看完解释再继续;播放到最后一步自动停止。键盘聚焦播放器后,可用左右键逐步查看、空格播放/暂停。图中颜色辅助区分,含义同时用文字注明。
为什么需要
跨会话复用有效知识,减少重复查找和重复错误。
怎样实现
保存范围、来源与两个时间;使用前核验;过期、冲突与撤销显式处理。
可能的代价与误解
把一次模型猜测写成通用规则,会在后续检索中放大错误。
如何判断是否做对
同时测试当前查询、历史查询、错误范围查询和来源已失效查询。
先说什么值得跨会话保存
一份任务日志里可能含临时猜测、工具输出、已验证事实和过时计划。全部保存不等于有效记忆;下次取出错误项,反而会伤害判断。
长期记忆是系统为将来任务保留并能按需使用的信息。它可以存文件或数据库,不必先拥有向量服务。技术重点在于写什么、何时取、怎样验证和怎样失效。
四种记忆不只是一组名称
工作记忆服务当前任务,例如下一步要测试哪个函数;情景记忆episodic保存发生过的一次经历;语义记忆semantic保存相对稳定的事实;程序性记忆procedural保存如何执行某类任务的方法。
例如“昨天补丁p7因漏测Windows失败”是经历;“当前项目支持Windows”是事实;“修改路径规则时检查两类分隔符”是有适用条件的流程;“本次Windows测试尚未执行”是工作状态。
一个错误是把经历直接升级成无条件规则:“凡改代码都必须做全平台全量测试”。经验需要适用范围和收益验证,不能无限扩张成本。
一条可用记忆至少问哪些问题
它说的是什么?适用于哪个项目和版本?依据在哪里?什么时候有效?什么时候被记录?是否仍有冲突?下一次什么任务会需要它?
这些不一定都要成为复杂数据库字段,但语义上不能缺。一个简短记录可以同时写“规则、适用范围、来源、更新时间”。高风险系统才需要更严格的结构和审批。
Valid time与Recorded time为什么不同
有效时间valid time是事实在业务上何时成立;记录时间recorded time是系统何时知道或写下它。
例如10月10日系统才读到一份规定:该规定从10月1日起生效。问“10月5日适用哪条规则”要看有效时间;问“系统10月5日当时知道什么”还要看记录时间。
把两者混在一起,就可能拿后来才知道的事实评价当时决策,或者把已记录但尚未生效的规则提前执行。
更新不是只追加一条新向量
同一事实改变时,需要明确旧记录被取代还是仍对历史查询有效。若只追加,新旧都可能被召回;若直接删除,历史追溯又可能失去依据。
作用域scope限制记忆适用的项目、用户、环境和任务。不要把A项目的部署规则拿到B项目;不要把一个用户偏好跨到另一用户。
遗忘有什么工程含义
遗忘可以是删除、到期失效、降优先级、合并重复、仅保留索引等策略。TTL是存储有效期或生存时间的一种设置,但到期规则不能取代事实核验。
源文档被撤回后,它的摘要、向量、派生规则可能仍在。需要追踪派生关系,避免删掉原文却继续使用错误结论。
怎样知道记忆真有用
对相似但不相同的新任务,对比无记忆、静态规则、按需检索经验三种方案。看重复错误是否减少、过期引用是否增加、任务成功率和成本怎样变化。
“存了1000条”只说明数量,不证明质量。记忆的终点是让下一次更正确或更高效,而不是建设越来越大的档案柜。
记忆一句“超时是3”,缺了什么才会在下次出错
输入与条件。项目A旧配置timeout=3秒,项目B配置timeout=8秒;项目A在10月10日改为5秒,记忆服务在10月12日才记录。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1保存旧事实 | project=A,value=3,来源r1 | 不能只存“超时3秒”而不存项目。 |
| 2记录新事实 | value=5,生效10月10日,记录10月12日 | 区分什么时候有效与什么时候才知道。 |
| 3问A当前规则 | 选A且适用当前日期 | 返回5秒并附来源。 |
| 4问B规则 | 必须按project=B筛选 | 返回8秒,不能拿最相似的A记忆。 |
| 5问历史 | 查询“10月9日A规则” | 旧事实仍有用,不能无条件全覆盖。 |
把过程连起来。有效记忆保存的是带适用范围和时间的命题,不是只保存一句话。
边界与反例。时间与配置均为构造例;真实纠错策略还要区分更正错误记录与正常版本更新。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
课后自检
10月10日录入一项10月1日生效的规则,有效时间和记录时间相同吗?
查看参考答案收起参考答案
一次任务成功的方法能直接升级成所有项目必用规则吗?
查看参考答案收起参考答案
延伸阅读:相关系统问题
14|上下文压缩:到底压掉什么,丢失后又如何恢复18|长期记忆:写入、检索、冲突、失效与遗忘
19|Skills与路由:怎样加载刚好需要的专业能力
24|安全:指令边界、沙箱、权限与记忆污染
26|深度应用:把组件组合成能解释的工作系统
机制依据:[COALA][MEMGPT][LONGMEM]。本节数值与情景除另注外均为原创教学示例;来源不代替中文讲解。