OpenClaw · Memory System

让 AI 拥有"记忆"

四层架构,让对话真正"懂你"

四层架构 语义检索 Pi 集成
01 / 10
The Problem

金鱼记忆—— AI 的诅咒

你是不是受够了——每次都要从零开始教 AI?

  • 刚说完"这个客户叫张三",下一秒 AI 就忘了
  • 多轮任务做到一半,AI 开始重复之前的错误
  • 每次新对话,都要重新交代背景——烦不烦?

这不是 AI 的 bug,是架构问题。
传统对话每轮都是"全新开始",模型只看到当前输入。

02 / 10
Architecture

四层架构—— 记忆的进化

OpenClaw 用四层架构,把 AI 从"金鱼"变成"记忆大师"

Layer 01
会话历史
记住"刚才聊了什么"
Layer 02
系统提示词
记住"应该怎么做"
Layer 03
技能系统
记住"用什么工具"
Layer 04
长期记忆
记住"过去发生了什么"
03 / 10
Layer 01 & 02

会话历史 + 系统提示词

  • JSONL 格式持久化,树状结构
  • 上下文溢出时自动压缩裁剪
  • 按渠道类型区别处理
SessionManager.open()
.getHistory(10)
  • buildAgentSystemPrompt() 构建
  • 包含工具定义、安全护栏
  • 运行时元数据动态注入
systemPrompt
+ tools
+ skills snapshot
04 / 10
Layer 03 & 04

技能系统 + 长期记忆

  • 会话启动时一次性快照
  • 按需加载,约 24 tokens/技能
  • workspace > 用户 > 内置 三级优先级
SKILL.md
→ 快照注入
→ 按需调用
  • AI 主动调用 memory_search()
  • 语义检索,非全量加载
  • 跨会话、跨天的知识保留
memory_search({
query: "用户偏好",
maxResults: 5
})
05 / 10
Flow

Prompt 组装流程

一条消息进来,记忆系统如何组装完整上下文?

用户消息 会话历史 系统提示词 Skills 长期记忆 组装 → 模型
const finalPrompt = [ systemPrompt, // buildAgentSystemPrompt() history, // sessionManager.getHistory(10) relevantMemory, // memory_search({query: ...}) userMessage ].join('\n\n');
06 / 10
Pi Integration

Pi 集成—— 不是插件,是内嵌

不是子进程,不是 RPC——是内嵌方式

01
会话生命周期
完全自主控制
02
自定义工具
直接注入
03
多账户认证
无缝轮换
04
提供商无关
灵活切换

createAgentSession() — 深度定制,超越传统 Agent 调用方式

07 / 10
Principles

为什么这样设计?

01
分层解耦
每层独立,修改互不影响
02
语义检索
记忆可搜索,非全量加载
03
会话隔离
workspace 记忆互不污染
04
自动压缩
上下文溢出时智能裁剪
特性 传统方案 OpenClaw
历史管理 手动维护 SessionManager 自动
上下文加载 全量加载 按需裁剪
记忆检索 被动注入 memory_search 主动
Skills 加载 每轮扫描 会话快照
08 / 10
Scenarios

真实应用场景

01
跨天连续对话
4月5日说"记住这个客户叫张三",4月6日问"那个张三的项目进展如何?"——AI 记得
02
复杂任务接力
"帮我分析昨天的销售数据" → "再对比一下前天的"——不用重复背景,直接继续
03
多 Agent 记忆隔离
main / architect / designer 每个 Agent 有独立的 SessionManager,工作互不污染
09 / 10
让 AI 真正"懂你"
从今天开始
openclaw.ai →
10 / 10