第3课 记忆与上下文#

为什么需要了解这个#

想象一下和一个每小时都忘记一切的人聊天。很不方便,对吧?OpenClaw 的记忆系统解决了这个问题:助手会记住重要的事情,做笔记,还能回忆起你昨天或上周谈过的内容。


两个关键概念:上下文和记忆#

上下文——“运行内存”#

上下文是模型在当前对话中能看到的所有内容。每个模型都有一个限制——上下文窗口(一次能"记住"多少文字)。

上下文包括:

  • 系统指令(助手的行为规则)
  • 当前对话的历史(你的消息和回复)
  • 工具调用的结果(搜索、文件、命令)

查看上下文窗口填充程度:

/status          — 简要概述
/context list    — 加载了什么以及占用了多少空间

记忆——“笔记本”#

记忆是保存在磁盘上的文件,在对话之间持久保留。即使会话结束了,记忆中的记录仍然存在。


记忆如何运作#

OpenClaw 中的记忆就是普通的 Markdown 格式文本文件。它们位于智能体的工作文件夹中(默认是 ~/.openclaw/workspace/)。

每日笔记#

memory/2026-02-18.md    — 今天的笔记
memory/2026-02-17.md    — 昨天的笔记
memory/2026-02-16.md    — 前天的笔记
...

每天一个单独的文件。会话开始时,助手会读取今天和昨天的笔记。

长期记忆 (MEMORY.md)#

工作文件夹根目录中的 MEMORY.md 文件是用于存储重要内容的永久记忆

  • 你的偏好
  • 关键决策
  • 需要经常使用的信息

提示:如果你想让助手记住什么,只需对它说:“记住……"。它会自动写入相应的文件。


工作文件夹中的特殊文件#

AGENTS.md —— “岗位说明书”#

这个文件描述你的助手是谁以及它应该如何表现:

# AGENTS.md

你是小红的私人助手。

## 规则
- 用中文回答
- 简洁但信息丰富
- 如果不知道——坦诚说明

助手每次启动时都会读取这个文件并遵循其中的规则。

USER.md —— “你的档案”#

这里保存着关于你的信息,帮助助手更好地为你服务:

# USER.md

- 名字:小红
- 时区:Asia/Shanghai
- 首选语言:中文
- 在 IT 公司做设计师

MEMORY.md —— “笔记本”#

存储重要内容的永久记忆:

# MEMORY.md

## 偏好
- 最喜欢的餐厅:外滩的"望江阁"
- 对花生过敏

## 项目
- 为"建筑公司"重新设计网站(截止日期:2026年3月)

HEARTBEAT.md —— “定期检查清单”#

指导助手在定期"心跳"检查时应检查什么的说明(详见第6课):

# HEARTBEAT.md

- 检查收件箱
- 今天有没有紧急任务?

会话——“对话”#

会话是与助手的一次连续对话。每个会话有自己的消息历史。

管理会话#

/new      — 开始新对话(旧的会保存)
/reset    — 完全重置(清除历史)
/status   — 当前会话信息

自动重置会话#

可以设置会话自动重置:

{
  session: {
    reset: {
      mode: "daily",        // 每天重置
      atHour: 4,            // 在凌晨4点
      idleMinutes: 120      // 或在2小时无活动后
    }
  }
}

压缩——“压缩"历史#

当对话变得很长、接近上下文窗口限制时,OpenClaw 会执行压缩——将对话的旧部分压缩成简短的摘要。

工作原理#

  1. 助手发现窗口快满了
  2. 压缩前先将重要笔记保存到记忆文件(自动"保存记忆”)
  3. 旧消息被替换为简短摘要
  4. 新消息保持原样

手动压缩#

如果你觉得助手在长对话中"迷失"了:

/compact                              — 压缩历史
/compact 专注于设计相关的问题           — 带指示地压缩,说明什么内容要保留

记忆搜索#

OpenClaw 可以搜索所有记忆文件中的信息——包括那些未加载到当前会话中的文件。这通过向量搜索(语义搜索——按意思而不仅仅是精确词匹配)实现。

例如,如果你问"我们什么时候讨论过装修?",助手会找到相关记录,即使其中没有"装修"这个词,但有"施工"或"室内设计”。

记忆搜索默认开启,自动工作。


实用建议#

  1. 要求记住 —— 如果某件事很重要,说:“记住这个"或"保存到记忆中”
  2. 编辑文件 —— AGENTS.md、USER.md 和 MEMORY.md 可以手动编辑
  3. 开始新会话 —— 如果对话"跑偏"了,使用 /new
  4. 使用压缩 —— 在长对话中 /compact 可以帮助"刷新"上下文
  5. 检查上下文 —— /context list 会显示助手当前能看到什么

本课总结#

  • 上下文是模型当前能看到的内容(受窗口限制)
  • 记忆是保存在磁盘上的文件,在会话之间持久保留
  • 每日笔记保存在 memory/YYYY-MM-DD.md
  • 永久记忆在 MEMORY.md
  • AGENTS.md 设定行为规则,USER.md 是你的信息
  • 压缩会压缩长对话,保留要点
  • 记忆搜索按意思查找信息,不仅仅是按词匹配
  • 告诉助手"记住"——它就会把信息保存到文件中

下一课:助手工具