AI代理是能够通过利用大型语言模型 (LLMs) 的推理能力来规划、观察和执行行动,从而追求和实现目标的系统。预计到2025年,AI代理将在整个劳动力队伍中推动变革性变化,以重要方式影响生产力和效率,包括支持员工的日常工作、 部署数字人执行关键业务职能,甚至取代我们所知的企业 SaaS。
构建代理系统仍然是一个不断发展的领域,并且伴随着研究人员和行业专家正在积极努力解决的挑战。一个关键挑战是开发专注于推理任务的模型,而不是像总结那样侧重语言的任务,后者是第一波 GenAI 应用的特点。另一个关键障碍是管理AI代理的记忆,这通常需要采用复杂的方法来实现所需的代理性能水平。
记忆是让AI代理工作起来的关键。本指南涵盖了记忆的重要性、不同类型、管理它的最佳实践,以及为什么 Redis 是代理记忆的理想数据平台。我们还将介绍实际实现,帮助您有效地集成代理记忆。
AI代理的记忆对于提高效率和能力至关重要,因为大型语言模型 (LLMs) 本身不具备记忆能力,即它们是无状态的。记忆使AI代理能够从过去的交互中学习、保留信息并维持上下文,从而产生更连贯和个性化的响应。
想象一个设计用于规划和预订商务旅行的AI代理。如果没有记忆,它将记不住个人偏好(例如,“您喜欢直飞航班还是需要转机的航班?”);由于缺乏理解而犯程序性错误(例如,预订的酒店不提供商务旅行所需的设施,如会议室或可靠的 Wi-Fi);并且无法回忆起之前提供的详细信息,如护照信息。这会导致重复提问、行为不一致和缺乏个性化,从而带来令人沮丧的用户体验。
AI代理,就像人类一样,依赖短期记忆和长期记忆才能有效运作。
短期记忆就像计算机的 RAM 一样工作——为正在进行的任务或对话保留相关细节。这种工作记忆只在对话线程中短暂存在,并且通常由于大型语言模型 (LLMs) 的有限上下文窗口或需要最小化不相关信息而受到限制。这就是像 LangGraph 这样的代理框架的作用所在。像LangGraph这样的代理框架通过提供 Checkpointers 等工具来简化短期记忆管理,这些工具有助于维护线程特定的上下文。这使得代理能够将短期记忆有效地存储在像Redis这样的高性能数据库中。
长期记忆更像是硬盘驱动器,存储大量信息以供以后访问。这些信息会跨多个任务运行或对话持续存在,使代理能够从反馈中学习并适应用户偏好。这些记忆可以进一步分为三种类型(有关不同记忆类型的细微差别,我们建议查阅著名的CoALA 框架论文)
管理长期记忆很复杂,因为存在诸如决定存储哪种类型的记忆、确定存储什么、如何衰减旧的记忆以及如何将它们有效地检索到工作记忆中等挑战。
在规划记忆管理架构时,您需要做出四个最高级别的决策
需要存储和管理的记忆类型可能取决于应用程序的类型。例如,会话型AI代理需要记住跨线程的用户偏好信息(因此存储情景记忆)。 另一方面,零售AI助手可能需要存储产品信息并从产品知识库中回忆相关事实(因此存储语义记忆)。
考虑到 LLM 上下文窗口的限制以及上下文污染的风险,有效地存储记忆至关重要。我们看到开发人员使用四种常见策略来有效地存储相关记忆。对于大多数生产部署,我们期望 AI 代理结合使用这些技术(请注意,这些技术并非互斥,许多开发人员可能希望结合使用它们)。
想象一下,您将记忆块存储在 Redis 这样的数据库中,其中包含它们的嵌入和文本描述。代理如何知道如何检索最相关的记忆?这是一个新兴的研究领域,研究人员正在尝试一些复杂的方法。例如,MemGPT 论文采用了一种将 LLM 用作查询生成器的方法,LLM 可以决定何时检索长期记忆,生成一个查询来进行搜索(通过生成函数调用 token),然后使用向量搜索来检索相关的块。对于大多数应用,我们建议开发人员从记忆数据库的向量搜索开始,并根据需要在此基础上增加额外的复杂性。
在AI系统中,衰减存储的记忆至关重要,以防止内存膨胀并保持效率。随着AI代理长时间交互,它会积累大量信息,其中一些信息会变得不相关或过时。如果没有遗忘机制,AI的记忆就会被无用数据淹没,导致检索时间变慢,响应准确性降低,以及资源使用效率低下。如果使用 Redis 存储记忆,您可以使用各种内置的逐出和过期策略来有效管理记忆衰减。您还可以在对象中添加时间戳作为另一个字段,并通过按时间顺序排序来影响最终的搜索结果。
开发人员之所以偏爱 Redis 作为存储和管理 AI 代理记忆的平台,有几个原因。其中包括:
通过我们的开源Redis Agent Memory Server,我们使记忆管理更加简单。
这个笔记本演示了如何使用 LangGraph 和 Redis 管理短期和长期代理记忆。在其中,我们探讨了
在笔记本中,我们构建了两个版本的旅行代理,一个手动管理长期记忆,另一个则使用 LLM 调用的工具来管理。
以下是展示两个代理所使用的组件的两个图表
想创建自己的代理?试试LangGraph 快速入门。然后添加我们的Redis checkpointer,为您的代理提供快速、持久的记忆。Redis Agent Memory Server 是我们用于管理代理和 AI 应用记忆的开源工具。
使用 Redis 管理 AI 代理的记忆,可以构建一个灵活且可扩展的系统,该系统能够快速存储和检索记忆。请查看下面的资源,立即开始使用 Redis 进行构建,或与我们的团队联系,讨论 AI 代理。