hello-agents学习笔记--Memory让Agent拥有记忆

HelloAgents:Memory------让 Agent 拥有记忆

从"失忆的大模型"到"具有长期记忆的智能体"

系列说明:本文是 HelloAgents 第八章《记忆与检索》的学习笔记(上篇),结合官方教程内容和个人理解进行整理。本文主要介绍记忆系统(Memory)的设计思想,包括为什么 Agent 需要记忆、人类记忆模型对智能体的启发,以及 HelloAgents 中 Memory 模块的整体架构。


前言

随着大语言模型(LLM)的不断发展,越来越多的智能体(Agent)开始具备自主规划(Planning)、工具调用(Tool Use)、反思(Reflection)等能力。前面的 HelloAgents 教程也逐步实现了这些核心功能,一个 Agent 已经能够根据用户需求自主调用工具并完成复杂任务。

然而,即使拥有这些能力,Agent 仍然存在一个非常明显的缺陷------没有长期记忆

例如下面这段对话:

text 复制代码
用户:
我叫小明,目前是一名计算机专业研究生。

Agent:
好的,我记住了。

......

(几天后重新开启会话)

用户:
你还记得我是谁吗?

Agent:
抱歉,我不知道。

为什么会出现这种情况?

原因并不复杂。

LLM 本身并没有真正意义上的"记忆",模型能够看到的信息全部来自上下文窗口(Context Window)。一次对话结束之后,新的会话不会自动继承之前的内容,因此模型无法真正记住用户的信息。

也就是说,对于大模型而言:

它不是忘记了,而是从来没有保存过。

这也是为什么我们会觉得 ChatGPT、Claude 等模型"像失忆一样"。

虽然目前越来越多的产品都提供了 Memory 功能,但这实际上并不是模型本身具备了记忆,而是在模型之外额外构建了一套记忆管理系统(Memory System)

HelloAgents 第八章的目标,就是为 Agent 增加这样一套长期记忆能力。


一、为什么 Agent 需要 Memory

在传统聊天机器人中,每次回答往往都是独立完成的,因此是否具有长期记忆影响并不明显。

但是对于 Agent 来说,仅仅能够回答问题远远不够。

一个真正能够持续工作的智能体,需要在不同时间、不同任务之间保存经验、积累知识,并根据历史信息做出更加合理的决策。

因此,Memory 已经成为现代 Agent 不可缺少的重要组成部分。

通常来说,Memory 至少具有以下几个作用。


1. 实现连续对话

最直观的作用就是支持长期对话。

例如:

text 复制代码
用户:
以后推荐编程语言的时候,优先推荐 Python。

......

几天后

用户:
推荐一个适合机器学习的语言。

如果 Agent 没有长期记忆,它只能重新分析用户当前的问题。

而如果保存了历史信息,它就能够知道:

用户之前明确表示喜欢 Python。

因此回答可能变成:

推荐 Python,因为你之前提到希望优先学习 Python,它拥有丰富的机器学习生态,例如 PyTorch、TensorFlow、Scikit-Learn 等。

可以看到,回答已经具有连续性。


2. 构建用户画像(User Profile)

长期记忆不仅能够保存一句话,还可以逐渐形成用户画像。

例如经过很多次交流之后,可以得到:

text 复制代码
用户偏好:

✓ 喜欢 Python
✓ 使用 Markdown
✓ 更喜欢中文回答
✓ 主要研究方向:多目标优化
✓ 正在学习 Agent

以后 Agent 回答问题时,就不需要用户反复介绍自己的背景。

这也是许多商业 AI 产品越来越重视 Memory 的原因。


3. 支持长期任务(Long-term Task)

越来越多 Agent 开始执行持续数小时甚至数天的任务,例如:

  • Deep Research
  • 自动软件开发
  • 长时间数据分析
  • 自动论文阅读

如果 Agent 每完成一步就忘记之前发生了什么,那么整个任务几乎无法继续。

例如:

