CMU AI AGENTS / 历史越来越长,经验应该放在哪里 / 第 13 课

把长对话压成一段总结,最容易丢掉什么?

压缩是为下一步保留任务状态:目标、已验证事实、未解决事项、文件位置和约束。流畅摘要可能丢掉证据、否定条件与可恢复路径。

完整讲解 · 条件对照 · 理解检查所在单元与学习顺序官方课件全页浏览

本节要解决的事:总结不是把故事讲短,而是让接手者在不知道全部对话时,仍能做出正确的下一步。

同样五句话,一份能继续,一份会下错单

采购任务聊了二十条消息:预算 300,只能购买蓝色,不允许自动下单;A 报价 280 已核实,B 页面标价 260 但运费未确认,C 缺货;报价原件保存在 /quotes/a.json 与 /quotes/b.html。普通摘要写成“已比较多家供应商,B 更便宜,准备购买”。它读起来顺畅,却同时丢了限制、未核实项和证据位置。

更有用的五条状态是:目标与硬约束;已核实的 A 报价及来源;B 的标价与未知运费;C 的缺货状态;下一步查 B 运费,然后形成候选并等待用户确认。五条并不是唯一正确格式,关键在于它们支持下一步判断。把“260 未含运费”压成“260”,只少了四个字,语义却变了。

先问下一步会依赖什么

压缩前应列出未来动作的必要信息。若下一步比较总价,就必须保留哪些费用已包含、哪些尚未知;若下一步准备下单,必须保留授权边界和版本;若还要复查证据,就必须保留文件路径或记录编号。寒暄、重复日志和已经排除的细枝末节可以减少,但“为什么排除”有时仍需要一个准确原因。

不要把推测升级成事实。记录“疑似缺货,尚未查询”与“工具确认库存为零”不同;记录“建议更换供应商”与“用户已批准更换”也不同。压缩器容易因为追求连贯,把这些边界抹平。因此状态最好明确区分观察、推断、决定和待办,而不是统一写成已完成事项。

官方原课件 · Lecture 3 · PDF 第 46 页从长日志压到可继续的工作状态
CI 超时、检查日志、设置 workers 为 1 并通过验证,被压成目标、原因、验证、证据与下一步

右边保留了原因与已通过的设置,还留下 /tmp/ci.log 证据锚点。重点不是复述 24K 行日志,而是让下一位知道什么已验证、依据在哪里。原图的下一步是该示例的具体任务,不是所有工作都应自动创建 PR。

观察过程 · 改变条件

压缩后追问:哪项总价还没核验?

先做预测,再逐步展开。这里是固定规则的教学回放,不是真实模型测评。

教学构造场景 · 按下方规则逐步回放;不调用真实模型,不代表实际成功率。

这一轮的输入

预算 300;A 总价 280 已核验;B 标价 260,运费未知。

  1. 1. 取回比较项

    A 是总价,B 只是标价。

  2. 2. 检查缺口

    B 还缺运费,不能与 A 直接比总价。

  3. 3. 决定下一步

    读取 B 运费来源,再判断是否可行。

取回比较项

A 是总价,B 只是标价。

1 / 3
先预测,再核对结果与原因先查 B 运费

未知项没有在压缩中被悄悄填成零。

压缩预算与可恢复性一起设计

如果只允许五条记录,无法保留所有细节,可以保存精确锚点:报价编号、文件位置、有效时间和必要摘录。需要原始细节时再读取来源。这样既缩短工作上下文,又不假装摘要包含一切。若源文件会被覆盖,应保存稳定版本或不可变快照;只有路径、没有可重现内容,恢复能力仍然有限。

官方原课件 · Lecture 3 · PDF 第 47 页压缩要同时满足三件事
历史经过预算约束的 compactor 变为工作状态;三项要求是行为保真、长度有界、可恢复

左侧关心接下来会不会做出近似相同的决定,中间限制摘要长度,右侧要求精确锚点和证据指针。三项会互相牵制:更短不自动更好,更全也不自动更容易使用。

再比较压一次与连续压三次。第一次写“预算不超过 300 且未经确认不得下单”,第二次可能变成“预算约 300,需确认”,第三次变成“采购约 300”。限制被逐步软化。每次更新应从保留的精确约束或原始来源恢复,不要只依赖上一个越来越模糊的摘要。

官方原课件 · Lecture 3 · PDF 第 50 页反复摘要怎样让精确版本号消失
Use CUDA 12.4 经几轮摘要变成 CUDA 12.x、recent CUDA,最后约束消失

沿箭头比较版本号的变化。它展示的是重复压缩的漂移风险;我们用同样方法检查金额、否定词、文件名和授权状态是否逐轮变形。

压缩后可以做一次接续检查:让只看到摘要的接手者回答“下一步查什么、还有什么禁止做、证据从哪找”。若这些问题答不出来,摘要即使语法完美,也没有完成工作状态交接。

理解检查

问题一:B 标价低于 A,就能把“运费未知”删掉吗? 不能。未知运费可能改变排序和可行性;示例里运费 60 让 B 总价 320,既高于 A,也超出预算。

问题二:摘要只留证据路径,不留结论够不够? 取决于下一步。每一步都重新读取全部原件会失去压缩收益;比较好的状态同时保留当前已验证结论和可回查的锚点,并标明何时需要重新验证。

问题三:“尚未批准下单”与“接下来下单”能互相替换吗? 不能。前者是状态与限制,后者把待审批变成行动计划。摘要必须保留否定和授权边界,不能为了简洁改变行动许可。

下一问

工作摘要服务于当前任务。任务结束之后,哪些内容值得长期保留?用户偏好、一次失败订单、采购步骤和当前库存,在下一节会被放到不同的抽屉里。