将对话记录重放作为默认的智能体记忆是许多长期失败的根源——有界状态与更大窗口

Reddit r/AI_Agents 新闻

摘要

讨论了将对话记录重放作为默认智能体记忆的缺陷,引用了关于上下文退化的研究,并倡导使用具有显式写入策略的有界状态记忆。

大多数智能体框架默认采用某种形式的对话记录重放:每次交互都将整段对话(或其检索到的片段)重新注入上下文窗口。这在短期运行中表现尚可,但在长期运行中就会失效,而且我认为更大的窗口并不能解决这个问题。有两个数据点塑造了我的看法:Chroma 的上下文退化报告评估了 18 个模型(GPT-4.1、Claude 4、Gemini 2.5、Qwen3),发现在达到 token 限制之前,准确率就已显著下降——并非均匀下降,有时在简单的检索/复制任务中会下降 30-50%。位置也很重要:窗口的开头和结尾保持较好,而中间部分退化严重。(trychroma.com/research/context-rot)近期一篇论文《AI Agents Need Memory Control Over More Context》(arXiv 2601.11653)主张,每一轮智能体应提交一个有界内部状态,而非持续增长的对话记录,并明确区分回忆某个工件与将其提交到持久性记忆。声称相比对话记录重放和检索,这种方法在 IT 运维、安全和医疗工作流中漂移/幻觉更低。虽然我没有绝对可靠的数据支持,但这个框架是正确的。我的看法是:长度从来不是扩展的轴心。有趣的决定在于你拒绝保留什么。如果检索到的片段静默地成为“记忆”,那么你就会继承所有糟糕的片段,而中毒只需一次错误的写入。写入策略(提交什么)加上状态模式,感觉上比把一切都扔给向量存储并指望检索来拯救你更为诚实。利益披露声明:我构建智能体记忆基础设施(MTRNIX),因此我倾向于认为“记忆是第一层抽象”。此处并非推销。对于在生产环境中运行超过约 30-40 轮智能体的人,我想问:你们是否有衡量记忆质量的实际指标,还是仅仅看 token 数量和感觉?是否有人真的推出了有界状态/提交摘要的方法,并针对重放进行了测量?
查看原文

相似文章