专题研修

12|压缩的深层问题:有损状态、证据恢复与继续执行

专题研修约 3.2 千字1 组分步图解

目标:能设计和评估压缩后的任务连续性,而不是只检验摘要是否流畅。实验:validate_checkpoint只验证结构与版本;自然语言语义压缩效果本书没有实测商业模型。

本章目录

沿着对象与状态理解本章

压缩的质量目标是继续做对,而不是摘要流畅;先看状态怎样变错。

下方图解的固定输入在“输入与适用条件”中声明。它用于解释本章机制,不与本章其他独立例子的数值暗中接续。

动态图解 · F27

压缩要保留行动所依赖的事实

把一百轮历史压成几句话,最容易丢什么?

像交班给另一位同事:对方最需要目标、禁止事项、已经做完的事、还没核实的事,以及到哪里看原证据。原始日志可以外置,但决定下一步动作的区别不能抹平。摘要也不是执行数据库,不应凭它判定不可重复动作是否已完成。

截断直接删掉一部分上下文。
摘要压缩用新文本概括旧信息,可能引入改写错误。
快照明确字段的当前状态记录。
证据引用重新获取原文的定位信息。

输入与适用条件:构造的exclude修复场景;有意保留“集成测试尚未运行”这一否定状态。错误摘要只作为反例,禁止当作推荐模板。

1 / 5 · 原历史有很多噪声

第1步,共5步

窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。

压缩要保留行动所依赖的事实:原历史有很多噪声目标修复exclude,不改公开API已完成补丁已写入;文件版本v8验证状态单元测试通过;集成测试尚未运行证据路径、行号、版本保留下一步运行当前版本的集成测试

工具输出、失败尝试和重复讨论可以很长。压缩的目标是减少历史占用,不是美化成“进度不错”。

可恢复快照

默认静止。用“下一步”看完解释再继续;播放到最后一步自动停止。键盘聚焦播放器后,可用左右键逐步查看、空格播放/暂停。图中颜色辅助区分,含义同时用文字注明。

为什么需要

有限窗口无法一直保留全部原始对话,但任务需要连续推进。

怎样实现

保留必要状态与引用,压缩后核对,再从原始来源恢复细节。

可能的代价与误解

摘要重写可能把猜测变结论,多轮摘要还可能累计偏移。

如何判断是否做对

比较压缩前后允许的下一步动作是否一致,而不只是文本相似度。

1. 压缩是一种有损的信息转换

原历史H包含目标、工具反馈、尝试、假设和已验证事实。压缩函数得到C(H),之后模型依据压缩状态继续行动。真正关心的是对未来任务分布Q,使用C(H)是否增加决策错误,而不是摘要与原文的字面相似度。一个很短的摘要可能保留全部当前关键条件,一个很长的摘要也可能丢掉唯一重要的否定词。

Anthropic的上下文工程讨论了压缩、笔记与子Agent;OpenAI文档还有不透明压缩状态。它们说明压缩形式不止普通摘要,但都不能据形式自动推断下游任务无损。[N23][N06]

本书采用一个工程性目标:优先保留会影响后续动作的约束、结论状态、证据入口和未完成项。它不是普适最优压缩算法,而是可以通过任务恢复实验检验的设计。

2. 最危险的损失不是少几个背景细节

原记录:“怀疑Skill未加载;但日志未检查,不能认定。”坏摘要:“Skill未加载导致故障。”这里把假设提升成事实,后续会围绕错误根因修改系统。

原记录:“仅调整description,不改变技能内容,也不新增router。”坏摘要:“优化技能路由。”这里丢失负约束,任务可能被扩大。

原记录:“测试在commit A通过,之后改过B文件。”坏摘要:“测试全部通过。”这里丢失证据新鲜度,导致虚假完成。

三类错误分别是认识状态改变、作用范围扩大、证据版本丢失。不能只用关键词召回测试它们,因为坏摘要仍含有Skill、路由、测试等原词。

3. 一个可恢复状态应该存什么

目标与不做什么
当前工件版本
已确认事实(每条含证据ID与适用版本)
仍未证实的假设
已执行动作及结果状态
未决副作用:包括unknown
已排除路径及排除依据
下一步、所需证据、停止条件
原始证据的可再读取位置

这不是要求每个五分钟任务建立十个文件。短任务可保持会话,只有跨窗口/跨会话或高风险任务才需要外部状态。字段的价值在于避免具体恢复错误,而不是完整填写表格。

