L4.12.5silent phases need explanation设计研究

长时间没有输出的阶段需单独说明,否则会被判定为卡死

别名: 静默要解释 · not stuck · 没刷屏不等于死了

概念解释

代理会进入几分钟没有新步骤的阶段:等模型、等外部 API、等人、在跑一个不产生中间事件的批处理。界面若也跟着沉默,人会按卡死来行动——刷新、重开、再下一单。静默阶段要单独说明(silent phases need explanation):正在等什么、已经等了多久、超时之后会怎样、人现在能不能走。

转圈没有文字,等于把「等」和「死」做成同一种视觉。

机制

人用新事件当活着的证据。事件流一停,活着的证据断了,默认故事换成故障。位置与剩余若只报节点,不报「本节点内部在等」,剩余数字会冻结,冻结被读成卡死。过密是事件太多;静默是事件太少。两种都破坏跟随,方向相反。说明要把无事件解释成一种合法状态,而不是用假步骤去填——假填会违反真路径。

没有说明时,人的干预会打在健康的等待上:中止一次正在排队的付款,或重复提交造成双份。

怎么研究

插入一段无事件等待(已知会成功)。比较:无说明、转圈、转圈加「在等 X、已 t 秒、超时 T」。因变量:误中止率、重复提交率、该离开时是否留下、主观卡死判断。自变量:说明是否含对象(在等哪个 API)、超时是否可见、等待是否可取消。

误中止是主终点。说明让人更愿意等,但等错了真卡死,说明就过了头——所以要同时测真卡死时的检出。

边界

真的死了(调度器无心跳)不能靠「正在思考」遮着,心跳丢失应升成失败。过密日志里夹着静默,人更难发现「这一段其实没事件」。过程中纠错在等待里往往无拍可改,入口应变成「取消等待 / 换一条路」,而不是改对象。

怎么落地

  • 超过你们测过的「人开始怀疑」的无事件时长,必须出现说明:等的对象、已等待、超时、可不可以走。转圈不得单独出场。
  • 心跳丢失与合法等待分开表示。合法等待可取消;心跳丢失走失败上报。
  • 验证:插入两分钟合法等待,看误中止和重复提交。两者大于零,静默就还在被当成卡死。再插入真死(断心跳),说明不应让人继续无限等——等下去,说明就把死遮住了。

延伸

  • 同组L4.12.1 可观察的中间步骤把事后纠错变成过程中干预 · L4.12.2 步骤过密会超出用户的跟随能力,可见性退化为滚动的日志 · L4.12.3 用户需能判断当前处在计划的哪一步以及还剩多少 · L4.12.4 展示的步骤必须是真实执行路径,编造的过程描述会误导干预时机
  • 相邻L1.12 延迟与流式输出的体验 · L4.13 代理的失败上报与求助 · L4.08 任务进度可见
  • 站内检索heartbeat · progress silence · perceived hang

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/L4.12.5