Memory记忆机制
Memory 记忆机制用于让 Agent 在任务过程中保存和使用信息。记忆可以提升连续性,但也会带来隐私、污染和过期风险。
# 1. 记忆类型
| 类型 | 说明 | 示例 |
|---|---|---|
| 短期记忆 | 当前会话上下文 | 用户刚刚提供的需求 |
| 工作记忆 | 当前任务状态 | 已完成步骤、待办、工具结果 |
| 长期记忆 | 跨会话保存的信息 | 用户偏好、项目背景 |
| 外部记忆 | 存在数据库或知识库中 | 文档、工单、历史记录 |
# 2. 记忆结构
Memory
├─ content: 记忆内容
├─ type: preference / fact / task_state
├─ source: 来源
├─ created_at: 创建时间
├─ expires_at: 过期时间
└─ scope: 用户 / 团队 / 项目
没有来源、时间和作用域的记忆很容易变成风险。
# 3. 记忆写入
不是所有内容都应该写入记忆。
适合写入:
- 用户明确要求记住的信息。
- 长期稳定偏好。
- 项目背景和约定。
- 任务执行状态。
不适合写入:
- 密码、密钥、身份证等敏感信息。
- 临时或不确定信息。
- 未经用户确认的推测。
- 已经过期的业务状态。
# 4. 记忆检索
使用记忆时要按任务相关性检索,而不是全部塞入上下文。
当前任务
-> 查询相关记忆
-> 过滤过期和无权限内容
-> 拼入上下文
-> 模型使用
# 5. 风险与治理
| 风险 | 防护 |
|---|---|
| 隐私泄露 | 敏感信息不写入或脱敏 |
| 记忆污染 | 需要来源和可信度 |
| 过期信息 | 设置过期时间 |
| 权限混乱 | 按用户和团队隔离 |
| 上下文干扰 | 只召回相关记忆 |
# 6. 工程建议
- 默认少记,用户明确授权再记长期信息。
- 记忆要可查看、可删除、可过期。
- 重要记忆写入前可让用户确认。
- 记忆进入模型前做权限和敏感信息检查。
- 区分事实、偏好和任务状态,不要混成一段文本。
# 7. Tips 快问快答
Q:Agent 没有长期记忆是不是就不智能?
A:不是。很多任务只需要当前上下文和工具结果。长期记忆是增强能力,不是必需品。
Q:记忆可以当知识库用吗?
A:不建议混用。知识库强调来源和版本,记忆强调用户或任务状态,两者治理方式不同。
Q:记忆错了怎么办?
A:应该支持修改、删除和失效,并在关键任务中要求证据而不是盲目信任记忆。
上次更新: 2026/06/25, 17:53:09