本章进度 11 / 18
61%
正文已完成
L214用状态机设计失败恢复
把排队、运行、结果未知、部分完成与回滚写成可执行状态和转移规则。
把“失败体验”从听懂变成会判断,避免遇到真实任务时仍靠感觉选择。
建议先理解同主题上一课的核心概念,再完成本课判断练习。
- 无需安装新工具
- 准备一个可对照的真实问题或样本
一次请求超时,并不代表任务没有执行。把失败当成状态机问题,才能避免重复发送、重复扣费或覆盖已有结果。
能为有副作用的 AI 任务设计状态机、幂等重试和降级路径。
核心概念
先把关键判断说清楚
业务状态优先
界面需要表达未提交、已接收、运行中、结果未知、部分完成、成功和失败等业务语义,而不只是 HTTP 状态。
幂等与状态查询
有副作用的动作使用唯一请求标识;重试前先查询既有任务,避免重复执行。
重试预算
限定次数、间隔和适用错误,防止瞬时问题演变成请求风暴或重复副作用。
可见降级
切换到低能力路径时要说明能力差异和仍未完成的部分,不能伪装成同等结果。
案例拆解
超时重试发出两封邮件
邮件助手提交发送请求后连接超时,前端直接重试。第一封其实已发送,于是客户收到两封相同邮件。
- 01
提交时生成唯一幂等键
- 02
超时后进入“结果未知”而非“失败”
- 03
先按幂等键查询发送状态;仅在确认未执行时重试
案例结果
网络不确定性不再转化为重复外部动作,用户也能理解为何暂时不能再次提交。
提交前练习
现在轮到你
为一个会提交采购申请的 AI 助手设计失败状态机。
完成本课需要:完成以下内容用于本课收口。
内容会自动保存在当前设备
查看参考答案与评分标准
参考答案
草稿→已接收→校验中→待人工批准→提交中→成功;提交超时进入结果未知,按申请幂等键查询;限两次网络重试;校验失败保留草稿,外部提交失败不伪造申请编号。
评分标准
- 区分结果未知与确定失败
- 重试包含幂等约束
- 降级或回滚说明用户可见结果
本课收口 · 应用检查
完成一次应用,再检查理解
完成一次必填练习,再通过理解检查;阅读标记和总结不设硬门槛。
你现在更接近哪一种状态?
尚有必填项未完成,请补齐后再继续。
资料来源
继续核对与延伸阅读
本课内容最近更新于 。
- Monitoring Distributed Systems↗reference · 核对日期 2026-08-23
- NIST AI Risk Management Framework↗standard · 核对日期 2026-08-23