KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

12. 完成一次可恢复的配置变更 — keel 龙骨

结课项目把同一个业务意图拆成两步:更新 payment-service/staging 的连接池,再发送值班通知。目标不是让一次演示顺利跑完,而是让每一种中断都有明确状态和恢复动作。

结课项目把同一个业务意图拆成两步:更新 payment-service/staging 的连接池,再发送值班通知。目标不是让一次演示顺利跑完,而是让每一种中断都有明确状态和恢复动作。

运行完整示例

python courses/advanced/real-world-execution/course/project/examples/07_change_run.py

再运行全部测试:

python -m unittest discover -s courses/advanced/real-world-execution/course/project/tests -v

你要能指出每层责任

flowchart TD
    G[用户目标] --> O[Ollama ActionProposal]
    O --> H[Harness 固定 ActionCommand]
    H --> S[Safety Controls 发放绑定许可]
    S --> X[Execution Gateway]
    X --> I[Idempotency Store]
    I --> A[Config / Notification Adapter]
    A --> R[Receipt / Operation / Unknown]
    R --> C[Reconcile / Compensate]
    C --> E[Event History]

必做故障实验

  1. 同一命令提交两次:外部配置只改变一次;
  2. 同一幂等键换参数:得到 idempotency_conflict;
  3. 提交后丢失响应:先 unknown,对账后成功;
  4. 资源版本变化:提交点返回 precondition_failed;
  5. 通知失败:按策略得到 partially_succeeded 或补偿配置;
  6. 旧审批用于新参数:执行前拒绝;
  7. Run 在 attempt 后中断:恢复逻辑先查状态,不盲目重试。

完成标准

不要以“脚本打印了 success”作为完成。你应能提交以下证据:

完成这一步后,继续进入安全控制:让 Agent 的能力停在该停的地方。下一门课会在同一执行链上加入身份、策略、提示注入防护、隔离和安全评估。

返回现实执行课程入口

进入 keel 阅读