text 复制代码
Day1:
已经阅读论文 A

Day2:
继续阅读论文 B

Day3:
总结所有论文

如果没有 Memory,第三天根本不知道前两天做过什么。

因此,Memory 也是实现 Long-term Agent 的基础能力。


4. 不断积累经验

对于真正智能的系统来说,重要的不仅是回答问题,更重要的是学习

例如:

第一次:

text 复制代码
用户:
这个回答太简单了。

第二次:

text 复制代码
用户:
希望加入代码示例。

第三次:

text 复制代码
用户:
最好使用 Markdown。

如果 Agent 能够不断记录这些反馈,它以后生成内容时就会越来越符合用户习惯。

这种能力,本质上就是一种经验积累。


二、人类记忆系统对 Agent 的启发

HelloAgents 在介绍 Memory 时,并没有直接讲代码,而是首先介绍了**认知心理学(Cognitive Psychology)**中的人类记忆模型。

这是因为,目前很多 Agent Framework(如 LangGraph、Mem0、Letta 等)在设计 Memory 时,都借鉴了人类大脑的记忆方式。

通常认为,人类记忆可以划分为三个层次:

text 复制代码
外界信息
    │
    ▼
感觉记忆(Sensory Memory)
    │
    ▼
工作记忆(Working Memory)
    │
    ▼
长期记忆(Long-term Memory)

不同层次承担不同的功能。


(一)感觉记忆(Sensory Memory)

感觉记忆是信息进入大脑后的第一站。

例如:

当我们看到一张图片、听到一句话、闻到一种气味时,这些信息都会首先进入感觉记忆。

它具有两个特点:

① 容量非常大

几乎所有感官信息都会短暂保存。

② 保存时间极短

通常只有几百毫秒到几秒钟。

如果没有进一步关注,这些信息很快就会消失。

例如:

text 复制代码
走在街上

↓

看到很多广告牌

↓

大多数内容马上忘记

Agent 一般不会实现这一层,因为它更关注已经进入推理阶段的信息。


(二)工作记忆(Working Memory)

工作记忆可以理解为:

当前正在思考的问题。

例如我们计算:

text 复制代码
37 × 48

脑海中不断保存:

text 复制代码
37

48

1776

这些临时信息,就是工作记忆。

工作记忆容量非常有限。

认知心理学提出著名的 "7±2 法则",认为人类能够同时处理的信息数量通常只有 5~9 个对象。

对于 Agent 而言,工作记忆对应的是:

  • 当前 Prompt
  • 当前任务状态
  • Tool 返回结果
  • 中间推理过程

例如:

text 复制代码
用户提问

↓

LLM 思考

↓

调用搜索工具

↓

获取搜索结果

↓

继续推理

整个过程中产生的大量临时信息,都属于 Working Memory。

这些内容通常只在当前任务中有效,任务结束后即可释放。


(三)长期记忆(Long-term Memory)

真正让人具有学习能力的,是长期记忆。

与工作记忆相比,它几乎没有容量限制,可以保存几年甚至一生。

长期记忆又可以进一步划分为两类。

1. 程序性记忆(Procedural Memory)

程序性记忆保存的是技能

例如:

  • 骑自行车
  • 游泳
  • 打字
  • 写代码

这些能力往往很难用几句话描述,却能够通过不断练习形成。

对于 Agent 而言,可以理解为各种能力模块,例如:

  • 会调用搜索工具
  • 会调用代码解释器
  • 会生成图片
  • 会编写 SQL

这些能力类似于 Agent 已经掌握的"技能"。


2. 陈述性记忆(Declarative Memory)

陈述性记忆保存的是可以用语言描述的信息。

它又继续分为两种不同类型:

(1)语义记忆(Semantic Memory)

语义记忆主要保存事实和知识。

例如:

text 复制代码
北京是中国首都

Transformer 于 2017 年提出

Python 是解释型语言

这些知识没有明显时间属性。

