跳到主要内容
版本:1.0(冻结)

故障恢复与演化

故障恢复和自我演化共享一条原则:任何改变长期状态或行为的动作,都必须有证据、版本、验证和回退路径。

故障分类

先分类,再选择恢复策略:

类别例子典型策略
瞬时基础设施故障网络抖动、临时限流有预算的退避重试
持久依赖故障服务下线、凭据失效熔断、降级、等待人工
状态冲突版本不匹配、租约丢失重新加载、放弃写入、恢复协调
数据质量故障格式错误、陈旧或冲突数据隔离、重新观测、人工确认
领域执行故障计划不可行、约束冲突重新规划、转移任务
外部副作用不确定请求超时但远端可能成功查询、幂等重放或补偿
安全故障越权、注入、异常委托立即拒绝、隔离、撤销权限
语义质量故障输出不符合目标或质量阈值评估、重规划、请求监督
演化回归新策略损害既有能力停止发布、回滚稳定版本

恢复闭环

Failure
-> Detect
-> Contain
-> Diagnose
-> Select Recovery
-> Execute
-> Verify
-> Learn

Detect

检测信号包括异常、超时、心跳、指标阈值、状态不变量、人工反馈和语义评估。检测器必须标明置信度,避免单个噪声信号直接触发破坏性恢复。

Contain

在原因不清楚时,优先限制影响范围:停止新任务、撤销写租约、隔离工具、冻结演化版本或切换只读模式。

Diagnose

诊断记录至少包含:

  • 首次异常时间和检测来源;
  • 受影响 Agent、任务、资源和外部系统;
  • 最后确认成功的恢复点;
  • 已完成和不确定的副作用;
  • 候选原因及证据;
  • 当前数据和权限版本。

Select Recovery

恢复策略从轻到重通常为:重试、重新规划、降级、补偿、回滚、任务转移、实例迁移、隔离、人工接管、终止。

“重试”只有在动作幂等、失败可判定且未超出预算时才安全。

Verify

恢复动作执行成功不等于系统已恢复。验证至少检查:

  • 生命周期和租约是否一致;
  • 外部副作用是否重复或遗漏;
  • 任务游标是否继续前进;
  • 快照、事件日志和记忆索引是否对齐;
  • 安全边界和资源预算是否恢复;
  • 原始故障是否可再次复现。

重试预算

每个动作应定义最大次数、总时长、退避策略、可重试错误和不可重试错误。预算耗尽必须转入明确状态,不能形成无限循环。

建议记录:

RetryPolicy
├── max_attempts
├── max_elapsed_time
├── backoff
├── retryable_errors
├── non_retryable_errors
├── idempotency_requirement
└── exhausted_action

副作用安全

外部动作可能出现四种状态:未开始、已成功、已失败、结果未知。结果未知最危险,不能等价为失败。

工具适配器至少声明一种保障:

  1. 幂等执行:相同键重复调用只产生一次效果;
  2. 结果查询:可以通过操作 ID 查询远端真实状态;
  3. 补偿动作:可以撤销或抵消已发生效果;
  4. 人工确认:无法自动判断时暂停并请求授权主体处理。

演化闭环

Experience
-> Reflection
-> Hypothesis
-> Candidate Change
-> Isolated Experiment
-> Evaluation
-> Approval
-> Gradual Release
-> Monitor
-> Promote or Rollback

反思不是事实

Agent 的反思只是对经验的解释候选。它必须绑定来源、置信度和反例,不能直接写成语义事实或能力结论。

候选变更类型

  • 语义知识更新;
  • 程序性技能或工作流更新;
  • 决策策略或提示配置更新;
  • 工具选择和参数策略更新;
  • 自我模型能力评分更新;
  • Runtime 配置或架构变更建议。

不同类型需要不同验证门禁。知识更新关注事实来源;策略更新关注任务结果和安全回归;架构变更必须由工程流程处理,不能由在线 Agent 直接发布。

演化验证

候选版本至少与稳定版本比较:

  • 目标任务质量;
  • 失败率和恢复成功率;
  • 资源、延迟和费用;
  • 安全策略命中和越权风险;
  • 已知回归集表现;
  • 对其他 Agent 和共享资源的影响;
  • 结果稳定性和置信区间。

只在候选版本的收益超过门槛、风险在预算内、回退路径已验证时发布。

发布策略

从低风险到高风险:

  1. 离线回放历史事件;
  2. 沙箱环境模拟;
  3. 影子运行,不产生外部副作用;
  4. 小流量或有限任务集灰度;
  5. 扩大范围并持续监控;
  6. 提升为稳定版本。

任何阶段出现硬性安全回归都应立即停止;质量退化根据阈值自动回滚或请求审批。

人类监督

以下变化默认需要人类或独立治理主体批准:

  • 权限范围扩大;
  • 高风险工具或外部系统访问;
  • 身份、使命或价值约束修改;
  • 删除不可恢复记忆或审计证据;
  • 提高资源和费用上限;
  • 修改演化门禁本身;
  • 生产环境的架构或代码自修改。

审批必须绑定候选版本、证据和有效期。变更内容发生变化后,旧审批自动失效。

恢复与演化的共同不变量

  1. 不确定的副作用不能被当成未执行。
  2. 无限重试不是恢复策略。
  3. 反思和单次经验不能直接修改稳定行为。
  4. 新版本不能覆盖唯一稳定版本。
  5. 回滚必须恢复行为、配置和相关记忆引用,而不只是代码版本。
  6. 恢复和演化全过程必须能够关联到原始证据。

验收场景

  • 工具请求超时但远端成功时,不会重复创建资源;
  • 连续瞬时错误达到预算后,任务进入可诊断状态;
  • 新策略在平均质量提高但安全回归时被拒绝;
  • 灰度发布中指标恶化后自动回到稳定版本;
  • 候选变更修改后,原审批不能继续使用;
  • 回滚后,程序性记忆和自我模型不会继续引用已撤销版本。