微信扫码
与创始人交个朋友
我要投稿
问题引入和研究背景
相关研究梳理
从如何利用记忆的角度,现有研究大致可以分为两类。Write & Retrieve 侧重于将记忆视为一个外在的信息库/备忘录,强调的是如何从记忆中快速精确地获取想要的信息,同时保持记忆上下文的一致性。这是一种读写操作,记忆往往只产生临时影响,仅限当前任务使用。而Learn from Memory 侧重于将记忆视为一种内在的能力,需要对过去的经历进行分析和理解,总结其中的知识和模式,从而逐步地调整模型在未来新的任务中的行为。这是一种适应操作,记忆会产生长时间影响,能在各种任务中泛化。
图 2.相关研究梳理
Write & Retrieve
Write & Retrieve 又可分为RAG和Structured Memory。RAG相关的工作延续了传统RAG的思想,主要探究如何在很长的上下文中快速精确地检索到需要的信息。
图 3. MAUMB 架构 [3]
My Agent Understands Me Better[3] 模拟人类对记忆的遗忘与巩固,让Agent的所有记忆随时间流逝指数衰减,但是巩固度高的记忆衰减速率较慢。这里的巩固度考虑了某项记忆被回忆的时间间隔分布以及频率,越近且越被频繁检索的记忆巩固度越高。在检索记忆时考虑了相似度与巩固度的双重阈值,结果表明检索到的记忆往往得到了强化,变得更加持久,增强了LLM的对话能力,尤其是记住用户偏好。
MemoRAG[4] 同样受到人类回忆机制启发。它使用了两个LLM,首先一个轻量级但是能输入长上下文的的LLM不经过检索直接根据全部记忆生成一个粗糙的答案并总结出一些陈述句或者关键词作为线索。然后再使用一个强大的LLM基于这些线索开始在记忆中检索,尝试定位这些线索的出处,并且验证它们是否正确,在这个过程中也得到了很多相关的补充信息。最后,这个强大的LLM根据检索的结果重新回答最开始的问题,得到最终答案。
图 4. AriGraph记忆结构 [5]
基于RAG的工作主要是在探究如何更好地检索,记忆的组织形式就是原始的文本内容,往往非常的长,信息的分散和稀疏是个重大问题。而Structured Memory相关的工作侧重于将Agent的记忆的读写以特定的形式结构化,认为比起单纯研究检索的方法,管理好记忆的读写方式更为重要。
AriGraph[5] 采用了语义图的形式来储存记忆。针对一次过去的观察,它会抽取出其中的所有实体关系三元组,实体作为顶点,关系作为边,形成一个语义图。当遇到新的观察时,会首先检索最相关的三元组,然后在语义图中递归地返回节点和边,作者认为这种语义图最大程度简化了记忆,保留了最关键的信息。
HIAGENT[6] 则将计划和记忆联系起来。它会将所有记忆按照子目标进行区块划分,在检索记忆时,按照子目标分别检索,同时,还会基于记忆块和目前的观察进行总结,返回子目标执行的进度。这种记忆和计划耦合的方法既使得计划能够及时更新状态,也使得记忆的分类变得简单,舍弃了与目标无关的信息。
[3] Hou Y, et al. "My agent understands me better": Integrating Dynamic Human-like Memory Recall and Consolidation in LLM-Based Agents. CHI Conference on Human Factors in Computing Systems. 2024.
[4] Qian H, et al. MemoRAG: Moving towards Next-Gen RAG Via Memory-Inspired Knowledge Discovery. arXiv 2024.
[5] Anokhin P, et al. AriGraph: Learning Knowledge Graph World Models with Episodic Memory for LLM Agents. arXiv 2024.
[6] Hu M, et al. HiAgent: Hierarchical Working Memory Management for Solving Long-Horizon Agent Tasks with Large Language Model. arXiv 2024.
Learn from Memory
在Write & Retrieve相关的工作中,记忆往往与特定的任务目标绑定,检索到的记忆不能在未来的事件中用于不同的目标。这种知识是用完就丢的,对于每种新任务都要重新获取,Agent的能力是静止不变的。但是如我们一开始所说,记忆应该和学习密不可分。Agent应该能够从过去的经历中学习,更好地理解和适应其所处的环境。因此Learn from Memory相关的工作开始尝试让LLM产生跨任务的见解,产生一种可以发展进化的能力。
图 5. Reflexion架构 [7]
其中,Experiential Learning和强化学习的思路非常契合,它会根据记忆中每次行动的反馈进行反思,记忆越丰富,好的例子和坏的例子就越多。
最典型的工作应该是Reflexion[7],它在每次行动后都会根据反馈来反思成功或是失败的原因,这些原因作为经验被储存,并且加入之后的决策的prompt。这种方法被称为Verbal RL,作者认为这种反思可以达到和强化学习一样趋于成功、避免失败的效果,只不过这是非参数化的。
REMEMBERER[8] 则使用了一种半参数化的策略,它储存了所有的观察-行动对作为记忆,每次行动后根据奖励以及Q-learning算法去更新记忆中所有观察-行动对的Q值。在决策步骤中,LLM根据相似性函数从记忆中检索相关经验,Q值最高和Q值最低的行动,被以Encouraged和Discouraged的形式加入prompt中。
ExpeL[9] 首先在环境中收集成功和失败的经历加入记忆池。之后,将所有成功经历分为若干组,所有成功-失败对分为若干组,从这些组中让LLM总结提取出跨任务的见解,作者认为这样可以总结出如何复制成功的模式,如何避免失败的模式。在决策时,LLM会检索最相关的成功经历作为few-shot learnig的例子,所有的见解也会加入prompt作为具备可解释性的guideline。
图 6. Agent-Pro架构 [10]
如果说Experiential Learning通过few-shot learning模仿好的行动,避免坏的行动,那么Concept Learning希望更进一步:学习为什么好,为什么坏,怎么样才能变好,怎么样才能不变坏。也就是说,了解环境的定义和规则,真正掌握对应的知识或技能。
Agent-Pro[10] 是一个比较有代表性的工作,它在21点、德州扑克这样的复杂博弈游戏中,要求LLM首先自主构建起关于自我和环境的信念,所谓信念就是高层次的认知,包括目前游戏局势,对手玩家的风格,游戏的规则和技巧等。每次行动过后,LLM不像之前的工作那样反思行动,而是反思信念。它不在乎行动的好坏,而关注LLM对于环境的理解是否理性和一致。一局游戏结束后,LLM会根据记忆中的信念重新改写自身的prompt,包括任务描述,行动策略,输出示例等,从而达到全面的学习进化,而不只是模仿好的行动。
[7] Shinn N, et al. Reflexion: Language agents with verbal reinforcement learning. NeurIPS 2024.
[8] Zhang D, et al. Large language models are semi-parametric reinforcement learning agents. NeurIPS 2024.
[9] Zhao A, et al. Expel: Llm agents are experiential learners. AAAI 2024.
[10] Zhang W, et al. Agent-pro: Learning to evolve via policy-level reflection and optimization. arXiv 2024.
未来展望
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-28
2024-04-26
2024-08-21
2024-08-13
2024-04-11
2024-07-09
2024-07-18
2024-10-25
2024-07-01
2024-06-16