对于 Agent 来说,语义记忆通常包括:

  • 用户偏好
  • 用户职业
  • 常见知识
  • 事实信息

例如:

text 复制代码
用户喜欢 Markdown。

用户研究方向是 Agent。

用户主要使用 Python。

这些都属于 Semantic Memory。


(2)情景记忆(Episodic Memory)

与语义记忆不同,情景记忆保存的是经历过的事件

例如:

text 复制代码
昨天下午

导师让我修改实验方案。

或者:

text 复制代码
上周完成了论文初稿。

它最大的特点就是具有时间属性。

通常包含:

  • 时间
  • 地点
  • 人物
  • 事件

对于 Agent 来说,情景记忆非常重要。

例如:

text 复制代码
2026-06-01

已经完成数据清洗

↓

2026-06-05

已经训练模型

↓

2026-06-08

开始分析实验结果

这些任务记录共同组成了一条完整的工作流程。

因此,在很多现代 Agent 框架中,Semantic Memory 与 Episodic Memory 都是长期记忆的重要组成部分。

下面继续第二部分。本部分重点介绍 Memory 与 RAG 的关系、HelloAgents 的 Memory 架构以及四类记忆的设计


三、Memory 与 RAG 有什么区别?

很多初学 Agent 的同学都会有一个疑问:

既然已经有 RAG(Retrieval-Augmented Generation,检索增强生成),为什么还需要 Memory?

实际上,这两者虽然都涉及"检索",但解决的问题完全不同。

可以先看下面这张对比图:

text 复制代码
                Agent

        ┌─────────────────┐
        │      LLM        │
        └────────┬────────┘
                 │
      ┌──────────┴──────────┐
      │                     │
      ▼                     ▼
  Memory                RAG知识库
(记住过去)          (查询外部知识)

一句话概括就是:

  • Memory:记住"自己经历过什么"。
  • RAG:查找"外部有哪些知识"。

二者关注的对象不同。


Memory:保存智能体自己的经历

Memory 保存的是 Agent 与用户交互过程中产生的信息,例如:

text 复制代码
用户喜欢 Python。

用户正在学习 Agent。

用户上周完成了论文初稿。

用户昨天让我帮忙修改代码。

这些内容都是 Agent 自己经历过的。

它们最大的特点是:

  • 与用户密切相关
  • 会随着交流不断增加
  • 每个用户都不一样

因此,Memory 更像一个人的大脑。


RAG:连接外部知识世界

而 RAG 面向的是另一类问题。

例如:

text 复制代码
企业内部文档

PDF

Word

论文

产品说明书

API 文档

公司知识库

这些知识模型原本并不知道。

如果直接问:

TensorRT 最新支持哪些功能?

LLM 很可能回答得不完整。

但如果先去企业知识库检索相关文档,再把文档放进 Prompt,模型就能够基于最新资料回答。

整个过程就是 RAG。

因此,RAG 更像一本能够快速翻阅的百科全书。


一个例子理解二者区别

假设用户连续几个月都在使用同一个 Agent。

某一天用户问:

text 复制代码
帮我推荐一本机器学习的书。

Agent 的处理流程可能如下:

第一步:查询 Memory

Memory 中发现:

text 复制代码
用户喜欢 Python。

用户是一名研究生。

主要研究方向是人工智能。

这些信息说明:

推荐应该偏向 Python 实现,而不是 C++。


第二步:查询 RAG

随后再去知识库中检索:

text 复制代码
机器学习经典教材

最新出版书籍

课程资料

找到之后交给 LLM。

最终回答可能变成:

text 复制代码
根据你的研究方向,我建议阅读:

《Hands-On Machine Learning with Scikit-Learn、
Keras and TensorFlow》

原因:

① 你之前一直学习 Python;
② 这本书代码全部采用 Python;
③ 非常适合研究生学习。

可以看到:

Memory 决定了"推荐给谁";

RAG 决定了"推荐什么"。

两者结合之后,Agent 才真正具有个性化能力。


四、HelloAgents 的 Memory 系统架构

