Posts
read more
不注入故障,就测不出 Agent 框架的生产能力
这是 Agent 框架评测实验室系列第三篇。
一个 Agent 在 demo 中完成任务,最能说明的是:这次模型、网络和工具刚好都没有出大问题。企业系统真正区分框架能力的地方,往往发生在错误之后。
七类最低故障矩阵
生产变更 Alpha 固定测试七类场景:
| 场景 | 要证明什么 |
|---|---|
| 审批通过 | 精确意图获批后才可继续 |
| 审批拒绝 | 拒绝不能通过新 ID 或重试绕过 |
| 取消 | 正在执行的 attempt 中断,预算结算 |
| 工具失败 | 错误可见,重试有界,不伪装成功 |
| worker 崩溃 | lease 和 reservation 可回收 |
| 进程重启 | 从已提交 checkpoint 恢复,不重跑完成阶段 |
| 重复副作用 | 同一外部操作最多生效一次 |
这些测试不能只检查“最后还是成功了”。还要检查事件顺序、预算余额、checkpoint 哈希、工具调用次数和幂等收据。
审批不是一个布尔值
如果审批只保存 approved=true,就无法确认批准的是哪次操作。安全审批至少绑定:
class ApprovalDecision(BaseModel):
approval_id: UUID
job_id: UUID
attempt_id: UUID
operation_id: UUID
action: str
arguments_sha256: str
decision: Literal["approved", "rejected"]
approver_id: str
revision: int
恢复时重新计算参数摘要。job、operation、action、参数或 revision 任一不一致,都不能复用原批准。测试不仅要覆盖正确批准,还要专门提交“看起来很像”的错误批准。