KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

05. Context Engineering 怎样连接检索和压缩? — keel 龙骨

上下文不是“把历史全部拼接起来”。它是一次有预算、有来源、有权限和有目的的装配结果:系统决定此刻模型真正需要看到哪些事实,哪些内容应 JIT 读取,哪些内容可以压缩或归档。Anthropic 的 context engineering 讨论把目标概括为最小的高信号 token 集合,并把 JIT retrieval、compaction 和 structured note-taking 放进同一个循环。

上下文不是“把历史全部拼接起来”。它是一次有预算、有来源、有权限和有目的的装配结果:系统决定此刻模型真正需要看到哪些事实,哪些内容应 JIT 读取,哪些内容可以压缩或归档。Anthropic 的 context engineering 讨论把目标概括为最小的高信号 token 集合,并把 JIT retrieval、compaction 和 structured note-taking 放进同一个循环。

四个输入区

stable instructions + current task
  + durable facts / event projection
  + ACL-filtered retrieval evidence
  + recent tool trace and pending wakeup

每个区都应有来源和版本。事件历史负责恢复事实,memory 负责跨运行知识,检索负责当前证据,context compaction 负责在预算边界内重建视图;它们不能互相冒充。

预算是调度问题

先计算可用预算,再分配给 system、task、evidence、tool trace、summary 和输出保留区。输入/输出 token 的计费和窗口限制依赖 provider,不能把字符长度当成事实;调用结束后要用 provider usage 对账,并记录估计误差。基础课程的 UsageReconciler 就是这条边界的最小实现。

建议把策略写成可测量函数:

select evidence by ACL and utility
reserve output/deadline budget
compact low-signal trace
assemble with citations and provenance
record dropped items and reason

不要把摘要当成无损事实库。摘要丢失了哪个字段、由哪个版本生成、是否还能追溯到事件或 chunk,都应可观测。遇到高风险事实,宁可 JIT 重新读取源数据,也不要依赖旧摘要。

本章实践

用同一组诊断问题对比三种策略:full history、JIT retrieval、JIT + compaction。记录 token、延迟、引用精度和关键事实召回,展示成本下降是否付出了质量代价。项目的 05_citations_and_context.py 可作为最小装配样例;结课项目要求扩展成可回放的 context snapshot。

本章检查点

下一章:MCP Tasks 扩展和异步工具怎样接回 Harness?

进入 keel 阅读