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

相关推荐
ltlovezh3 小时前
【Agent】模型一次返回多个工具调用,harness 该怎么执行?
agent
大大大大晴天3 小时前
从 Prompt 到 Tool Calling:AI Agent 如何稳定连接程序世界
大数据·agent
许雪里3 小时前
XXL-AI v1.4.0 发布|AI应用开发平台
agent·ai编程
hpoenixf4 小时前
Agent 上下文治理全景·原则篇:让每一步判断围绕目标展开
agent
hpoenixf4 小时前
Agent 上下文治理全景·行动篇:从首轮输入到长期记忆,怎样真正落地
agent
key_3_feng4 小时前
反馈闭环:Agent 自我进化的真正引擎
大数据·agent
hpoenixf4 小时前
Agent 可观测全景:从一次模型请求到可回查的研究事实
agent
hpoenixf5 小时前
超长研究全景:让 Agent 跨越上下文、中断与时间继续交付
agent
武子康5 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
EnCi Zheng5 小时前
Agent 如何进行工具调用:从一次 Function Calling 到生产级工具编排的完整链路
大数据·人工智能·agent·ai编程·工具调用