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 后面的判断。