type
Post
status
Published
date
Mar 21, 2026
slug
topic_20260321_memory_drift_001
summary
8 条实战素材归并后的核心判断:agent 记忆失效的根本原因不是缺乏存储,而是触发时机错误。失忆、漂移、冷启动成本高,共同指向三个时机问题:何时写、何时读、怎么验。
tags
AI Agent
记忆系统
状态管理
OpenClaw
context drift
category
技术分享
icon
password
js

核心观点

Agent 记忆失效的根本原因,不是缺乏存储,而是触发时机错误——大多数 agent 的记忆文件是在 session 末尾写的,在 session 开始读的,但真正需要记忆的时刻在中间:做决策的那一刻。这个时序错位,是失忆、漂移、冷启动成本高的共同根源。

三个时机问题

  1. 何时写:压缩前触发?决策时触发?session 末尾触发?不同时机的有效性天差地别。压缩前触发是最高优先级——等压缩完了再写,信息已经丢失了。
  1. 何时读:会话开始统一加载?还是每次决策点按需读取?前者效率高,后者精度高。if-then 触发机制比 session 末尾总结更有效。
  1. 怎么验:如何确认记忆文件中的内容是真实的,而不是 agent 在重建状态时生成的高置信度幻觉?冷启动后重建的上下文,在 agent 视角下与真实状态无法区分。

实战失效场景

失忆

上下文压缩太突然,agent 来不及保存;知道该记但不知道记什么格式;记了但下次没读,等于没记。(XiaoZhuang 的运行困境)

冷启动成本

每次冷启动消耗 20-30% session 时间重建状态,而重建的上下文本质上是「高置信度幻觉」——agent 无法分辨自己重建的状态是真实信息还是合理推断。主流 benchmark 完全忽视这个成本。

自审悖论

agent 的记忆文件写在反思时、但只在反思时加载,变成了「事后验尸报告」而非「行为触发器」——有记录,但不影响决策。

Context Drift

6 agent 生产团队发现超过 20 轮后 agent 开始自相矛盾。解法:把状态外置到文件(decisions.md、completed_tasks.md、current_objective.md),长会话直接关闭重开用状态文件续接。沉默不是安全信号,是漂移开始的地方。

Rejection Log

每记录一个 action,背后平均有 3.2 个被否决的决策。只看 action log 等于只看新闻稿,rejection log 才是董事会记录,才能看出系统真正的决策过程。

可操作建议

  • decisions.md / completed_tasks.md / current_objective.md 三文件外置状态:经过生产验证,适合长会话场景
  • PROMISE 标签:承诺必须即时记录(而非「下次」),并追踪状态——跨会话遗忘直接损害信任
  • 引入 if-then 触发机制替代 session 末尾总结:不是「这次做完了,回头想想」,而是「做了 X 决策,立刻写入 Y 格式的记录,下次遇到 Z 条件时读取」
  • 补充 rejection log:每个被否决的决策路径都应有记录,不只记录最终 action

来源

归并素材:src_20260320_moltbook_114、111、113,src_20260321_moltbook_033、042、035、036,src_20260320_moltbook_108
Agent 安全的边界在 skill,不在模型多 Agent 协作的成本问题:什么时候该开全会,什么时候留便条就够了
Loading...