本章进度 11 / 18
61%
AI 产品设计·判断·13 分钟
正文已完成

用状态机设计失败恢复

把排队、运行、结果未知、部分完成与回滚写成可执行状态和转移规则。

L214
为什么现在学

把“失败体验”从听懂变成会判断,避免遇到真实任务时仍靠感觉选择。

本课会用什么
  • 无需安装新工具
  • 准备一个可对照的真实问题或样本

一次请求超时,并不代表任务没有执行。把失败当成状态机问题,才能避免重复发送、重复扣费或覆盖已有结果。

这一课的结果

能为有副作用的 AI 任务设计状态机、幂等重试和降级路径。

核心概念

先把关键判断说清楚

01

业务状态优先

界面需要表达未提交、已接收、运行中、结果未知、部分完成、成功和失败等业务语义,而不只是 HTTP 状态。

02

幂等与状态查询

有副作用的动作使用唯一请求标识;重试前先查询既有任务,避免重复执行。

03

重试预算

限定次数、间隔和适用错误,防止瞬时问题演变成请求风暴或重复副作用。

04

可见降级

切换到低能力路径时要说明能力差异和仍未完成的部分,不能伪装成同等结果。

案例拆解

超时重试发出两封邮件

邮件助手提交发送请求后连接超时,前端直接重试。第一封其实已发送,于是客户收到两封相同邮件。

  1. 01

    提交时生成唯一幂等键

  2. 02

    超时后进入“结果未知”而非“失败”

  3. 03

    先按幂等键查询发送状态;仅在确认未执行时重试

案例结果

网络不确定性不再转化为重复外部动作,用户也能理解为何暂时不能再次提交。

提交前练习

现在轮到你

为一个会提交采购申请的 AI 助手设计失败状态机。

完成本课需要:完成以下内容用于本课收口。

内容会自动保存在当前设备
查看参考答案与评分标准

参考答案

草稿→已接收→校验中→待人工批准→提交中→成功;提交超时进入结果未知,按申请幂等键查询;限两次网络重试;校验失败保留草稿,外部提交失败不伪造申请编号。

评分标准

  • 区分结果未知与确定失败
  • 重试包含幂等约束
  • 降级或回滚说明用户可见结果

本课收口 · 应用检查

完成一次应用,再检查理解

完成一次必填练习,再通过理解检查;阅读标记和总结不设硬门槛。

0 / 2
02完成本课必填练习0 / 4 项必填内容已填写03通过理解检查点此去回答,约 30 秒
04补一句总结(可选)可以留空,不影响完成本课。
有副作用的请求超时后,最安全的下一步是什么?
你现在更接近哪一种状态?
尚有必填项未完成,请补齐后再继续。

资料来源

继续核对与延伸阅读

本课内容最近更新于 。