返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

从 RAG 到 Agentic RAG,再到 Agent Memory:AI 记忆的进化三部曲

[复制链接]
链载Ai 显示全部楼层 发表于 1 小时前 |阅读模式 打印 上一主题 下一主题


当前AI交互的一个核心挑战是记忆的缺失。一个关键的范式转变,正引导AI从“只读”的知识检索,走向“读写”的动态记忆。这种“写入”能力,让AI得以从一个博学的工具,朝着能够铭记用户、共同成长的学习伙伴迈进。


AI交互中的“瞬时记忆”挑战

与AI助手的互动中,我们常会遇到一种“健忘”的体验。精心传授的偏好、反复提及的背景信息,在下一次对话中可能荡然无存。这种交互的断裂感,源于多数AI系统在设计上的一个根本特性——它们是无状态的,缺乏连贯的、个性化的记忆。

这自然引出一个核心问题:要构建更智能的AI,我们应该继续扩展其访问外部知识的能力,还是应着力于构建其内化的、动态的记忆系统?

答案,隐藏在一条从RAG到Agent Memory的清晰演进路径中。这不仅是技术的迭代,更是一场关于AI认知模式的演变。

第一阶段:拥有外部知识——朴素RAG的“只读”模式

大型语言模型(LLM)在其训练数据之外是一个信息孤岛。为了打破这层壁垒,一个巧妙的方案应运而生:检索增强生成(Retrieval-Augmented Generation, RAG)

朴素RAG的理念是,在LLM生成回答前,先从一个外部知识库(如向量数据库)中检索相关上下文,并将其一并提供给模型。

图1:朴素RAG工作流,信息从知识库单向流入模型。

这个模式好比给一个聪明的学生一本“只能查阅、不能做笔记的参考书”。他可以即时查找信息来回答问题,但无法记录下任何新的理解或经验。

其工作流程可以用以下伪代码来概括:

# 阶段1:离线数据入库 (在与用户交互前完成)
defstore_documents(documents):
fordocindocuments:
embedding = embed(doc) # 将文档向量化
database.store(doc, embedding)# 存入数据库

# 阶段2:在线检索与生成 (与用户交互时)
defanswer_question(question):
# 第一步:总是先进行检索
context = search(question)

# 第二步:将问题和检索到的上下文打包成提示
prompt =f"Context:{context}\nQuestion:{question}\nAnswer:"

# 第三步:生成回答
response = llm.generate(prompt)
returnresponse

# 检索函数的实现
defsearch(query):
query_embedding = embed(query)
# 从数据库中进行相似度搜索
results = database.similarity_search(query_embedding, top_k=5)
returnresults

这种模式的局限性在于其“一次性”和被动性。检索是一个固定的前置步骤,系统无法判断检索的必要性与有效性,更无法从交互中学习。

第二阶段:学会主动判断——Agentic RAG的“工具化”检索

为了克服朴素RAG的僵化,Agentic RAG将检索行为从一个固定流程,升级为一个可供AI自主选择的“工具”。

图2:Agentic RAG工作流,AI可决定是否及如何使用检索工具。

这如同那位学生成长为一名“聪明的图书管理员”。他不再盲目翻书,而是会先判断:“这个问题需要查资料吗?如果需要,我应该用哪个数据库?”

这种模式的核心在于LLM的决策能力。它会分析用户的意图,然后决定是否调用SearchTool以及如何调用。

以下伪代码展示了这一决策循环:

# 定义一个可供Agent调用的搜索工具
classSearchTool:
def__init__(self, database):
self.database = database

defsearch(self, query):
query_embedding = embed(query)
results =self.database.similarity_search(query_embedding, top_k=5)
returnresults

# Agent的核心决策循环
defagent_loop(question):
messages = [{"role":"user","content": question}]
search_tool = SearchTool(database)

whileTrue:
# LLM会根据对话历史和可用工具进行思考
response = llm.generate(
messages,
tools=[SearchTool]# 告知LLM它拥有SearchTool这个工具
)

