Agent记忆压缩方法

Agent 的**记忆压缩(Memory Compression)**主要目的是解决一个问题:

Agent 长时间运行后,会积累大量历史对话、工具调用记录、任务轨迹,如果全部塞入 Context Window,会导致 Token 爆炸、推理变慢、成本升高,所以需要把"过去的信息"压缩成更高价值、更小体积的表示。

常见方法主要有以下几类:

一、摘要压缩

思路

让 LLM 定期把历史记忆总结成短文本。

例如原始记忆:

用户:

我喜欢C++,正在学习机器人后端开发。

讨论ROS2通信机制。

学习MQTT连接机器人云平台。

完成Robot SDK项目,实现TCP通信。

压缩后:

用户长期目标:

  • 学习机器人后端开发

  • 熟悉C++、ROS2、MQTT

已有经验:

  • 开发过Robot SDK

  • 实现TCP通信和JSON协议

实现方式

Agent维护:

Raw Memory

|

v

Memory Summarizer

|

v

Compressed Memory

优点

简单

效果好

适合聊天Agent

缺点:

可能丢失细节

例如:

原文:

用户机器人IP是192.168.1.20

总结:

用户有机器人网络环境

IP丢了。

二、分层记忆压缩

类似人类记忆。

分成:

Long-term Memory

|


| |

Semantic Memory Episodic Memory

|

User Profile

第一层:短期记忆 Short-term

保存最近上下文:

例如:

最近20轮聊天

直接放 Prompt:

Context:

user:

assistant:

...

第二层:中期记忆

保存任务阶段信息:

例如:

当前任务:

开发机器人SDK

已完成:

  1. TCP通信

  2. JSON协议

待完成:

  1. 心跳机制

  2. 重连策略

第三层:长期记忆

保存稳定信息:

例如:

用户:

  • 熟悉C++

  • 做机器人开发

  • 使用ROS2

压缩过程:

最近聊天

|

| 超过窗口

v

任务摘要

|

|

长期稳定事实

三、 信息抽取压缩

不是总结,而是抽取关键事实。

例如:

原始:

我最近在机器人公司实习,

主要做C++ SDK,

用TCP连接机器人,

以后想找C++后端岗位。

抽取:

JSON:

{

"skill":[

"C++",

"TCP",

"Robot SDK"

],

"career_goal":

"C++ backend developer"

}

优势:

查询效率高。

比如:

Agent问

用户会不会C++?

直接查:

skill contains C++

不用读全部历史。

四、 向量压缩(Embedding Compression)

把文本变成向量。

流程:

Memory Text

|

Embedding Model

|

0.21,0.55,0.13,...

|

Vector Database

例如:

存:

用户学习ROS2

变成:

0.234,0.882,...

查询:

用户:

"之前机器人通信怎么设计?"

Embedding:

机器人通信设计

搜索:

TCP协议

MQTT

ROS2 Topic

五、 时间衰减压缩(Time Decay)

模拟人的遗忘机制。

不是所有记忆价值一样。

公式:

Memory Score =

Importance × e^(-λt)

例如:

昨天:

用户正在调试TCP bug

重要度:

0.9

一年以前:

问过hello world

重要度:

0.1

随着时间:

重要性下降

应用:

自动删除:

低价值 + 很久以前

六、重要性评分压缩

给每条Memory打分:

Memory Importance =

用户明确要求保存

  • 使用频率

  • 最近访问

  • 任务相关性

例如:

Memory Score
用户名字 0.9
用户喜欢C++ 0.8
一次报错日志 0.

工业级 Agent Memory 通常组合

实际系统一般不是单一方法:

User Input

|

v

Memory Manager

|


| | |

Short-term Long-term Archive

| |

Recent Vector DB

Context

|

Summarizer

|

Compression

相关推荐
网易云信1 小时前
制造业、零售与物流的“神经末梢”:为什么企业级IM是这些行业的数字基建?
人工智能·agent
ArixBit3 小时前
用 Go 手撸 Agent 框架 #11:工具从哪里来——内置工具、MCP 与 Skills
go·agent
玉鸯3 小时前
Agent 开发之 Checkpoint:AI 工作流的状态恢复机制
agent
leeyi3 小时前
RAG 流水线设计:Eino 的 Loader → Transformer → Indexer → Retriever(第60篇-E46)
aigc·agent·ai编程
AI程序员3 小时前
万字长文详解 Agent 的评测机制:从任务、环境、轨迹到验证器、统计与持续回归
人工智能·agent
ch8563 小时前
别再只会 similaritySearch 了!RAG 在线阶段的 6 道鬼门关
agent
ch8563 小时前
别再调 prompt 了!RAG 的天花板,在文档进向量库那刻就焊死了
agent
ch8563 小时前
RAG 一上线就翻车?因为你缺这张全景地图
agent