Agent 的记忆机制

理解 Agent 的记忆机制:存储、检索与分层

在现代 AI 系统中,Agent 本身并不知道什么是"短期记忆"或"长期记忆",它依赖记忆系统的规则来决定哪些信息需要保存、检索或遗忘。我们可以类比人类,但要注意,Agent 的记忆存在于外部存储,而非模型内部权重。


1. Agent 记忆的核心分类

现代 Agent 的记忆通常分为四种类型:

类型 内容 生命周期
工作记忆 (Working Memory) 当前思考链、即时计算 秒级
会话记忆 (Session Memory) 当前会话、临时任务 小时级
长期记忆 (Long-term Memory) 用户偏好、历史决策 月/年级
知识记忆 (Knowledge Memory) 项目知识库、文档、Wiki 永久

注意:所有类型的记忆都需要存储 + 检索 + 更新 + 遗忘机制,而不仅仅是简单的数据库保存。


2. Agent 记忆存储的主流方案

方案 1:基于规则

最常见的方式,预先定义短期和长期信息规则。

  • 短期记忆

    • 当前任务

    • 当前会话

    • 当前文件内容

    • 最近执行的命令和错误

    • 特点:任务结束后立即删除

  • 长期记忆

    • 用户偏好

    • 项目架构

    • 编码规范

    • 常用工具

    • 历史决策

    • 特点:写入数据库或向量库

示例

用户输入:

"以后 Go 项目统一使用 GORM 事务封装"

Agent 判断:

"这是长期偏好,存入长期记忆。"


方案 2:LLM 自行判断

现代 Agent 更常用这种方式,让 LLM 根据上下文判断哪些信息值得长期保存。

示例 Prompt

复制代码
请判断以下信息是否值得长期保存:
1. 当前修复订单模块 Bug
2. 用户偏好使用 GORM
3. 本次测试失败
4. 用户公司统一使用 DDD 架构

模型返回

复制代码
[
  {"memory": "用户偏好使用 GORM", "type": "long_term"},
  {"memory": "用户公司统一使用 DDD 架构", "type": "long_term"}
]

方案 3:重要度评分

高级 Agent 会给信息打分,超过阈值的进入长期记忆。

信息 分数
当前报错 20
当前任务 40
用户喜欢 Go 80
项目使用 DDD 95

规则

复制代码
如果 score > 70 → 存入长期记忆
  • 类似人脑,重复出现的信息更容易被记住。

方案 4:Memory Agent(专门管理记忆)

复杂系统会独立一个"记忆 Agent",负责短期和长期记忆管理。

复制代码
        用户
          │
          ▼
       主 Agent
          │
 ┌────────┴─────────┐
 ▼                  ▼
Tool Agent      Memory Agent
                     │
          ┌──────────┴─────────┐
          ▼                    ▼
      短期记忆              长期记忆

功能

  • 对话结束后自动整理

  • 更新或删除过期偏好

  • 与主 Agent 协作完成检索和注入上下文


3. 技术要点:检索与遗忘比存储更重要

3.1 记忆生命周期

  1. 产生 → 2. 筛选 → 3. 存储 → 4. 检索 → 5. 更新 → 6. 遗忘

示例

  • 三个月前用户喜欢 GORM

  • 三个月后用户改用 SQLC

  • Agent 需要更新旧记忆,否则会出现冲突信息


3.2 检索比存储更重要

  • 不能把全部记忆塞入 Prompt

  • 必须先搜索相关记忆,再注入上下文

  • 这一步通常称为 Memory Retrieval

示例

用户问:

"帮我生成 Go 项目的事务封装代码"

Agent 检索:

  • 喜欢 Go

  • 使用 DDD

  • 喜欢 GORM

注入 Prompt → 生成个性化回答


3.3 RAG vs Memory

类别 功能 示例
RAG (Retrieval-Augmented Generation) 检索外部知识 MySQL 文档、公司 Wiki、PDF
Memory 检索用户相关信息 用户偏好、项目使用框架

简单记忆口诀:

  • RAG 解决"我知道什么"

  • Memory 解决"我记得你什么"


3.4 Context Window 限制

  • LLM 本身只能看到有限的上下文(Context Window)

  • 超出窗口的信息无法直接使用

  • Agent 利用长期记忆 + 检索 → 动态注入 Prompt

  • 流程:

    Memory → Retrieval → Prompt → LLM → Output


4. 现代 Agent 记忆分层示意

复制代码
                 用户输入
                      │
                      ▼
                  主 Agent
                      │
          ┌──────────┼──────────┐
          ▼          ▼          ▼
     工作记忆    RAG 检索     长期记忆
          │          │          │
          └───────┬──┴─────────┘
                  ▼
             Prompt 构建
                  ▼
                 LLM
                  ▼
                输出
                  ▼
            Memory Agent
                  │
      ┌───────────┴───────────┐
      ▼                       ▼
  更新长期记忆            删除过期记忆
  • 工作记忆处理即时思考链

  • RAG 检索外部知识

  • Memory Agent 管理长期记忆、更新和遗忘


5. 类比人脑的局限性

  • 人脑记忆:存储在神经网络权重中

  • Agent 记忆:存储在外部数据库/向量库

  • 模型本身并不真正记住,只是"会查笔记的 LLM"

相关推荐
曾响铃2 小时前
千台量产前夜,具身智能竞争已沉到底层基建
人工智能
血色橄榄枝2 小时前
基于用户注册信息的关键词检测挑战赛「Datawhale AI 夏令营」
人工智能·算法·机器学习
A hao2 小时前
高对比度在XR虚拟背景中的作用
大数据·图像处理·人工智能·xr·广告
小二·3 小时前
2026年AI Agent框架横评:OpenClaw vs LangGraph vs CrewAI vs Superpowers,选型指南
人工智能
tyqtyq223 小时前
旅行打包清单 App — HarmonyOS AI 应用开发技术博客
人工智能·学习·华为·生活·harmonyos
guo_xiao_xiao_3 小时前
YOLOv11道路桥梁裂缝与坑洼目标检测数据集
人工智能·yolo·目标检测
邵宇然3 小时前
Rust Unsafe 代码规范:不安全块要小到能被审查
人工智能
Cx330❀3 小时前
【MySQL基础】一文吃透“表的约束”:从 Null/Default 到主外键的终极安全法则
linux·服务器·数据库·c++·mysql·安全
Haoxuekeji3 小时前
山东 AI 智能批改校园电子阅卷企业
大数据·人工智能·深度学习·安全·ai