KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
调研与课程设计依据 — keel 龙骨
Advanced Agent Systems 的参考信息:调研与课程设计依据
资料初版于 2026-08-22 检索,MCP 部分于 2026-08-23 按 2026-07-28 规范复核。课程优先采用运行时、协议和平台官方文档;框架只用来核对概念,不把某个 SDK 的接口当成架构定义。
一手资料与吸收方式
| 资料 | 关键事实 | 课程采用 |
|---|---|---|
| Temporal Workflow Execution | Workflow Execution 是 durable、reliable、scalable 的执行单元;Event History 支撑 replay,失败后从最近事件继续;Signal 和 Activity 是外部交互边界 | 第 01-03 章采用事件历史、纯状态投影、外部副作用隔离和 replay 心智模型 |
| LangGraph Durable Execution / Persistence | checkpointer 保存 thread-scoped state,store 保存跨 thread 的长期数据;可从中断、失败和人工输入恢复 | 第 01、02、05 章区分 checkpoint、长期知识和当前 context |
| LangGraph Interrupts | interrupt 会保存状态并等待外部输入;恢复会重新执行节点,因此此前副作用必须幂等或放在 interrupt 之后 | 第 02、03 章把恢复点、重复执行和幂等写进测试 |
| MCP Tasks 扩展 | 2026-07-28 将 Tasks 移出核心协议,改为双方协商的官方扩展;task ID 支持轮询、输入、通知、cooperative cancel 和终态 |
第 06 章只定义异步工具适配器与 Harness 状态映射,不冒充完整 MCP 课程 |
| MCP 2026-07-28 Changelog | MCP 改为无状态、每请求携带版本/能力,增加 server/discover,Tasks 迁移为扩展,并调整 MRTR、订阅和弃用能力 |
给课程固定协议快照,避免沿用 2025-11-25 的 session/初始化心智模型 |
| Anthropic Effective Context Engineering | context engineering 追求最小的高信号 token 集合;JIT retrieval、compaction、structured note-taking 适合长周期 Agent | 第 04-05 章把检索和压缩视为同一个 context assembly 闭环 |
| OpenTelemetry GenAI semantic conventions | Agent、LLM、工具和检索需要可关联的 trace/span 属性和 token/延迟等观测 | 第 07 章把 trace、cost、latency 和恢复指标纳入质量门禁 |
| Lost in the Middle | 长上下文中部的信息利用可能下降 | 第 05、07 章将位置和检索布局纳入消融评估 |
| LongBench | 长上下文评估要分任务和长度,不能用单一平均分掩盖退化 | 第 07 章用分层数据集和基线比较 |
市场上真正有工程壁垒的结果
| 结果 | 壁垒 | 课程验收证据 |
|---|---|---|
| 长任务跨进程/跨天恢复 | 事件历史、确定性 replay、版本兼容、租约和副作用幂等 | worker 崩溃后状态不重复、不丢步,测试可回放 |
| 异步工具和唤醒 | 任务 ID、投递/轮询/取消、迟到结果、超时和终态 | 同一 wake-up 重放只产生一个业务效果 |
| 企业知识库回答可引用 | ACL 过滤、chunk 版本、混合检索、重排、来源和引用校验 | 未授权 chunk Recall=0;citation precision=1 的门禁样本 |
| 低成本长上下文 | JIT retrieval、预算分配、压缩、usage 对账和质量回归 | 质量不下降前提下 token/延迟下降的对照表 |
| 可运营 Agent | trace/span、错误分类、SLO、回归集、成本和恢复指标 | 评估报告能拒绝不达标策略,而不是只打印答案 |
课程取舍
项目使用标准库模拟这些边界,不声称已经提供分布式共识、生产级向量索引或完整 MCP 客户端。每个模拟器都保留替换点:SQLite 事件表可换 Temporal/其他 durable engine,词法/集合相似度可换真正 hybrid index,事件结构可映射 OpenTelemetry。
“唤醒”在课程中不是一个定时器线程,而是一个带唯一 ID、due time、lease、delivery attempt 和终态的外部输入。这样才能和人工审批、MCP Task 完成、webhook、队列消息共用同一套状态模型。