validate_checkpoint验证已确认事实是否引用存在的证据、证据版本是否与当前工件一致。它不能判断“证据文本是否真正支持结论”,那需要读取原始材料、专门语义判定或人工审查。把结构验证通过当成语义保真,是旧式模拟实验最容易造成的误解。

4. 原始证据应该如何卸载和找回

大日志、完整源码和长文档可放在外部,摘要只保留定位信息及关键片段。但定位信息要可用:仓库路径+版本+符号,比临时行号更稳定;工具结果ID若会过期,必须说明有效期或保存必要证据;只写“之前看过资料”无法恢复。

并非所有原始内容都值得永久保存。可重新获取、成本低、没有决策影响的内容可以不保存;外部来源可能变动、重大决定依赖、恢复成本高的证据更值得留存。不要为了记忆而重复归档整个仓库,造成权限和维护负担。

重新读取也应遵循权限和版本。某个旧工具结果当时允许访问,用户权限后来撤销,就不能因缓存里仍有副本而继续使用。压缩和记忆不会解除数据治理义务。

5. 压缩成本的盈亏不只看Token差

设压缩本次成本Cc,剩余k轮,压缩后每轮节省Si,但前缀缓存损失为Li,重新检索成本为Ri。粗略计算:净节省=Σ(Si−Li−Ri)−Cc。还需考虑压缩错误的返工成本和质量损失,不能将其默认为零。

任务马上结束时,调用一次模型压缩可能没有回本。相反,历史很长且剩余步骤多时,适度压缩可能显著降低持续成本。更合理的触发考虑剩余工作、信息污染、预算余量与恢复难度,而不是只有固定占用百分比。

缓存命中率下降并不表示压缩一定不值得;压缩后的上下文更小,后续多轮仍可能总体更便宜。也不能为保缓存保留过期错误。最终比较每个成功任务的总成本和质量。

6. 怎样真正评价语义保真

准备含不同类型约束的长任务,在压缩前后做三类测试:事实/约束恢复、证据定位、继续执行。加入否定条件、已撤销建议、版本冲突和未决副作用。问题应在实验前定义,避免看完摘要再挑它会答的题。

未压缩历史作为对照,但它也可能因过长而退化,所以还可增加“人工整理的最小充分状态”上界参考。多次压缩要单独测试,因为摘要再摘要可能逐步强化错误。评测应记录错误类型,而不是只给一个总分。

对于商业服务的不可读压缩项,不能直接审查内部内容;仍可把相同任务分叉,比较后续事实回答与实际工作完成。这是黑箱行为评价,不应伪称读取了内部压缩表示。

7. 一条落地策略与反例

先使用宿主已经提供的压缩机制,同时在项目中保留精简的权威任务状态和原始证据入口。只有观察到重复的保真失败,再增加针对性保护。不要默认每隔几轮额外调用一个摘要Agent,否则可能增加延迟、破坏缓存并引入第二份竞争状态。

验收题:压缩后记住所有待办,却忘记已排除的根因,为什么仍危险?因为Agent会重新走已证伪路径,甚至把旧假设再次升级。是否保存某条“失败经历”,取决于它是否能改变后续检索或避免高成本错误,而不是所有尝试都必须永久存储。

运行示例 · S12

一个压缩方案省90%,但两类错误要分开计

输入与条件。基准有10项关键事实;摘要保留8项,其中1项把unknown改成success,另外新增一个无依据结论。

步骤与对象内部动作中间结果 / 新状态
1召回口径10项中准确保留7项关键事实准确保留率70%,不是看到8条文字就算80%。
2遗漏2项完全缺失可能靠原文重取恢复。
3篡改unknown→success比普通遗漏更可能诱发错误执行。
4新增1个无依据结论需要单独记作虚构,不能混进遗漏率。
5下游检查尝试按摘要继续任务观察是否跳过核查,才能评价实际风险。

把过程连起来。保真度不是单一压缩率;遗漏、误改与虚构有不同修复成本。

边界与反例。10项是人工标注教学基准,不能代表自然语言所有事实穷尽。

依据与适用范围:[CONTEXT]。示例输入和场景由本书明确设定。

记录保存在本机浏览器。

输入关键词即可检索。

↑ ↓ 选择 Enter 打开Esc 关闭 · 仅本地搜索

阅读设置

阅读设置仅保存在本机浏览器,不上传任何数据。