# 检查LLM的响应是否包含工具调用请求
ifresponse.tool_calls:
fortool_callinresponse.tool_calls:
iftool_call.name =="search":
# 如果LLM决定搜索,则执行搜索并将结果返回
results = search_tool.search(tool_call.arguments["query"])
# 将工具执行结果追加到对话历史中,供下一步生成参考
messages.append({
"role":"tool",
"content":f"Search results:{results}"
})
else:
# 如果LLM认为无需调用工具,直接生成最终答案并返回
returnresponse.content

尽管Agentic RAG让AI变得更智能,但其本质仍未改变:知识库是只读的。AI能更高效地“使用”知识,却无法“创造”或“内化”新的知识。

第三阶段:范式转变——Agent Memory开启“读写”时代

一个更深刻的转变,来自于一次看似微小却影响深远的升级:为AI系统赋予“写入”的能力。这就是Agent Memory的核心。

图3:Agent Memory工作流,AI同时拥有读(SearchTool)和写(WriteTool)的能力。

在Agentic RAG的基础上,Agent Memory引入了WriteToolUpdateTool等可以修改外部知识库的工具。这使得知识库从一个静态的数据源,转变为一个动态的、可成长的记忆体

这好比我们的图书管理员,终于得到了一本“可以随意读写的活页笔记本”。他不仅能查阅资料,还能在与你的交流中,随时记录新的事实、偏好和经验。

下面的伪代码清晰地展示了“读”和“写”两种工具如何协同工作:

# 除了搜索工具,我们再定义一个写入工具
classWriteTool:
def__init__(self, memory_database):
self.database = memory_database

# 定义一个简单的存储函数
defstore(self, information):
self.database.store(information)
returnf"Information '{information}' stored successfully."

# Agent的决策循环现在拥有了读和写两种选择
defagent_loop_with_memory(question):
messages = [{"role":"user","content": question}]
search_tool = SearchTool(knowledge_database)
write_tool = WriteTool(memory_database)

whileTrue:
# LLM现在可以在SearchTool和WriteTool之间做选择
response = llm.generate(
messages,
tools=[SearchTool, WriteTool]
)

ifresponse.tool_calls:
fortool_callinresponse.tool_calls:
iftool_call.name =="search":
# 执行“读”操作
results = search_tool.search(tool_call.arguments["query"])
messages.append({
"role":"tool",
"content":f"Search results:{results}"
})
eliftool_call.name =="store":
# 执行“写”操作,将新信息存入记忆
result = write_tool.store(
tool_call.arguments["information"]
)
messages.append({
"role":"tool",
"content": result
})
else:
returnresponse.content

“写入”能力的引入,是AI从“信息检索”走向“经验内化”的关键一步。它让构建真正个性化、能够与用户共同成长的AI成为可能。

新的挑战:成为AI的“记忆园丁”

赋予AI写入记忆的能力,也带来了一系列新的复杂挑战,其核心是记忆管理

一个无序的记忆系统,会因信息冗余、过时和矛盾而逐渐失效。因此,未来的AI系统设计,需要我们将思维从“数据工程”拓展到“认知架构”的层面。我们需要像“园丁”一样,精心设计和维护AI的记忆花园。

这包括:

  • 记忆分类:借鉴认知科学,将记忆分为语义记忆(事实)、情景记忆(经历)和程序记忆(技能),并使用不同的数据结构进行存储。
  • 记忆管理策略:需要设计遗忘、巩固和压缩机制,确保记忆系统的高效与准确。
  • 避免记忆污染:建立校验和反馈循环,防止错误或有害信息被永久记录。

从工具到伙伴的进化阶梯

让我们回顾这场进化的阶梯:

能力
信息存储
信息检索
信息编辑与删除
朴素RAG
离线
一次性、被动
手动
Agentic RAG
离线
动态、主动(通过工具)
手动
Agent Memory
动态、实时(通过工具)
动态、主动(通过工具)
动态、实时(通过工具)

从RAG到Agent Memory的演进,核心是从“只读”到“读写”的范式转变。这标志着AI的发展重点,正从“如何获取更多知识”转向“如何有效形成和管理经验”。

这不仅是技术的进步,也影响着人机关系的未来。我们正在从AI的“使用者”,转变为其记忆的“共建者”。当一个AI不仅知晓世界,更能铭记与你的点滴过往时,它便不再仅仅是一个工具,而是朝着学习伙伴的角色迈进。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