Observational Memory 由两个后台 Agent 组成:Observer(观察者)和 Reflector(反思者)。Observer 持续监控对话,当未观察的消息累积到 30,000 token(默认阈值,可配置)时,将原始消息压缩为新的观察条目。Reflector 负责管理观察日志的生命周期,当观察条目累积到 40,000 token 时,合并相关条目、删除过时信息。
观察条目采用纯文本日志格式,而非结构化对象。每条观察包含日期、时间戳和内容,使用 emoji 标记优先级:红色圆圈(重要)、黄色圆圈(可能重要)、绿色圆圈(仅供参考)。这种设计让语言模型能够高效识别信息权重,同时保持人类可读性。
系统将上下文窗口分为两个区块:前部是观察日志,后部是原始消息历史。新消息追加到后部,直到达到阈值触发压缩。由于观察区块是追加式的,系统提示词和已有观察形成一致的前缀,可以利用 Anthropic、OpenAI 等提供商的提示词缓存机制,将 token 成本降低 4~10 倍。
在 LongMemEval 基准测试中,Observational Memory 使用 gpt-5-mini 达到 94.87% 准确率,是公开记录的最高分;使用 gpt-4o 达到 84.23%,超过官方 oracle 配置(仅提供包含答案的对话)2 个百分点。对于工具密集型任务,压缩比可达 5~40 倍。