长任务超过上下文窗口后,把前半段对话总结成几段文字再继续,是最直接的压缩方法。它也最容易丢掉关键东西:用户说“不要提交”,摘要只保留了“修改配置”;工具状态仍未知,却被写成“部署失败”;一个尚未回答的问题从列表中消失。
上下文压缩不是文学摘要。它要把后续执行所需的约束和状态,从大量过程文本迁移到更小、可验证的运行表示。哪些可以概括,哪些必须原样保留,应该由信息职责决定,而不是按 token 比例截取。
邓明瑞 / 纯粹
长任务超过上下文窗口后,把前半段对话总结成几段文字再继续,是最直接的压缩方法。它也最容易丢掉关键东西:用户说“不要提交”,摘要只保留了“修改配置”;工具状态仍未知,却被写成“部署失败”;一个尚未回答的问题从列表中消失。
上下文压缩不是文学摘要。它要把后续执行所需的约束和状态,从大量过程文本迁移到更小、可验证的运行表示。哪些可以概括,哪些必须原样保留,应该由信息职责决定,而不是按 token 比例截取。
Agent Memory 最常见的实现,是每隔几轮让模型总结对话,把摘要写进向量库。这样很快会混进三类完全不同的数据:用户所在城市这类事实、偏好中文回答这类偏好、任务执行到第三步这类运行状态。它们的正确性、有效期和删除规则并不相同。
我会先拆数据模型,再谈 embedding/召回。事实需要来源和时间,偏好需要用户可见可改,运行状态需要强一致的 checkpoint。三层都可以进入上下文,但不能共用“相似度高就拿出来”的读写规则。