章节摘要:第 4~5 章把动态层的"进"讲完了,本章讲"装不下"与"出事后"——跨成分的运维侧。6.1 讲何时压缩、丢什么:先划清与驱逐的分工——驱逐是日常超支的止血带(2.1 节),压缩是结构性不够用时的重构手术;触发条件四条(水位达 80%、驱逐后仍超、轮次阈值、阶段切换,示意);不可丢清单仍是 pinned 四项 + 最近 K 轮 + 输出预留;压缩的产出形态是结构化任务简报(任务目标 / 已确认事实 / 已做决策 / 未决问题 / 关键引用五栏);摘要必有信息损失——丢掉的多半是过程、否定信息与语气——分级压缩、原文外存可回查(offloading)与压缩后自检是三重缓解。6.2 讲上下文版本与调试:可观测的最小单位是每轮快照(结构 + 账本 + 版本号),
ce_snapshot.py给出快照与轮间 diff 示意;版本号纪律从 3.1 节的系统提示单一版本推广为"系统提示 × 组装器 × 记忆策略 × 检索配置"的组合版本;最后给一条调试工作流:症状 → 三问归位 → 快照 diff → 定位 → 回放。
阅读完本章,你应当能够:
(文字流程图) C ──▶ "offloading:原文外存可回查·(Deep Agents 内置原语,官方)" L ──▶ "可观测(6.2)·每轮快照 + 账本 + 组合版本号" "可观测(6.2)·每轮快照 + 账本 + 组合版本号" ──▶ "调试工作流·症状 → 三问 → diff → 回放"
一句话金句:驱逐解决"这轮超了",压缩解决"永远会超",可观测解决"为什么超"——三者是动态层的三道保险,不是三种可选项。
💡 本章两节一个是写时的手艺(压缩),一个是读时的手艺(调试)。它们服务的场景不同:压缩让你在长会话里活下来,快照与版本号让你在出事故后说得清"当时模型看见了什么"——后者在生产系统里往往更救命。
压缩与驱逐的分工;四条触发条件;不可丢清单;五栏任务简报;摘要的信息损失与三重缓解;自摘要与模板抽取两种实现。
本节把 2.1 节抛错的那一行("驱逐后仍超预算:该触发压缩了")兑现成完整方案。
每轮快照的最小结构;ce_snapshot.py 快照与 diff;组合版本号纪律;调试工作流与三个典型案例;账本指标与告警水位。
本节给动态层装上黑匣子——出事后的第一手证据。
6.1 压缩(写时的手艺:装不下时怎么重构窗口) │ 重构必须留痕,问"事后怎么说清当时窗口里是什么" ↓ 6.2 版本与调试(读时的手艺:快照 · diff · 回放) │ 运维侧齐了 ↓ 第 7 章 框架与实战(把手艺映射到框架组件,再合成为一个完整案例)
6.1 改变窗口的内容,6.2 记录窗口的变迁——没有 6.2 的快照,6.1 的每次压缩都是一次不可追溯的黑箱操作;没有 6.1 的纪律,6.2 的 diff 里只会看到反复触发的驱逐告警。两节合起来,动态层才谈得上"可运维"。
读毕自检:你的系统现在能否回答"上周某轮,模型看见了什么、各占多少 token、当时是哪个版本"?三问全卡壳,本章就是为你写的。
前置知识:2.1 节驱逐顺序与 pinned 清单(压缩的"不可丢"直接继承它)、ce_budget.py 的账本口径(快照与指标沿用);2.2 节位置模板(简报在窗口里的落位);3.1 节版本化四纪律(6.2 把它推广成组合版本号)。
读完 2.1 节再读本章最顺——压缩的全部触发条件,都是驱逐救济用尽之后的下一步。
为后续奠定基础:6.1 的压缩与 offloading 对应 LangChain 四操作中的 compress,是 7.1 节映射表的一行、Deep Agents 的 summarization 内置原语;6.2 的组合版本号与快照是 7.2 节客服案例"运行时事件流"的记录格式。压缩策略的评测(简报质量怎么量化)属于评测话题,本书不展开。