长程 coding agent 有个不起眼却持续膨胀的成本:每轮推理都要重发整段会话历史。跑几小时的任务,上下文轻松堆到几十万 token,账单按每轮全量计。CMU 与博世 AI 中心 9 月 22 日放出的 CliffCompaction(arXiv:2609.26779)解法近乎粗暴:在 agent 与 API 之间架一个透明代理,历史一超阈值就压缩——只做两件事:截断和丢弃,绝不改写一个字。

反直觉的核心:不总结,只删减

传统 harness(Claude Code、Codex CLI 自带的 auto-compaction)的思路是把旧上下文折叠成一段新写的摘要,问题是「摘要的摘要」会漂移——每压缩一次,事实就离原始内容远一步。CliffCompaction 的规则全部是机械的:系统提示与任务描述原样保留;最近几轮对话原样保留;工具结果不超过 500 字符的整段保留,超长的直接丢弃——理由是文件还在磁盘上,agent 随时能重读;图片在摘要里一律丢弃。阈值默认 20 万 token,每次重新压缩会把上一份压缩结果整个扔掉、只从原始会话重算,论文称之为「never compact a compaction」:漂移不会累积。

实现上,代理对每条消息做哈希形成 hash chain,靠最长前缀匹配替换历史,解析失败一律原样透传(fail-open)。支持 Anthropic 与 OpenAI 双协议,uv tool install cliffcompaction 后 cliff enable 即用,agent 零改动;shadow 模式只记录会压掉什么,不动真请求。

数字说话:成本降一半,分数反升

论文报告:有界上下文下成本最多降 50%,Terminal-Bench 分数维持或提升。论文表格显示,Kimi K2.6 上 SWE-bench Verified(mini-swe-agent)全上下文 73.87%,32K 阈值压缩后 73.27%,几乎无损,压到 8K 才掉到 67.6%;Terminal-Bench 2.0 更反直觉,全上下文 59.16%,32K 压缩后反而升到 61.42%。

更妙的是 test-time scaling 账本:省下的单次 rollout 成本让并行采样变便宜,论文称 Terminal-Bench 能以低于两次完整上下文运行的代价多拿 10 个百分点以上;并行扩展下 Kimi K2.6 追平 Opus 4.7、超过 Opus 4.6 与 GPT-5.3 Codex,成本更低。KernelBench 上它支撑超百万 token 的持续学习,200 步后 CUDA 内核加速 2.23 倍,400 步后 3.58 倍——论文自述超过了专门的搜索算法与训练过的 agent。

冷静一点看

README 提醒要关掉 scaffold 自带压缩——某些 harness 会原地改写历史,破坏前缀匹配。评测以 coding 场景为主,模型覆盖 Kimi K2.5/K2.6/K2.7 与 GLM 5.1/5 Turbo;「删而不改」在其他场景是否同样无损,待社区验证。项目数天前才开源(MIT),star 还在两位数,离生产级背书尚早。

但对每天烧钱跑长任务的团队,这是零侵入实验:cliff run --shadow -- claude 先看它会删什么,再决定要不要省这一半。真正值得记住的洞察是:上下文管理上保真比聪明更重要——机械的删除保留了「发生过什么」,聪明的总结每次都在冒险丢掉它。

参考:arXiv:2609.26779 · github.com/nguyenvuthientrang/cliffcompaction