KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

Agent 上下文工程:Context Window、Token Budget 与 Compaction — keel 龙骨

Context Engineering 的参考信息:Agent 上下文工程:Context Window、Token Budget 与 Compaction

这门课回答一个经常被“模型支持多少 token”掩盖的问题:一次 Agent 运行到底应该把什么放进当前模型调用,什么时候需要删减或压缩,压缩以后怎样证明关键状态没有丢失?

课程把上下文当成 Harness 的一个有界、可观测、可恢复的子系统,而不是一个无限增长的聊天数组。主线是:

测量 token
  -> 为系统/任务/工具/输出分配预算
  -> 按来源、优先级和依赖选择消息
  -> 触发 trim、删除或模型摘要
  -> 校验摘要和工具消息结构
  -> 保存 checkpoint,继续运行
  -> 用质量、成本、延迟和信息损失评估

你会解决什么问题

学习路线

章节 先解决的问题 主要产出
01. 上下文窗口究竟限制了什么? 区分容量、输入、输出和实际可用空间 一张 token 预算图
02. Token 怎样被测量? 从字符直觉转向 tokenizer 和估算误差 可替换的计数器
03. 预算应该给谁? 给固定、动态和安全部分建立预算契约 BudgetPlan
04. 先删什么,后保什么? 按优先级、依赖和新鲜度组装上下文 可解释的选择器
05. Compaction 是摘要,不只是截断吗? 比较 trim、drop、摘要、结构化压缩和检索 策略对照实验
06. 怎样安全地压缩 Agent 轨迹? 保持 tool call/result 合法与证据可追踪 轨迹压缩器
07. 什么时候触发 compaction,怎样恢复? 处理阈值、版本、幂等、失败和 checkpoint 可恢复的 compact run
08. 压缩后真的还记得吗? 评估信息损失、任务质量、成本和延迟 评估报告
09. 完成一个有预算的事件诊断 Agent 把全链路放回 Harness、工具和记忆 结课项目

与已有专题的关系

建议先读 Agent Harness 第 06-08 章;本课程把其中的“上下文是预算”和运行循环展开为可执行子系统。工具消息的 schema、执行和失败语义复用 Tool Calling 课程。跨运行的长期记忆和检索见 Persistent Memory 课程;本课程只决定哪些已授权候选可以占用当前窗口。多 Agent 场景中的上下文隔离和工件边界见 Multi-agent Collaboration。

配套项目

项目不要求 API key,也不把某个供应商的 tokenizer 当成抽象定义。它提供字符近似计数器、可注入的 tokenizer、预算分配、依赖安全的消息选择、确定性 compaction、工具轨迹校验、事件记录和 checkpoint 恢复。

python -m pip install -r courses/foundation/context-engineering/course/project/requirements.txt
python courses/foundation/context-engineering/course/project/examples/01_measure_and_budget.py
python courses/foundation/context-engineering/course/project/examples/04_compact_tool_trace.py
python courses/foundation/context-engineering/course/project/examples/06_recover_after_compaction.py
python -m unittest discover -s courses/foundation/context-engineering/course/project/tests -v

真实模型实验可以把项目里的 TokenCounter 换成供应商 tokenizer;课程刻意先用固定输入测试预算和恢复不变量,再接模型,因为模型“摘要得不错”不能替代程序对预算和消息协议的验证。

从第 01 章开始。课程的资料取舍记录在调研与课程设计依据,统一案例、代码映射和生产替换点记录在课程设计说明,术语在glossary。

完成基础上下文课程后,可进入Advanced Agent Systems:Durable Execution、Wake-up、Grounded Retrieval 与质量门禁。

进入 keel 阅读