什么是 Active Memory
Active Memory 是 OpenClaw v2026.4.10 引入的可选插件,在主 Agent 回复之前自动运行一个记忆子代理,主动拉取相关偏好、上下文和历史细节,无需用户显式说"记住这个"或"想想之前"。
与传统记忆系统的区别:
| 维度 | 传统 Memory | Active Memory |
|---|---|---|
| 触发方式 | Agent 主动查询或用户提示 | 每次回复前自动 |
| 延迟影响 | 仅在需要时增加延迟 | 每次回复都增加延迟 |
| 上下文质量 | 取决于 Agent 判断 | 由专用子代理负责 |
| 适合场景 | 大部分场景 | 强上下文依赖场景 |
启用 Active Memory
# config.yaml
plugins:
active-memory:
enabled: true
contextMode: "recent" # message | recent | full
启用后,OpenClaw 会在每次主 Agent 响应前调用记忆子代理。
三种 Context Mode
1. message 模式
只发送最新一条用户消息给记忆子代理:
plugins:
active-memory:
contextMode: "message"
- 优点:开销最小,速度最快
- 缺点:缺乏对话上下文,可能误判
- 适合:单轮对话为主的场景
2. recent 模式(推荐)
发送最新用户消息 + 少量近期对话尾部:
plugins:
active-memory:
contextMode: "recent"
recentTurns: 3 # 包含最近 3 轮对话
- 优点:平衡上下文质量和性能
- 缺点:仍可能遗漏远距离上下文
- 适合:大多数场景
3. full 模式
发送完整对话给记忆子代理:
plugins:
active-memory:
contextMode: "full"
- 优点:最准确的记忆检索
- 缺点:每次都消耗大量 Token,延迟较高
- 适合:长对话、复杂任务
高级配置
子代理模型选择
可以为 Active Memory 子代理配置专门的(通常更小、更快)模型:
plugins:
active-memory:
enabled: true
subAgent:
provider: "qwen"
model: "qwen-turbo" # 用便宜快速的模型
temperature: 0.3
这样主 Agent 用 Claude/GPT-5 等大模型,而记忆子代理用千问 Turbo 等小模型,大幅降低成本。
Verbose 检查模式
调试时启用 verbose:
plugins:
active-memory:
verbose: true
可以看到:
- 每次记忆子代理被调用时拉取了什么
- 注入到主 Agent 的上下文是什么
- 子代理的"思考过程"
Prompt Override
不推荐普通用户修改,但有需要时可以覆盖默认 prompt:
plugins:
active-memory:
promptOverride: |
你是一个记忆助手,针对接下来的对话,
只返回与对话最相关的 1-3 个事实,
格式为 JSON:{"facts": ["...", "..."]}
OpenClaw 会在 prompt 后追加对话上下文。
⚠️ 注意:默认 prompt 经过精心调整,会返回 NONE(无相关记忆)或紧凑的用户事实上下文。修改 prompt 前请测试效果。
实际效果对比
不启用 Active Memory
用户:我喜欢的咖啡牌子是什么?
Agent:抱歉,我没有这个信息。
(除非用户之前明确说过"记住我喜欢 XX")
启用 Active Memory
用户:我喜欢的咖啡牌子是什么?
[Active Memory 子代理触发,扫描历史对话]
[发现用户曾在多次对话中提到 "Blue Bottle"]
[注入上下文:用户多次提及偏好 Blue Bottle 咖啡]
Agent:根据我们之前的对话,你提到过 Blue Bottle。
需要我推荐附近的店铺吗?
性能考虑
Token 消耗
Active Memory 每次回复都会消耗额外 Token:
| Mode | 每次回复额外 Token | 月度成本(1000 次/天) |
|---|---|---|
| message | ~200 | 取决于模型 |
| recent | ~500 | 取决于模型 |
| full | ~2000+ | 显著增加 |
建议配合廉价模型作为子代理。
延迟影响
每次主回复前会增加:
- message 模式:100-300ms
- recent 模式:300-800ms
- full 模式:1-3s
如果对延迟敏感,建议用 message 模式或不启用。
与其他记忆系统的关系
Active Memory 不替代其他记忆系统,而是前置层:
用户消息
↓
[Active Memory 子代理] ← 启用时
↓ 注入相关上下文
主 Agent
↓ 检索时使用
[Memory System (向量)]
[Memory-Wiki (结构化)]
[Dreaming (长期巩固)]
四层记忆体系协同工作。
适用场景
强烈推荐
- 个人助手:用户习惯、偏好高度个性化
- 客户支持:每个客户的历史很重要
- 长期协作:与同一用户的关系积累
不推荐
- 一次性查询场景
- 对延迟极度敏感
- Token 预算紧张
监控和调试
# 查看 Active Memory 状态
openclaw plugins status active-memory
# 查看最近的子代理调用日志
openclaw logs --filter active-memory --tail 50
# 临时禁用
openclaw plugins disable active-memory
注意事项
- Active Memory 需要 OpenClaw v2026.4.10 或更高版本
- 子代理消耗的 Token 计入总 API 费用
- 默认设置已经过调优,不建议轻易修改 prompt
- 如果发现 Agent 行为变怪异,可以临时禁用排查
- 建议先用 recent 模式试运行,再决定是否切换到 full