KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

既有课程实践成熟度审计 — keel 龙骨

Advanced Agent Systems 的参考信息:既有课程实践成熟度审计

审计对象是仓库现有的 Harness、Tool Calling、Context Window、Persistent Memory、Multi-agent Collaboration、Real-world Execution 和 Safety Controls 配套项目。结论不是“能不能运行”,而是“它对哪一种工程承诺提供了什么证据”。

总体结论

现有课程已经超过纯玩具:对象契约、确定性替身、错误码、工具白名单、审批绑定、幂等 fingerprint、未知结果、补偿、作用域和 provenance 都有对应代码与测试。它们适合建立正确的运行时边界。

但它们大多仍是单进程协议实验,不能直接宣称生产级。共同缺口是:持久化运行、worker lease、真实 provider usage 对账、版本迁移、端到端质量/成本结果、并发下的原子性、长任务唤醒、可重放 trace 和真实检索评估。

分课程结论

课程 已有专业度 当前仍是教学替身的地方 下一步优化
Harness Decision/Tool/Result、停止条件、事件序列和固定测试清楚;模型/工具 timeout 与未知异常已有稳定错误码和脱敏事件 Run 全在内存;没有 cancel、lease、checkpoint 和 context usage;模型与工具仍未进入持久 trace 接入本高阶课的事件/唤醒/租约;增加持久化 replay 和端到端 SLO
Tool Calling Registry、Pydantic 参数/结果校验、审批、幂等、并行和流式边界较好 ToolRunner 没有持久化消息;真实执行器没有 deadline/cancellation;未知结果和重试仍停留在独立示例 用异步 Task adapter 和 Real-world Execution 的 gateway 合并测试
Context Compaction 预算公式、依赖组、摘要来源、tool trace 校验、checkpoint 幂等和 provider usage(含可选 reasoning tokens)对账已落地 默认计数器是字符近似;摘要是截断式教学实现;没有质量数据集和真实模型回归 增加计数校准、事实保留评估、JIT retrieval 和发布门禁
Persistent Memory scope、来源、写入门禁、SQLite 生命周期、embedding 检索、删除和审计有实证 向量 JSON 扫描不可扩展;重排公式未校准;context budget 用字符;缺少 ACL/citation/Recall@k 数据集;项目测试入口依赖 pytest 的 conftest.py 使用本高阶课的 ACL-aware retrieval、citation gate、评估数据集;明确 SQLite 规模边界
Multi-agent Task/Result、并行、取消、超时、review 和 artifact 关联清楚 ThreadPoolExecutor 不是可恢复 worker;迟到线程仍可能继续副作用;没有 per-agent context/token budget 将任务变成 durable run,加入 lease、取消令牌和上下文隔离
Real-world Execution Action fingerprint、preview、幂等、unknown、reconcile、Saga 和长 Job 很扎实 Store/Job 都是内存;没有 outbox、外部 webhook、租约和持久 job history 用本高阶课的 event store/wakeup 连接外部执行结果
Safety Controls provenance、PDP/PEP、最小权限、审批 TTL/单次消费、隔离和审计边界明确 Approval/Audit 是内存;策略版本迁移、密钥/会话存储和真实 sandbox 仍未实现 把审计事件接入 trace,增加异步任务和长期运行中的重新授权

发现的具体问题

  1. 课程 README 与测试入口不完全一致:Persistent Memory 的规范命令是 pytest,直接用 unittest discover 会因 conftest.py 不自动导入而失败。课程应明确测试框架,不要让读者误以为两者等价。
  2. Context Builder 仍按字符预算:usage 对账已经能发现估算误差,但默认计数器仍不能证明“不超过模型 token budget”。下一步要在模型适配器层进行真实计数,并记录估算/实际差值。
  3. 内存状态被描述为 checkpoint:Context 项目的 CheckpointStore 只验证进程内幂等,不能证明 worker 重启后可恢复。高阶项目改用 SQLite 事件历史和 reducer。
  4. 质量结果不足:现有测试主要验证不变量,没有固定检索集、引用正确率、压缩后任务成功率、延迟和成本对照,因此还不能说“有提升”。
  5. 事件不等于 trace:多数项目有 sequence,但没有跨模型、工具、检索、压缩、唤醒的 trace/span 关联,也没有采样和脱敏策略。

本轮已落地的修正包括:Harness 的模型/工具异常分类与脱敏、Real-world Execution 的 adapter failure receipt、Context 的实际 usage 对账、Multi-agent 的非确定性完成顺序测试修正,以及高阶项目的 wakeup 冲突检测。

复盘后的验收分层

L0  代码能运行
L1  协议不变量和失败分类有固定测试
L2  进程重启、重复投递、超时和未知结果可恢复
L3  真实数据集上有质量/成本/延迟/安全基线和回归门禁
L4  生产服务有持久事件、租约、观测、版本迁移和 SLO

现有课程大多在 L1,Real-world Execution 和 Safety Controls 的局部协议达到 L2;本高阶课程的目标是把关键路径推进到 L2,并为 L3/L4 明确证据而不虚报完成度。

优化优先级

P0:先修复“可恢复性”

P1:再修复“知识和上下文结果”

P2:最后接入真实基础设施

复盘结论

旧课程保留,因为它们把“模型提议、程序校验、外部执行、状态和安全”的边界讲对了。优化不是把每个示例改造成巨型生产系统,而是明确哪些地方是替身,并用高阶课程提供能证明恢复、检索质量和运营结果的下一层实验。

进入 keel 阅读