基础篇

F31|长期记忆的基础:事实、经历、流程和时间

基础篇约 2.7 千字1 组分步图解

从具体对象与小例子开始,理解计算过程与适用条件。

本章目录
动态图解 · F31

长期记忆不是永远正确的小纸条

新事实出现后,旧记忆怎样更新而不毁掉历史?

记忆要同时回答:这条信息说的是什么范围、何时有效、系统何时得知、依据在哪里。最新写入的记录不一定描述最新生效的事实。保留时间和来源,才能既回答当前问题,也准确解释过去。

有效时间事实在现实或业务规则中适用的时间。
记录时间系统收到或保存该信息的时间。
作用域信息适用的项目、用户、版本或环境。

输入与适用条件:独立配置案例;月份只用于展示时间顺序,不涉及真实产品当前参数。30秒与20秒属于不同有效期。

1 / 5 · 1月1日 生效

第1步,共5步

窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。

长期记忆不是永远正确的小纸条:1月1日 生效1月1日 生效配置超时30秒1月3日 得知系统保存“自1月1日起超时30秒”2月1日 生效新配置改为20秒,但系统尚未同步2月4日 得知系统读取新配置,保存有效时间与获知时间2月5日 查询问当前:20秒;问1月历史:30秒

配置超时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条”只说明数量,不证明质量。记忆的终点是让下一次更正确或更高效,而不是建设越来越大的档案柜。

运行示例 · F31

记忆一句“超时是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]。示例输入和场景由本书明确设定。

课后自检

自检 1

10月10日录入一项10月1日生效的规则,有效时间和记录时间相同吗?

查看参考答案收起参考答案
不同。前者从10月1日起,后者是10月10日;回答历史问题时两者用途不同。
自检 2

一次任务成功的方法能直接升级成所有项目必用规则吗?

查看参考答案收起参考答案
不能。要保留适用条件、证据与限制,并在新任务验证,避免经验过拟合。

机制依据:[COALA][MEMGPT][LONGMEM]。本节数值与情景除另注外均为原创教学示例;来源不代替中文讲解。

记录保存在本机浏览器。

输入关键词即可检索。

↑ ↓ 选择 Enter 打开Esc 关闭 · 仅本地搜索

阅读设置

阅读设置仅保存在本机浏览器,不上传任何数据。