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

相关推荐
飞哥数智坊2 小时前
同一个 Agent,为什么有人越用越顺,有人却一直在返工?
agent
JouYY4 小时前
大模型底层学习(三)-从零训练一个 BPE 分词器
架构·llm·agent
jufeng13075 小时前
【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 1 篇】
人工智能·python·架构·agent
蜡台8 小时前
Agency-Agents 智能体系统从零搭建实战指南
ai·agent
猿小猴子8 小时前
主流 Agent 之 「Zed」和 「ZCode」 介绍
ide·ai·agent·zed·zhipu·ade·zcode
JaydenAI8 小时前
[基于OpenEvals的自动化评估-11]针对Agent对话的评估[下篇]
ai·langchain·agent·evaluation·openevals
寻道码路10 小时前
大模型工程化实战(一):概率坍塌的救赎 - 给LLM输出加锁
大模型·agent·langgraph·ai工程化·llm确定性
MomentYY10 小时前
RAG 图检索&多跳推理:有些答案需要“顺藤摸瓜”
人工智能·agent·ai编程
maynormoe10 小时前
从 Vibe Coding 到 Verified Coding:让 Agent 真正进入编码生产的最佳实践
agent·vibecoding