Technical Guide

20. Memory 原理:长期上下文该记什么

理解 Memory 的边界:它不是聊天记录仓库,而是把稳定、有复用价值的信息注入后续任务。

Memory 不是聊天记录仓库

很多人把 memory 理解成“什么都记”。

这很危险。

Agent 记住错误信息,比不记还麻烦。

Memory 应该记什么

适合记的是稳定信息:

用户偏好
项目长期约定
常用路径
工作流约束
反复出现的事实

不适合记的是临时信息:

本次任务进度
一次性结果
可能很快过期的链接
未经验证的判断

DeerFlow 的 Memory 目录

相关源码:

backend/packages/harness/deerflow/agents/memory/

能看到:

message_processing.py
prompt.py
queue.py
storage.py
summarization_hook.py
updater.py

这说明 memory 包含提取、存储、更新、注入 prompt 等多个环节。

Memory 怎么参与任务

大致可以理解成:

对话或事件产生信息
|
处理和筛选
|
写入存储
|
后续任务注入上下文

关键不是“能不能记”,而是“该不该记”。

这一篇你要记住

Memory 的质量比数量重要。

对研究型 Agent 来说,Memory 更适合记用户偏好、报告格式、常用数据源,而不是每一次研究的临时细节。

Memory 的风险

Memory 一旦写入,就会影响后续任务。

所以它比普通上下文更敏感。

错误 memory 可能导致 Agent 长期沿着错误假设工作。

研究型 Agent 适合记什么

适合记:

用户偏好的报告结构
常用保存路径
常用来源优先级
不希望使用的来源
输出语言和风格

不适合记:

某一次研究的临时结论
未经验证的市场判断
很快过期的数据

memory prompt

目录里有 prompt.py,说明 memory 最终会影响提示词或上下文构造。

这也是为什么写入前要筛选。

进入 prompt 的东西,都会改变 Agent 后面的判断。