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协议

待完成:
3. 心跳机制
4. 重连策略

第三层:长期记忆

保存稳定信息:

例如:

用户:
- 熟悉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

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