核心主题: Recovery Proof / State Reconciliation / Safe Replay / Deterministic Verification / Effect Equivalence / Recovery Attestation / Re-admission Gate / Evidence-driven Reauthorization / Post-Recovery Assurance
创作日期:2026 年 10 月 13 日
系列定位: SEO / GEO / AI Agent 生产工程、数据治理与自治安全
一个 AI Agent 发生生产事故以后,我们通常希望尽快让系统恢复正常。
可能是错误发布了文章,可能是修改了不应该修改的页面,也可能是执行过程中网络中断,留下了一批无法确认结果的任务。
处理过程看起来并不复杂:停止 Agent,隔离相关工具,回滚错误修改,重新部署正确配置,再启动工作流。
最后,Recovery Controller 返回:
Recovery Status: SUCCESS
运维控制台变成绿色。健康检查全部通过。新的请求能够正常响应。
于是有人提出:“既然恢复成功了,是不是可以把自动发布权限重新打开?”
问题就在这里。
系统重新运行,不等于业务状态已经恢复;业务状态看起来正常,也不等于重新执行原来的任务不会再次制造事故。
例如,一个 WordPress Publishing Agent 在网络超时前已经成功创建了一篇文章。系统却没有收到成功响应。
事故处置期间,相关 Worker 被停止,发布权限被撤销。恢复之后,如果系统直接重放最后一条失败任务,就可能再次创建文章。
从基础设施视角看,恢复操作成功了。从业务视角看,恢复过程却制造了重复内容。
如果这个任务还涉及 URL、Canonical、Sitemap 或已有文章的更新,问题可能进一步影响网站架构和搜索可见性。
因此,第(四十一)篇要回答的不是:
怎样让 Agent 恢复运行?
而是:
凭什么证明恢复后的系统处于可接受状态,并且有资格重新获得生产权限?
我们将这套能力称为 Recovery Proof。
它不是一个简单的 success 字段,而是一条从真实生产状态、历史执行证据、安全重放测试到重新授权决策的证明链。
一、从“恢复完成”到“恢复有证据”:第(四十)篇留下了什么问题?
第(三十九)篇建立了 Continuous Assurance:
Production Trace
→ Online Evaluation
→ Behavioral Drift
→ Risk Recalibration
→ Autonomy Budget
→ Capability Adjustment
它解决的是:Agent 过去获得的权限,是否仍然能被当前生产证据支持?
第(四十)篇继续建立 Runtime Containment:
Risk Breach
→ Circuit Breaker
→ Capability Revocation
→ Execution Fencing
→ Quarantine
→ Effect Reconciliation
→ Recovery
它解决的是:当系统不再可信时,如何阻止风险继续传播,并处理已经发生的影响?
但这条链存在一个新的判断边界。
Containment 的成功,不能自动证明 Recovery 的成功;Recovery 的成功,也不能自动证明 Reauthorization 的合理性。
假设一个 Publisher Agent 错误修改了 30 篇产品文章。
系统通过 Kill Switch 阻断了后续写入,并恢复了 30 篇文章的历史版本。
这是否意味着网站已经恢复?
不一定。
因为还需要检查:文章的 URL 是否变化,页面是否仍然返回正确 HTTP 状态,Canonical 是否正确,之前的 Redirect 是否残留,Rank Math 中的 SEO 元数据是否一致,以及 CDN 是否仍在返回错误内容。
更重要的是:
假如造成事故的 Tool Scope 问题没有修复,恢复后的 Agent 仍然可能再次修改这 30 篇文章。
因此:
Process Recovery
≠
State Recovery
State Recovery
≠
Behavioral Recovery
Behavioral Recovery
≠
Authority Re-admission
这三个边界,构成第(四十一)篇的研究起点。
官方依据:恢复需要验证,而不是只执行恢复动作
Google Cloud Well-Architected Framework 在数据恢复测试指导中强调,应通过数据完整性、恢复时间目标(RTO)与恢复点目标(RPO)评估恢复效果,并测试恢复数据之上的完整应用及关键基础设施,而不只是确认备份能够被读取。
NIST SP 800-61 Rev.3 也将检测、响应和恢复纳入整体网络安全风险管理,而不是把恢复视为孤立的重启操作。
这些原则可以为 Agent Recovery 提供工程基础。
但需要说明:本文所提出的 Recovery Proof、Effect Equivalence 与 Evidence-driven Reauthorization 是本项目构建的治理模型,不是 Google Cloud 或 NIST 已经发布的一套统一 Agent Recovery 标准。
参考:
二、Recovery Proof 究竟要证明什么?
首先,需要纠正一个容易产生误解的表达。
我们并不能证明一个 AI Agent 今后绝对不会再发生故障。
任何 Recovery Proof 都必须有明确的对象、时间、范围和假设。
因此,本项目对 Recovery Proof 的定义是:
在指定恢复范围、生产环境、配置版本及风险容忍条件下,通过可核验的状态证据、执行证据和授权证据,论证系统已经满足预先批准的恢复要求。
它不是:
Recovery = Safe Forever
而是:
Recovery Evidence
+
Defined Scope
+
Acceptance Criteria
+
Current Risk State
→
Justified Recovery Decision
一份有意义的 Recovery Proof 至少需要支持四项主张。
第一,Containment Claim。
导致事故的高风险执行路径是否仍然受到控制?旧的 Capability、旧的 Safety Epoch 和待处理队列是否可能绕过隔离?
第二,State Claim。
生产资源是否已经恢复到预定义的可接受状态?哪些资源已经验证,哪些状态仍然未知,哪些外部影响不可逆?
第三,Replay Claim。
那些被暂停、失败或等待重试的任务,如果重新执行,是否会重复产生外部效果,或者重新触发原来的错误?
第四,Authority Claim。
恢复后的 Model、Prompt、Tool、Policy、Knowledge 与运行环境,是否拥有足够的新证据来支持拟恢复的生产权限?
四项主张之间存在严格关系:
Containment Verified
↓
State Reconciled
↓
Replay Safety Established
↓
Recovery Evidence Accepted
↓
Re-admission Decision
↓
Scoped Reauthorization
其中任何一个关键环节缺失,都不能直接推导出 Full Autonomy。
这也意味着,一个 Agent 可能已经恢复到可以安全读取数据的状态,但仍然不具备自动发布权限。
恢复状态与自治等级必须分开判断。
三、State Reconciliation:恢复时不应该只问“数据库是否回滚”
State Reconciliation 是本篇第一个核心机制。
Kubernetes 的 Controller 模式为我们提供了成熟的工程参照。
其控制器会持续观察实际状态,并努力使其接近期望状态。
这种机制并不意味着所有状态都能瞬间一致,但它强调了一件事:
系统管理不能只依据操作命令,还需要依据实际观察到的状态。
对于 SEO / GEO 自动化,我们可以进一步把恢复状态拆成三个部分:
Desired State
↓
Observed State
↓
State Difference
↓
Reconciliation Decision
这里需要特别注意:Desired State 并不一定等于事故发生前的最后一个数据库快照。
例如,一篇文章在事故前处于草稿状态,但事故调查期间已经由编辑正式批准发布。简单恢复到旧快照,反而会覆盖一项合法的新业务决定。
所以,恢复目标必须来自经过确认的业务意图和恢复计划,而不能机械地等于:
Restore Everything to T-1
SEO 业务中的状态具有多个层次
对一篇 WordPress 文章,至少可以区分以下状态。
| 状态层级 | 应核验的事实 |
|---|---|
| 内容状态 | 标题、正文、摘要、作者、分类、标签、版本 |
| 发布状态 | Draft / Pending / Publish、发布时间、公开 URL |
| 技术 SEO 状态 | HTTP、Canonical、Robots、Redirect、Sitemap、结构化数据 |
| 访问状态 | 前台 HTML、缓存内容、必要资源、内部链接 |
| 外部观察状态 | 已知的搜索抓取、索引与外部传播情况 |
这些状态不一定同时更新。
WordPress REST API 可能已经返回正确正文,但 CDN 仍然缓存旧 HTML。
页面已经恢复 200 OK,但 Canonical 可能指向错误网址。
Sitemap 可能已经更新,但 Google 尚未重新抓取相关 URL。
所以:
Recovery Proof 不能仅凭一次 WordPress API 响应成立。
尤其对于使用 WordPress、GeneratePress 和 Rank Math SEO 的站点,恢复核验必须覆盖 CMS 数据与实际渲染页面。
四、建立 Recovery State Manifest:先定义什么才算“恢复正确”
没有事先定义目标状态,Reconciliation 就很容易退化为人工猜测。
本项目建议,在高风险生产修改之前记录可恢复的状态快照,并在事故处理中生成独立的:
Recovery State Manifest。
一个简化示例如下:
recovery_id: REC-041-001
incident_id: INC-040-001
scope:
site_id: site-a
resource_type: wordpress_post
post_id: 128
desired_state:
status: publish
slug: industrial-equipment-guide
http_status: 200
canonical: self
indexability: indexable
content_version: approved-revision-18
observed_state:
cms_status: publish
http_status: 200
canonical: unexpected-url
content_version: approved-revision-18
differences:
- canonical_mismatch
unknowns:
- search_engine_last_crawl
decision:
recovery_verified: false
next_action: investigate_canonical
这只是项目 Schema 示例。
实际实现时,approved-revision-18 应当关联真实的 WordPress Revision ID、内容 Hash、审批记录或其他不可混淆的版本证据。
而 canonical: self 也不能只写成一段文字。应当能够解析为具体目标 URL,并通过前台 HTML 或可信的 SEO 配置接口检查实际结果。
这个 Manifest 的价值在于:
它把“我认为已经恢复”变成“这些字段已经验证,那个字段仍然不一致”。
必须引入 Unknown,而不是只有 Pass / Fail
建议至少保留四种核验结果:
MATCHED
MISMATCHED
UNKNOWN
NOT_APPLICABLE
UNKNOWN 可能意味着缺少权限、日志丢失、外部 API 不可用,或者搜索平台尚未更新观察结果。
它不能直接转换为 MATCHED。
同时,也不应该让任何未知状态都无限期阻断全部业务。
正确做法是根据该状态的风险重要性,判断是否允许有限恢复。
例如:Google 是否已经重新抓取刚修复的页面,在恢复当天可能仍然未知;这不一定阻止内部编辑重新生成草稿,但可能要求继续观察相关 URL 的搜索表现。
五、Effect Reconciliation:外部操作结果未知时,究竟怎样查清?
第(四十)篇已经建立 Effect Ledger。
第(四十一)篇需要把它进一步用于恢复证明。
假设某个任务在 WordPress 创建文章时发生网络超时:
Agent
↓
POST /wp/v2/posts
↓
WordPress
↓
Network Timeout
客户端没有收到正常响应。
但真正可能发生三种情况。
第一,请求没有到达服务器。
第二,请求已经到达服务器,但操作未成功。
第三,WordPress 已经成功创建文章,只是成功响应没有返回客户端。
对于 Agent 来说,这三种情况都可能表现为:
Request Timeout
这就是为什么:
Timeout 不是业务失败的证明。
AWS Builders' Library 的《Making retries safe with idempotent APIs》特别讨论了重试、副作用、客户端请求 ID、语义等价及迟到请求等问题。
它提供的核心启示是:可靠重试必须有可辨认的操作身份,并理解这次请求究竟意图执行什么。
参考:AWS Builders' Library — Making retries safe with idempotent APIs
对 WordPress 来说,应当先 Reconcile,再 Retry
一个合理的顺序是:
Timeout Detected
↓
Mark Effect UNKNOWN
↓
Query External State
↓
Match Original Intent
↓
Check Existing Resource
↓
Confirm / Reject / Escalate
↓
Decide Whether Retry Is Safe
可以通过预先保存的 Post ID、Slug、任务关联 ID、发布时间、内容摘要等信息辅助核对。
但是,仅凭 Slug 相同并不能绝对证明两次操作属于同一业务意图。
例如,用户可能正准备合法更新一篇同名文章。
因此,Effect Reconciliation 应尽可能使用业务唯一标识与可验证的原始 Intent。
如果不能确认,就应该保留 UNKNOWN,并将可能重复写入的动作交由人工或更严格的恢复控制流程处理。
六、Safe Replay:必须区分三种完全不同的“重放”
很多 AI Agent 系统都使用 Replay 一词,但这个词至少可能代表三种不同的操作。
| Replay 类型 | 实际在做什么 | 主要风险 |
|---|---|---|
| History Replay | 利用历史事件重建工作流内部状态 | 版本和确定性不兼容 |
| Decision Replay | 重新运行模型或决策逻辑进行对比评估 | 新输出与原输出不同 |
| Effect Replay | 再次执行外部 API 或生产写操作 | 重复发布、覆盖、删除或其他副作用 |
这三种 Replay 不能混为一谈。
Temporal 的官方 Event History 和 Workflow 文档说明,它可以通过持久化事件历史,在 Worker 故障后重建工作流执行状态。
在这种历史重放过程中,已经记录的 Activity 结果会被用于恢复 Workflow 状态,而不是简单重新调用所有外部操作。
参考:
但这并不意味着可以对任意失败的外部操作直接重试。
也不意味着一个由多个 Agent、MCP Server 和 WordPress REST API 构成的系统,在没有额外设计的情况下,天然具备端到端的无副作用重放能力。
因此,本项目建议把 Recovery Replay 分为:
HISTORY_REPLAY
DECISION_REPLAY
EFFECT_REPLAY
并要求三者采用不同的权限策略。
History Replay 可以用来恢复状态
例如重建一个工作流在发生异常前已经走到哪一步。
Decision Replay 适合进行隔离评估
例如重新让 Agent 判断一份生产文章是否应该发布,但必须禁止直接产生生产写入。
Effect Replay 必须经过重新授权
例如再次发送 WordPress 发布请求、更新 Redirect 或修改 Sitemap。
它必须通过当前的安全版本、资源权限、Intent 和幂等性检查。
最关键的原则是:
能够安全重建执行历史,不等于可以安全重复执行外部效果。
七、Deterministic Verification:我们究竟需要哪一种确定性?
AI Agent 的运行具有非确定性。
即使使用相同的 Prompt、Model ID 和输入上下文,也不应该无条件假设模型每次都会产生完全一致的输出。
因此,Recovery Proof 不能简单要求:
New LLM Output
==
Old LLM Output
再把字符级一致作为唯一安全标准。
这会把不同层面的确定性混为一谈。
本项目建议至少区分三个层面。
第一,Workflow Determinism。
在既定历史、版本与执行规则下,工作流能否按照已记录的状态正确重建执行路径?
Temporal 的 Replay Testing 就可以用于验证新的 Workflow 代码是否与现有 Event History 兼容。其官方文档也强调,Workflow 代码必须满足相关确定性约束,外部调用与 AI 调用等非确定性操作需要放在适当的 Activity 边界之外处理。
参考:Temporal — Safe Deployments
第二,Policy Determinism。
在相同的权威状态、权限版本和策略条件下,授权引擎是否会给出一致且可审计的决定?
例如:
safety_epoch = 42
request_epoch = 41
Expected Decision:
DENY_STALE_EXECUTION
这里不应该让语言模型自由解释权限是否仍然有效。
第三,Effect Determinism。
同一个已经被确认的业务动作,是否能够避免产生未经批准的重复外部效果?
例如相同 Intent 重试两次,不能因此创建两个需要人工清理的 WordPress 文章。
这里追求的是外部可观察效果满足预定约束,而不一定是每次 HTTP 请求的字节完全相同。
因此:
Deterministic Workflow Verification
+
Deterministic Policy Enforcement
+
Constrained External Effects
比要求整个 LLM Agent 永远生成完全相同的文字,更适合生产治理。
八、Effect Equivalence:安全重放不能只比较结果字符串
假设 Publisher Agent 在一次故障后准备恢复执行。
原任务目标是:
为某个产品主题创建一篇经过审核的文章,并使其在批准的 URL 上正式发布。
第一次执行实际上已经创建了一篇文章。
现在如果再次执行并创建第二篇内容完全相同的文章,模型可能认为任务成功。
因为:
Content A == Content B
但从业务视角看:
One Approved Post
≠
Two Duplicate Posts
所以我们需要另一个概念:
Effect Equivalence。
本项目将其定义为:
在给定业务意图、资源边界和安全约束下,两次执行所产生的外部可观察状态,是否能够被认为实现了相同且可接受的业务结果。
注意,这并不是说执行过程必须完全一致。
例如某次发布经历了两次只读核验,而另一次只经历了一次。
只要最终实现的授权业务效果一致,且没有引入新的风险,这种差异可以被接受。
但是如果两次执行导致:
- 创建两个不同 Post ID;
- 修改了不同的旧文章;
- 将相同正文发布到不同 URL;
- 改变了原本正确的 Canonical;
- 多次触发不可撤销的外部通知;
则不能因为“内容看起来一样”就认定它们等价。
建立 Effect Equivalence Contract
针对 WordPress 发布任务,可以采用如下约束:
effect_equivalence:
intent_id: INTENT-041-001
expected:
published_post_count: 1
approved_slug: industrial-ride-guide
status: publish
content_hash: approved-content-hash
forbidden:
- duplicate_publish
- update_unrelated_post
- modify_robots
- change_unapproved_canonical
verification:
- wordpress_rest_readback
- public_url_check
- content_identity_check
- seo_metadata_check
uncertain_effect_policy:
action: require_reconciliation
这是本项目设计的业务效果等价 Schema,不是 WordPress 官方定义的发布接口字段。
它把恢复判断从:
Did the API return 200?
推进到:
Did the approved business effect occur,
without unapproved additional effects?
九、Safe Replay Gate:对失败任务必须重新分类
事故恢复以后,不应该直接执行:
Replay All Failed Tasks
因为所谓 Failed Task 可能包含不同性质的问题。
有些任务根本没有开始。
有些任务已成功完成,但回执丢失。
有些任务因为权限被撤销而终止。
有些任务持有旧 Safety Epoch。
还有一些任务原本就因 Prompt Injection 或错误业务意图而被隔离。
这些任务不能使用同一个恢复策略。
本项目建议的 Safe Replay Gate 如下:
| 任务状态 | 默认恢复处理 |
|---|---|
| 未开始且 Intent 仍有效 | 重新检查权限后允许执行 |
| 已完成且效果已验证 | 不重复执行外部效果 |
| 结果未知 | 先进行 Effect Reconciliation |
| 已确认部分完成 | 根据剩余步骤与补偿状态制定恢复计划 |
| 旧 Safety Epoch | 拒绝直接重放,必须重新授权 |
| 策略违规任务 | 保持隔离,禁止自动重放 |
| 来源或意图不可信 | 进入人工调查或独立验证 |
核心并不是让所有任务最终都执行。
而是让每一个任务的下一步动作都有依据。
Pending Work
↓
Intent Validation
↓
History / Effect Inspection
↓
Current Safety Epoch
↓
Capability & Policy Check
↓
Effect Equivalence Check
↓
REPLAY / SKIP / RECONCILE / DENY
其中 SKIP 可能是最正确的恢复动作。
因为如果原目标已经实现,重新执行反而会造成风险。
AWS Step Functions 的 Redrive 提供了有价值的参照
AWS Step Functions 的 Standard Workflow Redrive 在符合其明确条件的情况下,能够从未成功完成的步骤继续执行,并保留已成功步骤的结果与历史,而不是将所有成功步骤重新执行一遍。
但这个能力受到 Step Functions 自身的工作流模型和约束限制。
不能因此推导出:
任意 Agent 工作流都能自动识别哪些外部操作可以安全跳过。
参考:AWS Step Functions — RedriveExecution
这恰恰说明,我们需要把“跳过已完成效果”设计成有证据支持的显式恢复规则。
十、Re-admission Gate:重新上线不是恢复流程的最后一个按钮
到这里,系统可能已经完成:
- 修复故障原因;
- 核对生产状态;
- 验证外部效果;
- 清理或隔离危险任务;
- 通过 Replay Testing;
- 完成新的线上评估。
但仍然不能自动认为 Agent 应恢复原有的 Full Autonomy。
因为恢复后的系统可能只适合执行部分任务。
例如一个 SEO Publisher:
它已经能够正确创建草稿。
但新版本的自动引用审核仍然不稳定。
此时可以允许 Draft Only,却不应该立即允许 Publish。
因此需要建立:
Re-admission Gate。
其本质是:事故恢复后的重新准入,不应简单继承事故前的权限,而应根据当前证据重新计算。
Recovered Configuration
↓
State Reconciliation
↓
Safe Replay Validation
↓
Targeted Evaluation
↓
Residual Risk Review
↓
Re-admission Gate
↓
Scoped Capability Issuance
建议采用五级恢复准入
| 准入等级 | 允许的操作 |
|---|---|
| R0 — Quarantined | 禁止生产执行,仅允许隔离调查 |
| R1 — Read Only | 可安全读取、监测与诊断 |
| R2 — Shadow / Draft | 可进行影子评估或生成草稿 |
| R3 — Approved Write | 仅可执行已批准的指定写操作 |
| R4 — Limited Autonomy | 可在明确预算和范围内有限自治 |
| R5 — Full Approved Autonomy | 恢复已批准范围内的完整自治能力 |
这些等级是本项目的工程设计,不是 NIST 已发布的官方分级。
恢复过程也不一定必须逐级经过每一档。
对于低风险事故,可以依据批准的策略采用简化验证。
但是:
高风险生产权限必须拥有与其风险相匹配的重新准入证据。
十一、Recovery Attestation:把“恢复成功”变成可审计的证明材料
前面我们已经建立:
- AI Decision Receipt;
- Evaluation Attestation;
- Containment Receipt;
- Effect Ledger;
- Recovery Receipt。
现在需要把它们聚合到同一份恢复证明中。
这份材料可以称为:
Recovery Attestation。
它不只是记录谁执行了恢复命令,而是说明:
哪个系统、从哪一种事故状态、在什么配置和授权条件下、经过哪些验证、恢复到了什么范围的业务状态。
一个简化模型如下:
{
"schema_version": "project-recovery-1.0",
"recovery_id": "REC-041-001",
"incident_id": "INC-040-001",
"subject": {
"agent_id": "seo-publisher",
"site_id": "site-a",
"configuration_digest": "sha256:<digest>"
},
"containment": {
"verified": true,
"safety_epoch": 42,
"receipt_ref": "CONT-040-001"
},
"reconciliation": {
"scope": "approved-resources",
"critical_mismatches": 0,
"unresolved_critical_effects": 0,
"evidence_ref": "STATE-041-001"
},
"replay": {
"workflow_replay": "PASS",
"effect_replay": "BLOCKED",
"replay_evidence_ref": "REPLAY-041-001"
},
"evaluation": {
"targeted_safety_tests": "PASS",
"evaluation_ref": "EVAL-041-001"
},
"authorization": {
"requested_level": "R3",
"approved_level": "R2",
"decision": "LIMITED_RE_ADMISSION"
},
"validity": {
"invalidated_by": [
"configuration_change",
"critical_policy_change",
"new_critical_incident"
]
}
}
以上 ID、摘要和评估结果均为说明性示例,不代表真实生产证据。
这份 Attestation 还应记录验证时间、证据完整性、签发主体、策略版本、审核责任人及必要的有效期。
如果需要密码学层面的完整性保障,可以使用数字签名或组织已经批准的证明签发机制。
但必须注意:
数字签名可以帮助验证证明材料的来源与完整性,不能自动保证材料中的业务判断真实。
例如一份经过签名的 Recovery Attestation,如果使用的是错误的 Desired State 或缺失的外部效果记录,仍然可能得出错误结论。
与软件供应链 Attestation 的关系
GitHub Artifact Attestations 已经提供了用于核验软件构建来源和完整性的实际机制。
ISO/IEC/IEEE 15026-2:2022 则规定了 Assurance Case 的结构术语,并适用于 Assurance Case 的开发与维护。
这些为可信证据组织提供了参照。
但本文所说的 Recovery Attestation,并不是 GitHub Artifact Attestations 的内置恢复类型,也不是 ISO 已经统一定义的 Agent Recovery Schema。
它属于本项目在生产恢复场景中的进一步扩展。
参考:
十二、Evidence-driven Reauthorization:权限必须绑定恢复证据
第(三十四)篇已经建立 Authority Graph。
第(三十五)篇继续处理 Workload Identity、短期凭证和 Delegation Chain。
第(三十六)篇增加 Intent Binding。
第(三十八)篇要求验证 AI Supply Chain。
第(三十九)篇要求当前生产证据持续支持 Autonomy Budget。
第(四十)篇通过 Safety Epoch 和 Effect Gateway 强制撤销失效权限。
到本篇,所有机制终于可以组合成一条完整的恢复授权约束:
Reauthorization Eligibility
=
Verified Workload Identity
∩
Approved AI Configuration
∩
Current Safety Epoch
∩
Verified Containment
∩
Accepted Recovery State
∩
Safe Replay Evidence
∩
Targeted Evaluation
∩
Residual Risk Acceptance
∩
Current Policy
∩
Available Autonomy Budget
这不是某个官方标准中的数学公式,而是本项目对必要授权条件的逻辑表达。
真正重要的变化在于:
权限不再因为 Agent 曾经被批准就自动恢复,也不因为 Recovery Controller 返回成功就自动恢复。
每一次高风险重新准入都必须形成新的 Authority Decision。
例如:
Previous Capability:
AUTONOMOUS_PUBLISH
Incident:
UNAUTHORIZED_WRITE_ATTEMPT
Recovery Evidence:
STATE_VERIFIED
REPLAY_VERIFIED
SAFETY_EVAL_PASS
Remaining Risk:
CITATION_EVAL_INCOMPLETE
Re-admission:
DRAFT_ONLY
这种结果可能让业务方觉得“恢复得不够彻底”。
但从治理角度看,它恰恰是正确的。
因为:
恢复流程应当恢复可被当前证据支持的能力,而不是恢复事故前的全部权限。
十三、完整案例:一次 WordPress 自动发布故障,怎样形成真正的 Recovery Proof?
我们用一个具体场景,把前面所有概念连接起来。
假设一个 B2B 工业设备网站使用 AI Agent 自动生成并发布技术文章。
原始任务是:
为指定的产品主题发布一篇经过审核的技术解读,保留批准的 URL、分类、引用来源和 SEO 元数据。
发布过程中,系统遇到网络超时。
Agent 没有收到 WordPress 创建文章的确认,于是将任务标记为失败。
与此同时,Online Evaluation 发现这次执行存在异常工具调用,触发第(四十)篇设计的 Containment。
第一阶段:保持隔离,不急于重新执行
系统首先将 Publisher 调整为:
DRAFT_ONLY
旧的写入 Capability 被撤销。
Safety Epoch 更新。
相关任务进入待核对状态。
这一阶段解决的是:
不让异常继续制造新的影响。
第二阶段:检查 WordPress 真实状态
系统通过 WordPress REST API 检查指定资源。
WordPress 官方 API 支持获取文章的 ID、Slug、Status、Content 等字段;Post Revisions API 可以读取已有的历史版本记录。
因此我们可以比对已记录的业务任务与真实文章状态。
参考:
假设结果如下:
| 核验项目 | 结果 |
|---|---|
| WordPress 文章已创建 | MATCHED |
| Post ID 已记录 | MATCHED |
| 正文对应批准版本 | MATCHED |
| Slug 对应批准目标 | MATCHED |
| 分类与标签 | MATCHED |
| 公开页面 HTTP 状态 | MATCHED |
| Canonical | MISMATCHED |
| Google 是否已重新抓取 | UNKNOWN |
此时系统不能宣布完全恢复。
因为 Canonical 仍然错误。
但也不应该再发送一次创建文章请求。
原因是:
文章已经存在,原有创建效果已经发生。
第三阶段:修复 Canonical,而不是重复发布文章
Recovery Coordinator 根据经过批准的恢复计划,修复具体页面的 Canonical。
随后分别验证:
WordPress 内部状态、前台 HTML,以及该页面是否仍然可访问。
对于 Google Search,必须理解 Canonical 是规范网址信号,Google 最终仍可能根据多个信号自行选择规范网址。
因此,当前可以证明的是:
站点已经恢复了预定的 Canonical 声明。
而不是:
Google 已经重新选择了我们指定的 Canonical。
两者的验证对象不同。
参考:Google Search Central — Canonicalization
第四阶段:Safe Replay 检查
系统识别到原任务的创建效果已确认完成。
因此:
Replay Create Post:
DENY_DUPLICATE_EFFECT
Replay Verification:
ALLOW_READ_ONLY
这时正确的恢复动作不是重新执行原任务所有步骤。
而是跳过已经成功的外部写入,对仍然需要完成的核验进行安全执行。
第五阶段:针对事故原因进行重新评估
假设调查发现,问题并不是内容生成错误,而是发布流程缺少对未知外部结果的核验逻辑。
那么重新评估应当针对:
- 请求超时后的结果核对;
- 重试前的资源识别;
- 重复文章防护;
- 旧 Safety Epoch 的拒绝;
- 高风险 Tool 的授权;
- 发布后状态验证。
不应该只重新运行普通文章质量 Benchmark。
第六阶段:恢复有限权限
当 State Reconciliation 和 Safe Replay Validation 均满足条件后,可以批准:
Re-admission Level:
R3 — HUMAN_APPROVED_WRITE
允许经过人工确认的单篇发布。
在新的生产样本与在线评估积累足够证据后,再决定是否提升至 R4。
第七阶段:持续观察搜索影响
即使网站技术状态已经恢复,Google 是否已经重新抓取、重新评价或更新索引,仍然需要后续观察。
Google Search Central 明确指出,重新抓取可能需要几天到几周,请求抓取也不保证立即收录。
因此,不能在 WordPress 文章刚恢复时就宣布:
Google Indexing:
RECOVERED
更准确的状态可能是:
Site State:
VERIFIED
Search Re-evaluation:
PENDING_OBSERVATION
参考:Google Search Central — Ask Google to Recrawl
这个案例说明:
真正的 Recovery Proof 必须允许不同层级的恢复在不同时间完成。
不能强行把技术状态、业务状态和搜索平台的外部观察压缩成一个布尔值。
十四、Post-Recovery Assurance:重新准入以后,证明不能立即失效
Re-admission 通过,只是新的运行阶段开始。
第(三十九)篇建立的 Continuous Assurance Loop 此时需要重新接管系统。
Recovery Attestation
↓
Limited Re-admission
↓
Production Trace
↓
Online Evaluation
↓
Behavioral Drift Detection
↓
Risk Recalibration
↓
Autonomy Budget Adjustment
需要重点监测的,不只是系统是否再次报错。
还包括:
是否出现新的重复发布?
是否有旧 Capability 尝试访问生产资源?
是否发生未经审批的页面修改?
是否有恢复前的队列消息被重新领取?
是否有新的工具调用绕过原先的 Effect Gateway?
以及,恢复后的 AI Configuration 是否仍在批准范围内运行?
应当建立 Post-Recovery Observation Window
本项目建议,在恢复一定权限后的限定观察窗口内,提高相关任务的 Evaluation 覆盖率。
例如,对于刚经历过未授权写操作事故的 Publisher,可以暂时要求所有生产写操作都进行独立权限校验和发布后回读。
随着证据逐渐积累,可以重新调整观察强度。
但这个窗口不应该机械地设置成所有系统统一的 24 小时或 7 天。
它需要与任务频率、风险等级、外部效果和可观察样本数量相匹配。
对于每天只发布一篇文章的 Agent,连续观察一天几乎不可能提供足够的安全样本。
时间窗口不是证据本身,窗口内观察到的相关行为才是证据。
十五、Recovery Proof 的关键指标:不要只看 MTTR
传统系统通常非常重视 Mean Time to Recovery。
它当然重要。
但对于拥有生产写权限的 Agent,仅仅追求恢复得快,可能鼓励系统绕过必要的安全验证。
因此建议同时建立以下指标。
| 指标 | 核心意义 |
|---|---|
| Verified State Coverage | 已核验的关键恢复资源占比 |
| Unknown Effect Count | 尚未确认结果的外部操作数量 |
| Replay Safety Coverage | 需要重放的任务中,已有充分安全判定证据的比例 |
| Duplicate Effect Rate | 恢复或重试过程中产生重复外部效果的比例 |
| Recovery Evidence Freshness | 恢复决策依赖的证据是否仍然有效 |
| Unsafe Re-admission Rate | 在必要证据不足时恢复高风险权限的比例 |
| Post-Recovery Regression Rate | 恢复后再次出现相关关键回归的比例 |
| Time to Verified Recovery | 从事故处置到满足已定义恢复验收条件的时间 |
这些是本项目建议的监测指标,并非统一的官方 Agent Recovery KPI。
其中尤其建议关注:
Time to Verified Recovery。
它与一般 MTTR 的区别在于,结束时间必须依据已经明确的验收条件。
例如:
Service Restarted:
10:05
WordPress State Verified:
10:12
Canonical Corrected:
10:19
Replay Gate Passed:
10:25
Limited Re-admission Approved:
10:31
此例中,10:05 只能证明服务已经重新启动。
如果本次恢复目标是有限生产准入,10:31 才可能作为相应验收时间。
但 Google 搜索状态的后续变化,应在单独的监测周期中继续观察,不能错误地算作当时已经完成。
十六、实施 SOP:从 Containment 到 Re-admission 的十二步
对于一个正在建设 SEO / GEO 自动化治理体系的团队,可以把本篇转化成以下标准流程。
Step 1:确定 Recovery Scope。
明确事故涉及哪些 Agent、站点、任务、资源和生产效果。未经批准,不允许无限扩大恢复范围。
Step 2:确认 Containment 有效。
验证新的风险传播路径已被阻断,旧权限已经撤销,相关 Safety Epoch 与执行边界已经生效。
Step 3:建立 Desired State。
依据原始 Intent、审批记录、资源版本及现行业务要求,确定本次可接受的目标状态。
Step 4:收集 Observed State。
从 CMS、API、前台页面、队列、Workflow History 与必要外部平台获取实际观察证据。
Step 5:执行 State Reconciliation。
识别 MATCHED、MISMATCHED、UNKNOWN 与 NOT_APPLICABLE,并优先解决关键资源不一致。
Step 6:执行 Effect Reconciliation。
核对已成功、已失败、部分完成和结果未知的外部效果。
Step 7:构建 Replay Candidate Set。
只把仍有合法业务必要的任务列入候选集合,不自动继承历史失败队列。
Step 8:执行 Safe Replay Testing。
在隔离环境中验证 Workflow 兼容性、权限约束与 Effect Equivalence,避免先在生产环境试错。
Step 9:完成针对性 Evaluation。
围绕事故根因、已发现的失败模式和目标生产权限进行测试,而不是只复用旧 Benchmark。
Step 10:生成 Recovery Attestation。
绑定 State、Effect、Replay、Evaluation、Policy 和 Approval Evidence,明确残余不确定性。
Step 11:通过 Re-admission Gate。
依据当前证据批准对应等级的 Capability,必要时要求人工批准,并签发适用的新授权。
Step 12:进入 Post-Recovery Assurance。
提高风险相关行为的观察覆盖率,发现异常立即重新触发 Containment,并把事故经验写回测试与治理规则。
这一套流程是本项目建议的实施 SOP。
不同企业可以根据风险规模采用不同深度,但不能省略对实际业务效果与重新授权边界的判断。
十七、Recovery Proof 最容易陷入的五个误区
误区一:恢复了上一个版本,就恢复了正确状态。
版本恢复只解决某一部分状态问题。如果事故后存在合法新修改,机械回滚还可能造成新的数据丢失。
误区二:Replay Testing 通过,就可以重复执行外部 API。
Workflow 历史兼容性不代表外部效果重放安全。二者需要分别验证。
误区三:所有关键指标都是绿色,所以可以直接恢复 Full Autonomy。
技术健康指标正常,不代表权限、工具范围和 AI 行为仍然满足治理要求。
误区四:Recovery Attestation 已经签名,因此恢复结论一定正确。
签名解决证据来源与完整性问题,不能代替事实核验、风险判断和业务验收。
误区五:网站恢复 200、Sitemap 重新生成,搜索影响就已经结束。
站点可访问与搜索平台完成重新观察是不同事件。后者存在抓取、索引和外部系统处理延迟,也可能存在不确定性。
对于 SEO / GEO 自动化,这个区分尤其重要。
十八、第(四十一)篇的 Safety Invariants
最后,把本篇复杂的治理逻辑压缩成可以交给工程团队实施和测试的约束。
Invariant 1:
Service Running
≠
Recovery Verified
Invariant 2:
Rollback Completed
≠
Desired State Reconciled
Invariant 3:
Unknown Effect
→
Reconcile Before Retry
Invariant 4:
Workflow Replay Safe
≠
External Effect Replay Safe
Invariant 5:
Same Output
≠
Equivalent Business Effect
Invariant 6:
Stale Safety Epoch
→
No Privileged Replay
Invariant 7:
Unsigned or Untrusted Evidence
→
No Unsupported Recovery Claim
这里并不意味着所有低风险恢复都必须使用数字签名,而是要求高风险决策使用符合项目信任要求的证据。
Invariant 8:
Critical State Mismatch
→
No Unrestricted Re-admission
Invariant 9:
Recovery Attestation
≠
Permanent Authorization
Invariant 10:
Reauthorization
Requires Current Matching Evidence
Invariant 11:
External Search Observation Pending
≠
Site Recovery Failed
但必须继续监测该外部状态,不能直接宣称搜索可见性已经恢复。
Invariant 12:
Recovery Failure
→
Re-containment
这些约束共同表达了本篇最重要的思想:
Recovery 不只是让系统恢复执行能力,而是重新建立生产信任所需要的事实依据。
结语:重新获得自治权限,必须是新的信任决定
一个 AI Agent 运行得越自主,它造成的现实影响就可能越大。
在研究阶段,模型一次回答错误,或许只影响一份草稿。
在自动发布阶段,它可能影响一个公开页面。
在 Technical SEO 阶段,它可能影响整个 URL 集群。
在 Multi-Agent 系统中,它甚至可能通过工具链、队列、跨站点权限和自动恢复流程,把一次错误扩展成持续性事故。
所以,系统设计不能只关注:
怎样让 Agent 尽快恢复工作?
还必须回答:
恢复后的系统为什么值得被重新信任?
第(三十九)篇,我们要求当前生产证据持续支持自治权限。
第(四十)篇,我们建立了可执行的停止、隔离、补偿与恢复机制。
到了第(四十一)篇,完整的恢复闭环终于形成:
Incident Contained
↓
Desired State Defined
↓
Observed State Collected
↓
State Reconciliation
↓
Effect Reconciliation
↓
Safe Replay Verification
↓
Recovery Attestation
↓
Re-admission Gate
↓
Evidence-driven Reauthorization
↓
Post-Recovery Assurance
它意味着:
“系统已恢复”不再是运维人员、Agent 或自动化流程的一句声明,而应当成为一组可以被独立核验的事实。
同时也意味着:
“允许继续自治”不再是事故结束后的默认动作,而是一项依赖当前证据、权限边界与残余风险的新的授权决定。
如果必须用一句话概括第(四十一)篇:
An autonomous agent is not recovered merely when it runs again. It is recovered when its state, effects, and renewed authority are supported by verifiable evidence.
换成更简洁的工程原则:
Recovery must be proven before authority is restored.
最终,我们从第(四十)篇的:
Containable and Recoverable Autonomous System
进一步走向:
Provably Recoverable and Safely Re-admitted Autonomous Agent。
一个真正可靠的生产级 Agent,并不是从不犯错。
而是发生错误时能够被有效控制;恢复时能够核对现实状态;重新执行时不会盲目重复副作用;重新获得权限时,能够拿出新的证据说明这项授权为什么合理。
这才是可验证自治系统应有的恢复能力。
官方依据与研究边界
1. NIST SP 800-61 Rev.3(2025 年 4 月正式发布)
提供将事故检测、响应与恢复融入整体网络安全风险管理的指导。本文据此构建 Agent Recovery Governance 的管理边界,并非声称 NIST 已经定义 Recovery Proof 协议。
https://csrc.nist.gov/pubs/sp/800/61/r3/final
2. NIST AI RMF — MANAGE
MANAGE 2.3、2.4 与 4.1 涉及未知风险的响应和恢复、AI 系统脱离或停用机制,以及部署后监测、事故响应和恢复。
https://airc.nist.gov/airmf-resources/playbook/manage/
3. Google Cloud Well-Architected — Recovery Testing
强调数据完整性、RTO、RPO、备份一致性及完整应用栈恢复测试。本文将其扩展到 Agent State、Effect 与重新授权验证。
4. Kubernetes — Controller Pattern
提供 Desired State 与 Current State 的持续调节模式。本文借鉴其思想建立面向 CMS、工具、工作流和搜索可见性的 State Reconciliation。
https://kubernetes.io/docs/concepts/architecture/controller/
5. Temporal — Event History、Workflow Replay 与 Safe Deployments
为持久执行、事件历史、确定性重放与工作流版本兼容性提供官方技术依据。本文明确区分 Workflow History Replay 与外部生产效果重放。
https://docs.temporal.io/encyclopedia/event-history
https://docs.temporal.io/workflows
https://docs.temporal.io/develop/safe-deployments
6. AWS Builders' Library — Making retries safe with idempotent APIs
讨论请求重试、副作用、客户端请求 ID、语义等价和迟到请求。本文据此构建针对 Agent 外部写操作的 Effect Reconciliation 与 Safe Retry 约束。
https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/
7. AWS Step Functions — RedriveExecution
提供在规定条件下继续未成功执行步骤的实际机制。本文将其作为安全恢复执行的参照,而不是声称任意 Agent 工作流天然支持同样的语义。
https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html
8. WordPress REST API — Posts 与 Post Revisions
提供内容状态、文章身份和历史版本核对的基础接口。并不意味着 WordPress 默认提供本篇全部 Recovery Proof、业务幂等或 SEO 元数据核验功能。
https://developer.wordpress.org/rest-api/reference/posts/
https://developer.wordpress.org/rest-api/reference/post-revisions/
9. Google Search Central — Canonicalization 与 Recrawling
用于区分站点技术状态和 Google 自身搜索系统的观察状态,避免把修复页面等同于保证搜索重新抓取、收录或排名恢复。
https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
https://developers.google.com/search/docs/crawling-indexing/ask-google-to-recrawl
10. ISO/IEC/IEEE 15026-2:2022 — Assurance Case
该标准已正式发布,适用于 Assurance Case 的开发与维护。本文借鉴其证据组织思想,但 Recovery Attestation、Re-admission Gate 和 Effect Equivalence Contract 均为项目自定义工程模型。
https://www.iso.org/standard/80625.html
本项目原创设计说明: Recovery Proof、Recovery State Manifest、Effect Equivalence Contract、Safe Replay Gate、Evidence-driven Reauthorization、Recovery Attestation Schema、五级 Re-admission、Post-Recovery Observation Window 及相关指标,均属于本项目在官方技术文档和工程实践基础上的体系化设计,不应冒充单一机构发布的正式标准。
第(四十二)篇预告
完成 Recovery Proof 之后,我们已经能够回答:
一个 Agent 为什么可以安全地重新运行,并重新获得有限生产权限?
但是,当系统由多个 Agent、多个模型、多个环境和多个站点组成时,还存在一个更加棘手的问题。
如果一次事故来自跨 Agent 的连续错误,而每个单独 Agent 的局部检查都通过了,我们究竟应该相信谁的判断?
例如 Research Agent 提供了错误数据,Writer Agent 正确使用了错误数据,Fact Check Agent 没有发现问题,Publisher Agent 又严格执行了批准的发布流程。
每一个局部步骤都可能显示 SUCCESS。
但最终业务结果仍然错误。
因此,第(四十二)篇可以继续进入:
Cross-Agent Accountability / End-to-End Verification / Distributed Evaluation / Global Invariants / Causal Responsibility / Evidence Aggregation / Workflow-level Assurance / System-wide Safety Case / Multi-Agent Recovery Verification
下一步不再只是证明某个 Agent 恢复正确,而是要证明:
整个 Multi-Agent Workflow 的最终行为、跨 Agent 因果关系与生产效果,仍然满足系统级的治理要求。
从:
Provably Recoverable and Safely Re-admitted Autonomous Agent
继续走向:
End-to-End Verifiable Multi-Agent System。