首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >会话压缩不该靠模型自觉:为什么 Compaction 是 Harness 一等能力

会话压缩不该靠模型自觉:为什么 Compaction 是 Harness 一等能力

原创
作者头像
用户9746675
发布2026-08-25 18:39:05
发布2026-08-25 18:39:05
1480
举报

长任务跑到第三四十轮,最先崩的往往不是工具,而是上下文。历史消息越堆越厚,关键决策被淹没,token 账单先于结果爆炸。很多人的第一反应是:换更大窗口,或者在提示词里写「请自行总结前文」。这两种做法都不够。

DeepSeek Harness(dsh)把 compaction 单独做成「能力接口 + 默认 provider」,而不是塞进某个 Agent 循环插件里。这个选择值得咀嚼:会话压缩不是模型的礼貌习惯,而是运行时必须接管的一等能力。

一、为什么不能交给模型自觉

模型面对超长 transcript 时,常见三种「自觉」失败:

第一,它不知道该删什么。对它来说,三轮前的失败尝试和当前目标同等重要,摘要时容易把阻塞原因压扁成一句空话。

第二,它不愿意承认遗忘。压缩后仍会用笃定语气引用已经不在上下文里的细节,这就是长任务里最危险的自我欺骗来源之一。

第三,压缩时机由它决定时,往往已经太晚——要么上下文已经爆了,要么关键工具结果已经在截断边缘。

所以 compaction 的触发条件、保留策略、校验方式,必须写在 harness 层,而不是 prompt 层。

二、Harness 该管的三件事

触发:按 token 预算、轮次、或「工具结果占比过高」等可观测信号启动压缩,而不是等模型喊疼。

保留:至少保住四类信息——当前目标、未完成清单、已确认事实、最近失败与原因。过程性闲聊、重复试错日志、过期的中间草稿,优先丢掉或外置到可检索存储。

校验:压缩后必须能回答「任务目标是否还在」「禁止事项是否还在」「已完成步骤是否可复核」。如果这三条丢了,这次压缩就是事故,不是优化。

dsh 把 compaction 做成可替换 provider,方向是对的:策略可以换(摘要模型、结构化裁剪、外置记忆),但「长会话必须可管理」这件事不能没有。

三、压缩不等于遗忘,外置才是关键

很多人把 compaction 理解成「把旧消息摘要成一段文字塞回去」。更好的做法是分层:

  • 热路径:保留当前目标与最近若干步,保证下一步决策够用
  • 温路径:把关键事实写入可检索的外置记忆或进度文件
  • 冷路径:完整轨迹落盘,供审计与回放,不进每一轮 prompt

这样压缩损失的是即时可见性,不是系统真相。人也能翻外置进度介入;纯摘要黑盒一旦漂了,只能重启。

一个常见反例是:只做对话摘要、不做外置进度。表面上上下文变短了,实际上验收依据也一起变薄了。出了问题,你甚至说不清压缩前系统到底做到哪一步。

四、和成本、验收的关系

没有 compaction,单位任务成本会随轮次近似线性甚至超线性上涨——因为每次调用都在重放越来越长的历史。

没有受控的 compaction,验收也会失真:模型可能基于「它以为还在上下文里」的证据宣布完成。所以独立验收最好读外置状态和真实副作用,而不是只读对话摘要。

一个实用指标是:压缩前后,完成定义与禁止事项的一致性检查是否通过。通过才继续;不通过就回滚到压缩前快照。

也可以加一条成本指标:压缩后单轮平均 token 是否明显下降,且任务成功率不掉。只降成本、掉成功率,说明你在砍骨头而不是砍脂肪。

五、落地优先级

如果你的 Harness 还没有 compaction,不必先上复杂策略。先做三件最小的事:

  1. 给会话设硬预算,超限强制进入压缩流程
  2. 压缩时强制保留目标、未完成、禁止事项、最近失败
  3. 完整轨迹外置落盘,摘要只服务热路径

策略可以后续替换成更好的 provider;不变量是:长任务必须可压缩、可校验、可回放。

结语

窗口再大,也扛不住无限重放;提示词再严,也替代不了运行时预算。把 Compaction 做成 Harness 一等能力,本质上是承认:上下文是稀缺资源,必须被调度,而不能指望模型自觉节制。模型负责推理,Harness 负责让推理发生在还能算得清、记得住、验得过的上下文里。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、为什么不能交给模型自觉
  • 二、Harness 该管的三件事
  • 三、压缩不等于遗忘,外置才是关键
  • 四、和成本、验收的关系
  • 五、落地优先级
  • 结语
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档