前言

在学习AI智能体的记忆机制时,我发现自己被各种新术语搞得晕头转向。一开始是短期记忆和长期记忆,接着又出现了程序性记忆、情景记忆和语义记忆,让人更加困惑。但等等,语义记忆让我想起了一个熟悉的概念:检索增强生成(RAG)。

智能体中的记忆机制会不会是RAG从最初的形态演进到智能体RAG之后的下一步呢?从本质上讲,智能体中的记忆就是在大语言模型(LLM)的上下文窗口中进行信息的输入和输出。至于把这些信息称为"记忆"还是"事实",在这个抽象层面上都不是重点。

这篇文章将从一个不同的角度来介绍AI智能体中的记忆机制。我们不会(立即)讨论短期和长期记忆,而是从最初的RAG概念开始,逐步演进到智能体RAG,最后到达AI智能体的记忆机制。(需要注意的是,这只是一个简化的思维模型。智能体记忆这个完整的话题在底层实现上要复杂得多,涉及到诸如记忆管理系统等内容。)

RAG:一次性只读操作

检索增强生成(RAG)的概念在2020年由Lewis等人提出,并在2023年前后开始流行。这是第一个让无状态的LLM能够访问过去对话和训练期间未曾见过并存储在模型权重中的知识(参数化知识)的概念。

最初的RAG工作流程的核心思想非常直接,如下图所示:

  • 离线索引阶段:将额外信息存储在外部知识源中(例如向量数据库)
  • 查询阶段:使用用户的查询从外部知识源中检索相关上下文。将检索到的上下文连同用户查询一起输入LLM,获得基于这些额外信息的回答。

下面的伪代码展示了最初的RAG工作流程:

虽然最初的RAG方法在简单用例中能够有效减少幻觉问题,但它有一个关键限制:这是一次性的解决方案。

  • 通常会从外部知识源检索额外信息,而不会先判断是否真的需要
  • 信息只检索一次,不管检索到的信息是否相关或正确
  • 所有额外信息都只来自一个外部知识源

这些限制意味着对于更复杂的用例,如果检索到的上下文与用户查询不相关甚至是错误的,LLM仍然可能产生幻觉。

智能体RAG:通过工具调用实现只读

智能体RAG解决了最初RAG的许多局限性:它将检索步骤定义为智能体可以使用的工具。这一改变使得智能体能够首先判断是否需要额外信息,决定使用哪个工具进行检索(例如,存储专有数据的数据库与网络搜索),并评估检索到的信息是否与用户查询相关。

下面的伪代码展示了智能体如何在智能体RAG工作流程中调用SearchTool:

最初的RAG和智能体RAG的一个共同点是,信息是离线存储在数据库中的,而不是在推理过程中存储。这意味着数据只能被智能体检索,而不能在推理过程中写入、修改或删除。这个限制意味着最初的RAG和智能体RAG系统(默认情况下)都无法从过去的交互中学习和改进。

智能体记忆:通过工具调用实现读写

智能体记忆通过引入记忆管理概念,克服了最初RAG和智能体RAG的这一限制。这使得智能体能够从过去的交互中学习,并通过更个性化的方式提升用户体验。

智能体记忆的概念建立在智能体RAG的基本原则之上。它同样使用工具从外部知识源(记忆)中检索信息。但与智能体RAG不同的是,智能体记忆还使用工具向外部知识源写入信息,如下所示:

这使得智能体不仅能够从记忆中回忆,还能够"记住"信息。在最简单的形式中,你可以在交互后将原始对话历史存储在一个集合中。然后,智能体可以搜索过去的对话来找到相关信息。如果你想扩展这一功能,可以提示记忆管理系统创建对话摘要以供将来参考。此外,你还可以让智能体在对话过程中注意到重要信息(例如,用户提到喜欢使用表情符号或提到自己的生日),并基于这个事件创建记忆。

下面的伪代码展示了智能体记忆的概念如何通过WriteTool扩展智能体RAG的思想,使智能体能够存储信息:

这个简化思维模型的局限性

如本文开头所述,这种对AI智能体记忆的比较只是一个简化的思维模型。它帮助我将其与我已经熟悉的概念联系起来。但为了避免让AI智能体记忆的整个话题看起来只是带有写操作的智能体RAG的扩展,我想强调一下这种简化的一些局限性:

上面对AI智能体记忆的说明为了清晰起见进行了简化。它只显示了单一的记忆源。然而,在实践中,你可以为不同类型的记忆使用多个源:你可以为以下内容使用单独的数据集合:

  • "程序性"记忆(例如,“与用户互动时使用表情符号”)
  • "情景性"记忆(例如,“用户在10月30日谈论计划旅行”)
  • "语义性"记忆(例如,“埃菲尔铁塔高330米”)

正如CoALA论文中所讨论的。此外,你还可以为原始对话历史设置一个单独的数据集合。

上述说明的另一个简化是,它缺少超越CRUD操作的记忆管理策略,就像MemGPT中所见的那样。

此外,虽然智能体记忆实现了持久化,但它也引入了RAG和智能体RAG没有的新挑战:记忆损坏以及对记忆管理策略(如遗忘)的需求。

总结

从本质上讲,RAG、智能体RAG和智能体记忆都是关于如何创建、读取、更新和删除存储在外部知识源(例如文本文件或数据库)中的信息。

存储信息 检索信息 编辑和删除信息
RAG 导入阶段离线存储 一次性 手动
智能体RAG 导入阶段离线存储 通过工具调用动态进行 手动
智能体记忆 通过工具调用动态进行 通过工具调用动态进行 通过工具调用动态进行

最初,优化最初RAG的关键焦点在于优化检索方面,例如使用不同的检索技术,如向量搜索、混合搜索或基于关键词的搜索(“如何检索信息”)。然后,焦点转向使用正确的工具从不同的知识源检索信息(“我需要检索信息吗?如果需要,从哪里检索?”)。在过去一年中,随着智能体记忆的出现,焦点再次转移。这次转向了信息是如何管理的:虽然RAG和智能体RAG非常关注检索方面,但记忆机制涵盖了在外部知识源中创建、修改和删除数据的过程。

最后

为什么要学AI大模型

当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!

DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。

在这里插入图片描述

与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。
在这里插入图片描述
最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

AI大模型系统学习路线

在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

img

但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。

AI大模型入门到实战的视频教程+项目包

看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径

在这里插入图片描述
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

海量AI大模型必读的经典书籍(PDF)

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。
在这里插入图片描述

600+AI大模型报告(实时更新)

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

AI大模型面试真题+答案解析

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
在这里插入图片描述

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