# 主动型智能体记忆管理思考
## 背景与综述
之前看了龙虾(OpenClaw)的记忆管理方式,这几天又看了别人介绍 Clawd Code 的记忆管理方式。
我认为这两者的记忆保存模式都不好。我说说我的看法。
首先是重要的背景。大模型上下文腐烂现象其实非常严重,大多数模型,真能没有注意力涣散问题的上下文恐怕连标称的 40% 都到不了。在这个前提下。
建立在这个背景认知下,我认为现阶段主动型智能体应该对记忆进行四类划分,每句话都要即时更新这四类。
第一类记忆:分时记忆
第二类记忆:分权记忆
第三类记忆:索引记忆
第四类记忆:待整理记忆
这四种记忆,都应该每发生一句话,相关内容全部写入。绝不拖到比如“讨论出结果”这种时候再进行。
## 分时记忆
分时记忆,是指按照时间进行热度划分的记忆。
比如龙虾类,每天写的 YYYY-MM-DD.md 文件,就是分时记忆。
分时记忆也是记忆,哪怕是流水账式的,也是摘要总结。
但:一定应该每句话都做摘要,无论是搜索结果还是用户的牢骚;我认为应该只追加不修改。
过了当天或者两天,可以降低热度,放入一个待归档目录;如果过了一周或者两周,可以进行归档。
## 分权记忆
我认为,不同子代理负责的事务不同,本质上就是“权”的划分。
不同安全保密级别,本质上也是“权”的划分。
任何一个和龙虾联系的人,或者子代理,都可以在上述二哥维度正交出的结果集中,找到一组自己有权访问的记忆。
我认为,每个“权”点,都应该有独立的记忆文件。
每次做一个事情,应该临场加载这个事情相应安全保密级别所有的记忆文件给这个人的对话或者给这个子代理去用。
分权记忆,每个权点的内容会很少。
变权时,应该清空上下文重新加载。
分权记忆,有一个前提要求,就是大模型可以随时准确判断新产生的信息属于哪个权点,并且能够不偷懒地记录进去。不偷懒记录说实话我没有解决,造成我现在每次说话都得复制一行逼着龙虾进行对应记录的提示词。
分权记忆,一定不要靠索引加载部分具体内容,一定是当前权点涉及的所有记忆正文全量加载。
## 索引记忆
智能体有些基础行为模式设定,是需要跨权生效的。这些内容都应该是持久记忆。比如龙虾的 AGENTS.md 等核心文件,本质上就是此处所说的索引记忆。
另外,因为分权记忆会造成有大量的记忆文件,智能体紧靠记忆文件的名称,未必能正确对应。所以需要明文表示,分权记录的命名方式;尤其是根据不同事务分权的命名原文,都要记进来。龙虾的话,推荐用 MEMORY.md 直接维护此记忆。
## 待整理记忆
指对话中,智能体认为他学到了什么,以后应该长期影响他行为的东西。
待整理记忆该不该合并到分时记忆里边,我身边有人持不同意见。
待整理记忆只有经过复盘、智能体反思,甚至经过和所有者的沟通,才能够进入索引记忆。
市面上常见让龙虾记录犯过的错误,这本质上就是一种待整理记忆。
我个人在让我的龙虾们记录我的评价,尤其是正面评价一定要记录。整理时要整理好如何行动能获得我的任何和称赞。
以上,所有记忆每句对话即时记录。
只有索引记忆是常驻加载。
分权记忆按事情和对话人/子代理按需加载。
这是我折腾了挺久自己在执行的对抗上下文腐烂造成大模型注意力涣散的方法。
本帖
CSDN 网址: https://blog.csdn.net/ShaneLooLi/article/details/159761553
IT eye 网址: https://www.iteye.com/blog/surmounting-2540494
中国开源社区网址: https://my.oschina.net/shane1984/blog/19469654
51 CTO 网址: https://blog.51cto.com/shanelooli/14532981
bilibili 网址: 主动型智能体记忆管理思考