Agent planning大揭秘:记忆增强规划能力!
如何让LLM在规划能力上变得更聪明,想象一下,如果我们的AI助手能够记住过去的经历,并且在需要的时候能够回忆起来,那会是多么方便的事情啊!
首先,我们要明白,对于AI来说,记忆是提升规划能力的关键。目前,有两种主要的方法可以通过记忆来增强LLM-Agents的规划能力:基于RAG的记忆和参数记忆。
RAG,也就是检索增强生成,它能够用检索到的信息来增强LLM的最新知识。想象一下,如果AI能够把过去的经验存储在记忆中,并在需要的时候检索出来,那会是多么棒的事情!这些记忆通常以文本、表格形式或知识图谱等形式存储。例如,有的系统会把每天的人类行为经验以文本形式存储起来,然后基于当前情况的相关性和新鲜度来检索记忆。还有的系统会使用向量编码模型将每个记忆编码成向量,并建立索引结构,以便在检索时快速找到相关信息。下面这些工作都归属于这个范畴,后面我们可能会详细去分享具体内容。
- Generative Agents:这项工作存储了类似于人类的日常经验,并根据当前情况的相关性和新鲜度来检索记忆。这些记忆以文本形式存储,并且可以根据与当前任务的相关性进行检索。
- MemoryBank、TiM 和 RecMind:这些方法将每个记忆编码成向量,并使用索引结构(如FAISS库)来组织这些向量。在检索时,使用当前状态的描述作为查询来检索记忆池中的记忆。这些方法的区别在于它们更新记忆的方式不同。
- MemGPT:这项工作借鉴了计算机架构中的多级存储概念,将LLM的上下文视为RAM,并将额外的存储结构视为磁盘。LLM可以自主决定是检索历史记忆还是将当前上下文保存到存储中。
- REMEMBER:这个方法将历史记忆以Q值表的形式存储,每个记录是一个包含环境、任务、动作和Q值的元组。在检索时,会同时检索正面和负面记忆,以便LLM根据环境和任务的相似性生成计划。
另一方面,参数记忆可以通过微调LLM,将Agent的历史经验样本嵌入到模型参数中。这些经验样本通常来自Agent与环境的交互,可能包括关于环境的常识知识、与任务相关的先验知识,以及成功或失败的经验。虽然微调一个大参数的模型成本很高,但通过PEFT,可以通过只训练一小部分参数来降低成本并加快速度。
但是,这两种方法都有各自的优势和局限性。基于RAG的方法提供了实时、低成本的外部记忆更新,主要在自然语言文本中,但依赖于检索算法的准确性。而微调则通过参数修改提供了更大的记忆容量,但记忆更新成本高,并且在保留细节方面存在挑战。
最后,我们还需要考虑如何生成记忆。记忆增强的LLM-Agents在规划中表现出更强的生长潜力和容错能力,但记忆的生成严重依赖于LLM的生成能力。如何通过自生成的记忆来提升较弱的LLM-Agents,仍然是一个值得探索的挑战领域。
本文转载自 探索AGI,作者: 猕猴桃