Context Relay解决Session记忆断裂
你有没有遇到过这种情况:上午和 AI 聊了一个项目,列了一堆计划…下午回来问"上午说的那个计划",AI 一脸懵——“什么计划?我不记得了。“这就是 Session 记忆断裂。
Anthropic Managed Agents 的架构思路
Anthropic 提出的架构把 Agent 拆成三个独立部分:
| 组件 | 职责 | 特点 |
|---|---|---|
| Brain | Claude + 调度 harness | 推理决策 |
| Hands | 沙盒执行环境 | 操作执行 |
| Session | 完整事件日志 | 持久化记录 |
关键洞察:Session 是事件日志,不是 context window 的副本。对 context window 的操作是可逆的,原始数据始终完整。
三种Session管理策略
- 继续之前的会话:不创建新Session ID,继续用原来的
- 分支会话:创建新Session ID,但保留历史
- 跨Session记忆共享:即使开了新的Session,也能访问之前的记忆
记忆刷新机制:自动化的持久化
最理想的情况是:不需要用户提醒,Agent 自己知道该记住什么。
触发时机:对话压缩前自动触发。Agent 感知到 context 快要满了,主动提取关键信息写入持久化存储。
OpenClaw的实践方案
OpenClaw 给出了三件套:
- Working Buffer:当前工作的暂存区
- WAL(Write-Ahead Log):预写日志,任何操作先记录再执行
- SESSION-STATE.md:结构化的会话状态文件
核心思想:Session 可以重启,但记忆必须延续。