compact 总结:把「聊累了」的会话榨成一份纪要

本条目是「Context Engineering」的第 12 部分,对应学习清单条目 3.3.3。

前置依赖:找到临界点

为以下铺垫:重注入格式设计


核心观点

compact(压缩总结):把已经很长的对话蒸馏成高保真摘要,腾出上下文空间继续跑——相当于给 Agent 做「阶段性笔记」,而不是从头背到尾。

就像写论文:你不会把读过的 200 篇文献全文记在脑子里,而是写成文献综述,需要细节再回去翻。compact 就是让模型在会话中途写「阶段性综述」,丢掉流水账、留住决策与结论。

定义 / 原理 / 实践 / 示例 / 优劣势

定义与原理

compact = 把上下文窗口蒸馏成摘要,保留关键决策/结果、丢弃无关细节。Anthropic Cookbook 把它列为长程 Agent 三大上下文杠杆之一,并说明 Claude Code 在生产中对长会话使用 compaction(压缩)。

三种触发方式


graph TD

    A["触发 compact"] --> B["① 接近临界点<br/>质量将降"]

    A --> C["② 定期<br/>每 N 步"]

    A --> D["③ 用户请求<br/>/compact"]

    B --> E["蒸馏成摘要<br/>续命长会话"]

    C --> E

    D --> E

工程实践

  • 主动 compact:在 ~40–50% 处手动 /compact 并附引导(「聚焦认证重构,删掉测试调试」),比等系统自动压缩更可靠。

  • 可恢复压缩:完整对话 dump 到本地 JSONL「黑匣子」,要精确细节时 Agent 主动读回——有损压缩变可恢复。

  • 配合重注入:compact 后若把关键约束压丢了,立刻补一刀 长任务重注入

优劣势

  • ✅ 让长会话以最小性能损失续命;省 token;Claude Code 有一手 API 支持(server-side compaction)。

  • ❌ 有损——自动压缩发生在「上下文最长、模型最糊涂」时,最容易丢关键信息;要附引导、别盲信。

核心要点

概念一句话
compact长对话蒸馏成摘要,腾空间续命
触发临界点前 / 定期 / 用户请求
关键主动 + 附引导,别等自动
兜底原始对话落黑匣子可恢复

最新研究与企业数据

  • 官方定义(一手):Anthropic Cookbook 把 compaction 定义为「将上下文窗口蒸馏成高保真摘要,让长对话以最小性能下降继续」,并指出 Claude Code 在生产中用它处理长会话(来源:Anthropic Cookbook)。

  • 一手 API 支持(一手):Anthropic 提供 server-side compaction、context editing(含 tool-result clearing)、memory 三类一手实现(来源:Anthropic Cookbook / Effective Context Engineering)。

  • 自动压缩翻车(一手):Anthropic 1M 上下文博客坦承,自动压缩触发那一刻「恰恰是上下文最长、模型表现最打折的时候」,建议提前主动 /compact 并附说明(来源:Anthropic 1M 上下文博客)。

学习资源

速记卡(面试闪卡)

Q1:一句话讲清「compact 总结:把「聊累了」的会话榨成一份纪要」到底是什么?

A:compact 把很长的对话蒸馏成高保真摘要,腾出上下文空间续跑——像给 Agent 写阶段性综述而非从头背到尾。

Q2:核心观点:阶段性综述 —— 怎么理解?

A:像写论文:你不会把 200 篇文献全文记脑子里,而是写文献综述,要细节再翻。compact 让模型中途写「阶段性综述」,丢流水账、留决策。

Q3:三种触发方式 —— 怎么理解?

A:接近临界点(质量将降)、定期每 N 步、用户请求 /compact——三条路都汇到「蒸馏成摘要续命长会话」,像定时存盘防崩。

Q4:工程实践:主动+可恢复 —— 怎么理解?

A:在 40~50% 处主动 /compact 并附引导比等系统自动更稳;完整对话落 JSONL 黑匣子,要细节 Agent 主动读回——有损压缩变可恢复。

Q5:优劣势与企业数据 —— 怎么理解?

A:优在让长会话最小损失续命、省 token、有 server-side compaction;坑是「自动压缩」偏在上下文最长最糊涂时丢关键信息,要附引导。

Q6:核心速记主线有哪些?

  • compact:长对话蒸馏成摘要腾空间

  • 触发:临界点前 / 定期 / 用户请求

  • 关键:主动 + 附引导,别等自动

  • 兜底:原始对话落黑匣子可恢复

口诀

A:聊累榨成阶段性,

三种触发莫等自动;

黑匣子留可恢复,

丢了约束补重注。

相关链接

下一篇重注入格式设计——compact 讲完,下篇讲「重注入的关键约束,格式怎么设计才不被忽略」。


参考来源(一手链接 · 可溯源深挖)