理解 Memory 的作用之后,再来看 HelloAgents 是如何设计整个记忆系统的。

官方并没有把 Memory 看成一个简单的列表,而是设计成了完整的分层架构。

整体可以表示为:

text 复制代码
                Memory System
                     │
 ┌───────────────────┼───────────────────┐
 │                   │                   │
 ▼                   ▼                   ▼
Infrastructure   Memory Types        Storage
      │
      ▼
 Embedding

整个系统可以理解为四层。


第一层:Infrastructure(基础设施层)

这是整个 Memory 的核心入口。

它负责统一管理所有记忆操作。

主要包括几个基础组件:

text 复制代码
MemoryManager

MemoryItem

MemoryConfig

BaseMemory

它们各自承担不同职责。


MemoryItem------记忆的基本单元

所有记忆最终都会表示成一个 MemoryItem。

例如:

python 复制代码
MemoryItem(
    content="用户喜欢 Python",
    memory_type="semantic",
    importance=0.9
)

一个 MemoryItem 一般包含:

text 复制代码
content

memory_type

timestamp

importance

embedding

metadata

其中:

content

真正保存的信息。

例如:

text 复制代码
用户喜欢 Markdown。

memory_type

表示属于哪一种记忆。

例如:

text 复制代码
working

semantic

episodic

不同类型采用不同管理策略。


importance

表示重要程度。

例如:

text 复制代码
天气很好

重要性可能只有:

text 复制代码
0.2

而:

text 复制代码
用户长期研究方向是人工智能

重要性可能达到:

text 复制代码
0.95

重要信息通常不会轻易删除。


MemoryManager------整个系统的大脑

如果说 MemoryItem 是一条记忆,

那么 MemoryManager 就是管理所有记忆的人。

Agent 不会直接操作数据库。

所有操作都会经过 MemoryManager,例如:

text 复制代码
添加记忆

↓

更新记忆

↓

搜索记忆

↓

删除记忆

↓

总结记忆

统一管理之后,不同类型 Memory 的接口保持一致,也方便后续扩展新的记忆类型。


BaseMemory------统一接口

HelloAgents 中,不同 Memory 类型都继承同一个父类。

例如:

python 复制代码
class BaseMemory:

    def add():
        pass

    def search():
        pass

    def update():
        pass

    def delete():
        pass

这样做的好处就是:

无论是 Working Memory,还是 Semantic Memory,都可以通过统一接口进行操作。

符合面向对象设计思想。


第二层:Memory Types(记忆类型)

官方根据前面介绍的人类记忆模型,实现了四种不同类型的 Memory。

text 复制代码
Memory
│
├── Working Memory
├── Semantic Memory
├── Episodic Memory
└── Perceptual Memory

下面分别介绍。


(一)Working Memory(工作记忆)

工作记忆主要保存:

当前任务执行过程中产生的信息。

例如:

text 复制代码
用户问题

↓

Prompt

↓

Tool 返回结果

↓

LLM 推理过程

↓

最终回答

整个流程中产生的大量临时数据,都属于 Working Memory。

它具有几个特点:

  • 生命周期短
  • 容量有限
  • 任务结束即可释放

例如:

text 复制代码
正在调用搜索工具......

搜索完成......

继续推理......

这些内容没有必要长期保存。

因此 Working Memory 通常会设置 TTL(Time To Live),到期自动删除。


(二)Semantic Memory(语义记忆)

Semantic Memory 保存长期知识。

例如:

text 复制代码
用户喜欢 Python。

用户来自哈尔滨。

用户研究方向是 Agent。

用户经常使用 Markdown。

这些信息没有明显时间限制。

无论今天还是一年后,它们通常仍然成立。

因此适合长期保存。

Agent 每次回答之前,都可以先查询 Semantic Memory,从而生成更加个性化的回复。


(三)Episodic Memory(情景记忆)

Episodic Memory 保存的是事件。

例如:

text 复制代码
2026-06-01

