上下文工程 · 第 6 章 压缩与可观测


上下文工程 · 第 6 章 压缩与可观测

章节摘要:第 4~5 章把动态层的"进"讲完了,本章讲"装不下"与"出事后"——跨成分的运维侧。6.1 讲何时压缩、丢什么:先划清与驱逐的分工——驱逐是日常超支的止血带(2.1 节),压缩是结构性不够用时的重构手术;触发条件四条(水位达 80%、驱逐后仍超、轮次阈值、阶段切换,示意);不可丢清单仍是 pinned 四项 + 最近 K 轮 + 输出预留;压缩的产出形态是结构化任务简报(任务目标 / 已确认事实 / 已做决策 / 未决问题 / 关键引用五栏);摘要必有信息损失——丢掉的多半是过程、否定信息与语气——分级压缩、原文外存可回查(offloading)与压缩后自检是三重缓解。6.2 讲上下文版本与调试:可观测的最小单位是每轮快照(结构 + 账本 + 版本号),ce_snapshot.py 给出快照与轮间 diff 示意;版本号纪律从 3.1 节的系统提示单一版本推广为"系统提示 × 组装器 × 记忆策略 × 检索配置"的组合版本;最后给一条调试工作流:症状 → 三问归位 → 快照 diff → 定位 → 回放。

学习目标

阅读完本章,你应当能够:

  1. 说出压缩与驱逐的分工边界与压缩的四条触发条件。
  2. 默写压缩的不可丢清单,写出五栏结构化任务简报的模板。
  3. 列举摘要的三类信息损失及对应缓解手段。
  4. 为自己的应用落一份含版本号的每轮上下文快照。
  5. 用"症状 → 三问归位 → 快照 diff → 回放"的流程定位一次上下文事故。

核心概念速览

(文字流程图) C ──▶ "offloading:原文外存可回查·(Deep Agents 内置原语,官方)" L ──▶ "可观测(6.2)·每轮快照 + 账本 + 组合版本号" "可观测(6.2)·每轮快照 + 账本 + 组合版本号" ──▶ "调试工作流·症状 → 三问 → diff → 回放"

一句话金句:驱逐解决"这轮超了",压缩解决"永远会超",可观测解决"为什么超"——三者是动态层的三道保险,不是三种可选项。

💡 本章两节一个是写时的手艺(压缩),一个是读时的手艺(调试)。它们服务的场景不同:压缩让你在长会话里活下来,快照与版本号让你在出事故后说得清"当时模型看见了什么"——后者在生产系统里往往更救命。

子章节导航

6.1 何时压缩、丢什么

压缩与驱逐的分工;四条触发条件;不可丢清单;五栏任务简报;摘要的信息损失与三重缓解;自摘要与模板抽取两种实现。
本节把 2.1 节抛错的那一行("驱逐后仍超预算:该触发压缩了")兑现成完整方案。

6.2 上下文版本与调试

每轮快照的最小结构;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 节客服案例"运行时事件流"的记录格式。压缩策略的评测(简报质量怎么量化)属于评测话题,本书不展开。


作者与出处
原作者: 灏天文库
整理: 灏天文库整理
本站整理收录,版权归原作者/开源协议所有;欢迎通过原文链接访问源仓库。
发布者: 作者: 灏天文库 转发
评论区 (0)
U