上下文窗口:预算、压缩与裁剪

上下文窗口:预算、压缩与裁剪:把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息,通过架构、轨迹和故障重放完成验收。

学习目标

  • 能解释“上下文窗口:预算、压缩与裁剪”如何把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息
  • 能区分上下文窗口、注意预算、按需检索、压缩、结构化笔记,并指出控制权、数据与副作用边界
  • 能固定输入与版本,沿以下证据定位首个分叉:token 预算、消息分类、保留清单、压缩前后事实断言、引用与任务结果
  • 能注入“按最旧消息直接截断,连同尚未解决的约束和工具错误一起删除”,完成阻断、恢复、复位和同输入重放

来源、课程编排与适用边界

“上下文窗口:预算、压缩与裁剪”以Anthropic 公开全文《Building effective agents》为总纲,并用Anthropic《Effective context engineering for AI agents》核对本单元机制;涉及 MCP 的控制权边界再由MCP 2025-06-18 官方规范交叉检查。

这不是 Anthropic 出版的“19 章教材”。平台把公开文章、官方工具文档与协议规范重组为 19 个应用单元;下列 152 个节点是站内课程地图,不冒充原文目录。正文、代码、图表、实验和练习均为独立教学重写;产品接口、模型行为或协议版本变化时必须重新验证。

本单元的八个课程坐标

  • 上下文窗口:预算、压缩与裁剪:这是“把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息”的第 1 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 先打个比方:这是“把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息”的第 2 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 第一个概念:上下文窗口,是一笔有限的 token 预算:这是“把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息”的第 3 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 第二个概念:窗口装满了,会出什么事:这是“把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息”的第 4 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 第三个概念:腾地方的两招——压缩 vs 裁剪:这是“把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息”的第 5 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 动手看:一个会涨的窗口,怎么「填满 → 压缩腾空 → 继续」:这是“把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息”的第 6 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 第四个概念:lost in the middle——别把关键信息埋在中间:这是“把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息”的第 7 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 用代码看一个「超长就压缩」的策略长什么样:这是“把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息”的第 8 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。

术语与运行合同

本页不变量是:压缩或裁剪后必须保留任务目标、关键决定、未解决问题和可追溯引用。任何“成功”结论都要保存以下证据:token 预算、消息分类、保留清单、压缩前后事实断言、引用与任务结果,模型生成的计划或自信不能替代环境事实。

关键机制与可推翻实验

更长不等于更可靠

上下文增加会带来边际收益递减和注意分散,应优先提高信号密度。

动手验证:固定模型和任务,逐档增加无关材料,测量关键事实召回。

按需加载优于一次塞满

文件路径、查询和资源标识可作为轻量索引,真正内容在需要时获取。

动手验证:比较预加载全库与逐步检索的 token、延迟和答案证据。

压缩先追求召回

初版摘要应保留全部关键决定,再逐步去除冗余,不能一开始激进删减。

动手验证:对压缩前后的事实清单做确定性断言。

工具结果可以清理但要留结论

深层历史中的大段原始输出可移出窗口,同时保留来源、摘要和复取方式。

动手验证:清掉旧结果后让智能体重放,确认能按引用重新取得证据。

先预测,再操作三类证据

分步1 / 3

1. 架构与复杂度边界

在“上下文窗口:预算、压缩与裁剪”中切换简单基线、受控工作流与自主循环,先预测“把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息”在哪个阶段需要增加控制权,再比较延迟、成本、可观测性和自主性。

Architecture decision laboratory

上下文窗口:预算、压缩与裁剪

把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息

复杂度档位

不变量:压缩或裁剪后必须保留任务目标、关键决定、未解决问题和可追溯引用

受控工作流:只激活能够由收益证明的阶段1信息盘点2按需检索3重要性排序4压缩裁剪5回归验证蓝色表示当前方案承担的责任;虚线阶段仍留在系统边界外。关键证据:token 预算、…
自主性46
延迟52
成本48
可观测78

最小可运行实现

function compact(trace: Event[], budget: number) {
  const mustKeep = trace.filter(isGoalDecisionOrOpenIssue);
  const recent = trace.slice(-6);
  const summary = summarizeWithCitations(trace.slice(0, -6));
  const next = dedupe([...mustKeep, summary, ...recent]);
  assertFactsPreserved(trace, next);
  return fitTokenBudget(next, budget);
}

这段切片只暴露“把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息”的最小运行合同。交付版本还要补齐超时、密钥隔离、结构化日志、幂等和批量评测;缺少token 预算、消息分类、保留清单、压缩前后事实断言、引用与任务结果时,代码能运行也不代表本章结论成立。

练习与答案

练习

问题 1:最小证明。 怎样用最少样本证明“压缩或裁剪后必须保留任务目标、关键决定、未解决问题和可追溯引用”?

问题 2:课程覆盖。 上下文窗口:预算、压缩与裁剪、先打个比方、第一个概念:上下文窗口,是一笔有限的 token 预算、第二个概念:窗口装满了,会出什么事、第三个概念:腾地方的两招——压缩 vs 裁剪、动手看:一个会涨的窗口,怎么「填满 → 压缩腾空 → 继续」、第四个概念:lost in the middle——别把关键信息埋在中间、用代码看一个「超长就压缩」的策略长什么样如何进入可操作验证?

问题 3:恢复闭环。 怎样证明“按最旧消息直接截断,连同尚未解决的约束和工具错误一起删除”已经修复?

本章回顾

  • “上下文窗口:预算、压缩与裁剪”的主问题是把上下文视为有限注意预算,用按需检索、压缩和结构化笔记保留高信号信息。
  • 核心不变量是压缩或裁剪后必须保留任务目标、关键决定、未解决问题和可追溯引用。
  • 首要反例是按最旧消息直接截断,连同尚未解决的约束和工具错误一起删除。
  • 最小证据包包含token 预算、消息分类、保留清单、压缩前后事实断言、引用与任务结果。

名词解释

本章出现的专业名词,用大白话再讲一遍。

上下文窗口

一次推理时模型可接收的 token 集合。在“上下文窗口:预算、压缩与裁剪”中必须能按以下证据重新定位:token 预算、消息分类、保留清单、压缩前后事实断言、引用与任务结果。

注意预算

上下文增长时仍能可靠利用信息的有限能力。在“上下文窗口:预算、压缩与裁剪”中必须能按以下证据重新定位:token 预算、消息分类、保留清单、压缩前后事实断言、引用与任务结果。

按需检索

运行时只加载当前步骤需要的信息。在“上下文窗口:预算、压缩与裁剪”中必须能按以下证据重新定位:token 预算、消息分类、保留清单、压缩前后事实断言、引用与任务结果。

压缩

把长轨迹提炼为保留关键事实的较短表示。在“上下文窗口:预算、压缩与裁剪”中必须能按以下证据重新定位:token 预算、消息分类、保留清单、压缩前后事实断言、引用与任务结果。

结构化笔记

把目标、决定、证据和待办存为可持续更新的外部状态。在“上下文窗口:预算、压缩与裁剪”中必须能按以下证据重新定位:token 预算、消息分类、保留清单、压缩前后事实断言、引用与任务结果。

阅读导航

← 提示工程精要 · 结构化输出与工具调用协议 →

讨论

评论区加载中…