开始训练模型。

或者:

text 复制代码
2026-06-03

实验出现 CUDA Out Of Memory。

继续:

text 复制代码
2026-06-05

修改 Batch Size。

成功完成训练。

这些事件按照时间不断排列,就形成了一条完整的经历。

因此 Episodic Memory 更关注:

  • 时间
  • 地点
  • 顺序
  • 上下文

很多长任务 Agent 都依赖 Episodic Memory 来追踪执行过程。


(四)Perceptual Memory(感知记忆)

除了文本之外,现在越来越多 Agent 开始支持:

  • 图片
  • 视频
  • 音频

这些多模态信息,也需要长期保存。

例如:

text 复制代码
今天上传了一张实验图片。

↓

Agent 自动分析。

↓

以后再次提到这张图片,

Agent 能继续讨论。

这种能力就是 Perceptual Memory。

它对应的是智能体对于视觉、听觉等多模态输入的长期记忆。

目前,多模态 Agent 已逐渐开始支持这一类型的记忆。


四种 Memory 的对比

Memory 类型 保存内容 生命周期 示例
Working Memory 当前任务、中间推理 短期 Prompt、Tool 输出
Semantic Memory 知识、事实、用户偏好 长期 用户喜欢 Python
Episodic Memory 事件、经历 长期 昨天训练模型成功
Perceptual Memory 图片、音频等多模态信息 长期 上传的一张实验图片

可以看到,这四类 Memory 并不是孤立存在的,而是共同组成了 Agent 的长期记忆系统。

下面继续第三部分,也是本篇博客的最后一部分。这一部分会介绍 Memory 的存储方式、生命周期以及 HelloAgents 中 Memory 的基本使用流程,最后进行总结。


五、Memory 是如何存储的?

前面已经介绍了 Memory 的分类,但还有一个问题:

这些记忆最终保存在哪里?

如果只是保存在 Python 变量中,那么程序一旦关闭,所有记忆都会消失。因此,一个完整的 Memory 系统必须具备**持久化存储(Persistent Storage)**能力。

HelloAgents 将 Memory 的存储拆分为多个层次,不同类型的数据交由不同的存储方式管理。

整体流程如下:

text 复制代码
               用户输入
                   │
                   ▼
            MemoryManager
                   │
        ┌──────────┴──────────┐
        │                     │
        ▼                     ▼
   文本信息存储          向量信息存储
        │                     │
     SQLite               Qdrant

可以发现,一条记忆并不会只保存一份,而是会根据用途保存不同的数据。


SQLite:保存原始文本

SQLite 是一个轻量级关系型数据库,非常适合本地部署。

例如:

text 复制代码
content:
用户喜欢 Python

time:
2026-07-04

type:
semantic

这些结构化信息都可以直接存入 SQLite。

SQLite 的优点包括:

  • 部署简单,不需要额外服务器;
  • 支持 SQL 查询;
  • 易于管理文本和元数据;
  • 适合作为 Memory 的持久化数据库。

因此,在 HelloAgents 中,它主要负责保存原始内容和相关属性


为什么还需要向量数据库?

如果只保存文本,那么当用户输入:

推荐一种适合人工智能开发的语言。

数据库中保存的是:

text 复制代码
用户喜欢 Python。

由于两个句子没有完全相同的关键词,传统数据库很难判断它们相关。

因此,仅靠字符串匹配并不能满足 Agent 的需求。

这也是为什么现代 Agent 基本都会引入向量数据库(Vector Database)


Embedding:把文本转换成向量

在进入向量数据库之前,需要先进行 Embedding(向量化)

Embedding 可以理解为:

把一句自然语言转换成一个高维数字向量。

例如:

text 复制代码
用户喜欢 Python

经过 Embedding 模型之后,可能变成:

text 复制代码
[0.12, -0.37, 0.81, ..., 0.24]

再例如:

text 复制代码
推荐 Python 做机器学习。

转换后:

text 复制代码
[0.10, -0.35, 0.79, ..., 0.26]

