KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
Context Engineering 课程设计说明 — keel 龙骨
Context Engineering 的参考信息:Context Engineering 课程设计说明
核心问题
这门课不把 Context Engineering 讲成“把更多文本塞进 prompt”,而是回答一个可验证的问题:
在模型单次注意力空间有限、任务状态持续增长、工具消息存在结构约束的情况下,程序怎样为每轮调用构造一个可解释、可恢复、可评估的工作集?
课程使用同一个支付服务事故贯穿 9 章。用户要求判断服务是否恢复、是否和历史事故有关,并给出证据。Agent 会读取当前监控、变更记录、工具结果和有作用域的历史记忆。随着运行继续,上下文逐渐超预算,随后触发选择、压缩、checkpoint 和恢复。
读者起点与终点
读者起点:能阅读 Python、JSON 和基本模型消息,知道 Agent 会循环调用模型与工具,但还不能解释长任务为什么会“失忆”。
读者终点:能画出并实现下面这条管线,且可以用事件和测试解释每一次取舍:
事实来源
-> 权限与作用域过滤
-> 候选标准化
-> 目标 tokenizer 计数
-> 预算计划
-> 依赖感知选择
-> 必要时压缩
-> 工具轨迹校验
-> 模型请求
-> usage 对账
-> checkpoint / 评估
章节递进
| 章 | 新增能力 | 对应项目证据 |
|---|---|---|
| 01 | 区分窗口、当前上下文、运行状态和记忆 | BudgetPlan 的容量公式 |
| 02 | 用可替换计数器测量完整消息 | TokenCounter、usage 对账 |
| 03 | 把容量转成分层预算契约 | BudgetPlan 和失败校验 |
| 04 | 在预算内选择带依赖的候选 | Candidate、select_candidates |
| 05 | 比较 trim、summary、摘要链与结构化证据 | compact_messages;摘要链与分级摘要是策略层概念,教学项目的规则替身摘要器不实现 |
| 06 | 保持 tool call/result 的结构合法 | validate_tool_trace |
| 07 | 触发、checkpoint、幂等重放与恢复 | ContextEvent、CheckpointStore |
| 08 | 用任务质量、事实保留、成本和风险评估 | tests、UsageReconciler |
| 09 | 把整条管线接回 Harness | 结课验收清单 |
章节依赖是单向的:计数先于预算,预算先于选择,选择先于压缩;恢复和评估覆盖整条链路。不得把长期记忆、MCP 或供应商 conversation state 当成自动解决窗口问题的替代品。
教学实现与生产替换点
| 教学实现 | 它证明什么 | 生产替换 |
|---|---|---|
CharTokenCounter |
预算算术和计数器接口可重复 | 目标模型 tokenizer 或官方计数 API |
内存 CheckpointStore |
版本单调和重复保存幂等 | 事务数据库、事件存储或 durable workflow |
| 规则摘要器 | 来源标记、预算适配和失败路径 | 受约束摘要模型、供应商 compaction 或结构化提取 |
| 固定候选 | 优先级、依赖和稳定选择 | 权限过滤后的检索、记忆和工具证据 |
| 单进程示例 | 控制流和事件字段 | 多 worker、队列、租约、deadline 和告警 |
教学替身不得被描述为生产能力。特别是字符估算不是 tokenizer,规则截断不是高质量摘要,保存了一份摘要也不等于长期记忆正确。
内容验收基线
本课程按仓库级规范 docs/curriculum/COURSE-WRITING-STANDARD.md 重写。该文件用于作者和审核者,不属于课程公开内容根目录。每章必须:
- 围绕支付服务事故继续同一条运行;
- 内联一段关键代码或数据结构和一段代表性输出;
- 主动制造至少一个失败;
- 区分协议/供应商事实、本课程策略和教学替身;
- 给出可运行练习与明确验收结果;
- 保持与
project/src、examples和tests一致。