免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


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

发布日期:2025-11-05 10:49:35 浏览次数: 1533
作者:子非AI

微信搜一搜,关注“子非AI”

推荐语

AI记忆技术正经历从静态检索到动态学习的革命性转变,让AI从工具进化为真正的学习伙伴。

核心内容:
1. 当前AI交互中"瞬时记忆"缺失的根本挑战
2. 从RAG到Agent Memory的三阶段技术演进路径
3. 动态记忆系统如何重塑人机协作的未来图景

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

 


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


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

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

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

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

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

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

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

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

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

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

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

# 阶段2:在线检索与生成 (与用户交互时)

def
 answer_question(question):
    # 第一步:总是先进行检索

    context = search(question)
    
    # 第二步:将问题和检索到的上下文打包成提示

    prompt = f"Context: {context}\nQuestion: {question}\nAnswer:"
    
    # 第三步:生成回答

    response = llm.generate(prompt)
    return
 response

# 检索函数的实现

def
 search(query):
    query_embedding = embed(query)
    # 从数据库中进行相似度搜索

    results = database.similarity_search(query_embedding, top_k=5)
    return
 results

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

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

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

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

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

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

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

# 定义一个可供Agent调用的搜索工具
class
 SearchTool:
    def
 __init__(self, database):
        self
.database = database
    
    def
 search(self, query):
        query_embedding = embed(query)
        results = self.database.similarity_search(query_embedding, top_k=5)
        return
 results

# Agent的核心决策循环

def
 agent_loop(question):
    messages = [{"role": "user", "content": question}]
    search_tool = SearchTool(database)
    
    while
 True:
        # LLM会根据对话历史和可用工具进行思考

        response = llm.generate(
            messages, 
            tools=[SearchTool] # 告知LLM它拥有SearchTool这个工具
        )
        
        # 检查LLM的响应是否包含工具调用请求

        if
 response.tool_calls:
            for
 tool_call in response.tool_calls:
                if
 tool_call.name == "search":
                    # 如果LLM决定搜索,则执行搜索并将结果返回

                    results = search_tool.search(tool_call.arguments["query"])
                    # 将工具执行结果追加到对话历史中,供下一步生成参考

                    messages.append({
                        "role"
: "tool", 
                        "content"
: f"Search results: {results}"
                    })
        else
:
            # 如果LLM认为无需调用工具,直接生成最终答案并返回

            return
 response.content

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

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

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

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

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

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

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

# 除了搜索工具,我们再定义一个写入工具
class
 WriteTool:
    def
 __init__(self, memory_database):
        self
.database = memory_database
    
    # 定义一个简单的存储函数

    def
 store(self, information):
        self
.database.store(information)
        return
 f"Information '{information}' stored successfully."

# Agent的决策循环现在拥有了读和写两种选择

def
 agent_loop_with_memory(question):
    messages = [{"role": "user", "content": question}]
    search_tool = SearchTool(knowledge_database)
    write_tool = WriteTool(memory_database)
    
    while
 True:
        # LLM现在可以在SearchTool和WriteTool之间做选择

        response = llm.generate(
            messages, 
            tools=[SearchTool, WriteTool]
        )
        
        if
 response.tool_calls:
            for
 tool_call in response.tool_calls:
                if
 tool_call.name == "search":
                    # 执行“读”操作

                    results = search_tool.search(tool_call.arguments["query"])
                    messages.append({
                        "role"
: "tool",
                        "content"
: f"Search results: {results}"
                    })
                elif
 tool_call.name == "store":
                    # 执行“写”操作,将新信息存入记忆

                    result = write_tool.store(
                        tool_call.arguments["information"]
                    )
                    messages.append({
                        "role"
: "tool",
                        "content"
: result
                    })
        else
:
            return
 response.content

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

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

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

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

这包括:

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

从工具到伙伴的进化阶梯

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

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

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

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

 


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询