虽然两句话完全不同,但由于表达的语义相近,因此两个向量之间的距离会比较近。

这就是语义检索能够工作的基础。


Qdrant:负责语义检索

得到向量之后,就可以存入向量数据库。

HelloAgents 使用 Qdrant 作为默认向量数据库。

Qdrant 的主要职责包括:

  • 保存 Embedding;
  • 根据向量相似度进行搜索;
  • 返回最相关的 Memory。

例如,当前数据库中保存了:

text 复制代码
Memory A:
用户喜欢 Python。

Memory B:
用户喜欢 Java。

Memory C:
用户喜欢 C++。

用户输入:

text 复制代码
推荐一种适合深度学习的编程语言。

经过 Embedding 后,系统会计算该问题与所有 Memory 向量之间的距离。

由于 "Python" 与 "深度学习" 的语义最接近,因此 Qdrant 会优先返回:

text 复制代码
用户喜欢 Python。

这就是语义检索(Semantic Retrieval)的过程。

相比传统关键词匹配,它能够理解含义相近但表达不同的文本,因此检索效果更好。


六、Memory 的生命周期

一条 Memory 从产生到被使用,并不是简单地"存进去再取出来"。

HelloAgents 借鉴了人类记忆形成过程,将 Memory 划分为多个阶段。

整个流程如下:

text 复制代码
用户输入
    │
    ▼
Encoding(编码)
    │
    ▼
Storage(存储)
    │
    ▼
Retrieval(检索)
    │
    ▼
Consolidation(巩固)
    │
    ▼
Forgetting(遗忘)

下面分别介绍。


1. Encoding(编码)

这是 Memory 的第一步。

当用户输入一句话时,系统首先判断:

这句话是否值得记住?

例如:

text 复制代码
今天天气不错。

通常没有长期价值。

而:

text 复制代码
以后回答问题请使用 Markdown。

则属于用户偏好,值得长期保存。

如果需要保存,系统会完成以下操作:

  1. 提取关键信息;
  2. 计算 Embedding;
  3. 构建 MemoryItem;
  4. 准备写入数据库。

这个过程就称为 Encoding。


2. Storage(存储)

完成编码之后,Memory 会真正写入数据库。

例如:

python 复制代码
memory.add(
    content="用户喜欢 Markdown",
    memory_type="semantic",
    importance=0.9
)

此时系统会同步完成:

  • 保存文本;
  • 保存 Embedding;
  • 保存时间;
  • 保存类型;
  • 保存重要程度。

这样,一条完整的 Memory 就建立完成了。


3. Retrieval(检索)

当用户再次提问时,系统不会立即调用 LLM。

而是先执行 Memory 检索。

例如:

text 复制代码
用户:

推荐一种笔记格式。

Memory 检索后发现:

text 复制代码
用户喜欢 Markdown。

于是把它加入 Prompt:

text 复制代码
用户偏好:

喜欢 Markdown。

当前问题:

推荐一种笔记格式。

最终 LLM 会生成更加符合用户习惯的回答。

这也是 Memory 发挥作用最重要的一步。


4. Consolidation(巩固)

并不是所有 Memory 都具有相同的重要性。

例如:

text 复制代码
今天搜索了一次天气。

价值很低。

而:

text 复制代码
用户连续几十次要求使用 Markdown。

则说明这是一个长期稳定的偏好。

因此,系统可以根据:

  • 出现频率;
  • 用户反馈;
  • 使用次数;
  • Importance;

不断提高某些 Memory 的权重。

这个过程类似于人脑不断强化长期记忆,因此称为 Consolidation(巩固)。


5. Forgetting(遗忘)

真正优秀的 Memory 系统不仅会"记住",也要学会"忘记"。

如果所有内容都永久保存,那么数据库会越来越大,检索效率也会不断下降。

例如:

text 复制代码
昨天查询天气。

今天搜索快递。

临时生成一个验证码。

这些信息通常没有长期价值。

因此,系统会根据:

  • TTL(生存时间);
  • Importance(重要程度);
  • 最近访问次数;

自动清理无效 Memory。

这种机制既节省存储空间,也提高了检索效率。


七、HelloAgents 中 Memory 的基本使用

HelloAgents 将 Memory 封装成统一接口,开发者无需直接操作数据库。

例如,添加一条记忆:

python 复制代码
result = memory_tool.execute(
    "add",
    content="用户喜欢 Python",
    memory_type="semantic",
    importance=0.9
)

这里:

  • content:需要保存的内容;
  • memory_type:指定记忆类型;
  • importance:重要程度,用于后续排序和保留策略。

搜索 Memory 也非常简单:

python 复制代码
result = memory_tool.execute(
    "search",
    query="机器学习",
    limit=3
)

系统内部会自动完成:

text 复制代码
查询语句
    │
    ▼
Embedding
    │
    ▼
Qdrant 相似度搜索
    │
    ▼
返回 Top-K Memory

开发者只需要关注搜索结果,而不需要自己实现向量检索逻辑。


如果想查看当前 Memory 的整体情况,还可以进行统计:

python 复制代码
result = memory_tool.execute("summary")

可能得到类似结果:

text 复制代码
Working Memory:2 条

Semantic Memory:15 条

Episodic Memory:8 条

方便开发者了解当前 Agent 的记忆状态。


八、总结

随着 Agent 能力不断增强,仅依靠 LLM 的上下文窗口已经无法满足复杂任务需求。

Memory 的引入,使 Agent 不再只是"即时回答问题",而是真正具备了持续学习、长期积累和个性化服务的能力。

通过本章的学习,我们可以总结出以下几点:

  1. Memory 是 Agent 长期运行的基础能力。 它能够保存用户偏好、历史事件以及任务经验,使智能体具备连续对话和长期任务执行能力。

  2. HelloAgents 的 Memory 借鉴了人类记忆模型。 根据不同信息的特点,将记忆划分为 Working Memory、Semantic Memory、Episodic Memory 和 Perceptual Memory,不同类型采用不同的管理策略。

  3. Memory 与 RAG 并不冲突,而是相辅相成。 Memory 负责保存 Agent 自身的经历和用户信息,RAG 则负责连接外部知识库,为模型提供最新、最专业的知识支持。

  4. 向量化(Embedding)和向量数据库(Qdrant)是 Memory 实现语义检索的关键。 它们使系统能够理解文本的语义,而不仅仅依赖关键词匹配,从而显著提升检索质量。

相关推荐
IT·陈寒1 小时前
Gemini 3 Flash Preview 深度评测:速度、智能与成本的综合博弈
人工智能
梦想的初衷~1 小时前
《双 Agent 工作台 + 全栈 GIS 项目搭建:前端地图/空间数据库/后端/云部署指南》
人工智能·echarts·leaflet·webgis·ai 辅助编程
恣逍信点1 小时前
论“无中生有”之元逻辑——《凌微经——对称性共生关系论》随读
人工智能·程序人生·知识图谱·学习方法·业界资讯·交友·哲学
A15362551 小时前
组装具身机器人品牌推荐 工业级选型与落地指南
人工智能·microsoft·机器人
沪漂阿龙1 小时前
AI会自己勒索了?
人工智能
Omics Pro1 小时前
首个针对生物医药LLM智能体的全流程过程级评测框架
数据库·人工智能·windows·redis·量子计算
dayuOK63071 小时前
2026年AI生图工具实测:Midjourney、可灵、即梦谁更强?
人工智能·ai作画·aigc·音视频·ai写作
xx_xxxxx_1 小时前
AI的工程基础1-最优化算法
人工智能·机器学习
Elastic 中国社区官方博客1 小时前
跟踪资金流向:使用 ES|QL 和跨集群搜索追踪洗钱网络
大数据·人工智能·安全·elasticsearch·搜索引擎·金融·全文检索