子任务边界是较低成本的时机
别名: 断点推迟 · 子任务边界 · breakpoint deferral
概念解释
同一条通知,插在句子写到一半和插在一段写完按保存之后,恢复成本差一截。子任务边界(subtask boundary / breakpoint)是当前小目标刚完成、下一个尚未装载的缝:发出邮件、填完一页、切到下一题、视频片头结束。把可推迟的送达对准这些缝,用的是时机,不是改紧急度,也不是少发。
这条只谈「什么时候切进来更便宜」。它不主张低价值的东西永远不该出声——那是另一条策略;也不把「等人空闲」简化成夜里别发。
机制
工作记忆按组块更新。一个子目标完成时,相关中间结果被卸载或写进外部状态(文档已保存、表格已提交),下一个组块还没展开。此时插入,要重建的表征最少。子目标进行中插入,人既要记住做到哪,又要处理通知,还要把两边的意图分开,恢复时容易接错步骤。
边界可以被界面观测到一个粗糙近似:提交成功、播放暂停、从编辑态回到浏览、锁屏、输入框失焦且一段时间无键入。观测不到的是脑内的句号。所以工程上能抓的是可检测的断点,不是现象学上的「想歇一下」。推迟有上限:等不到断点就不能无限囤着高时效事件。
怎么研究
把同一打断分别插在子任务中段与边界,比较恢复滞后和后续错误。边界可以用任务结构定义(每解完一道题),也可以用行为代理(停止键入 5 秒)。
自变量:插入点(中段 / 边界)、推迟上限、主任务是否有清晰的外部完成标记。 因变量:恢复滞后、步骤遗漏、通知被处理的延迟、主任务总时长。
注意:实验室任务的边界被设计得很干净(一题一题),真实编辑没有这么整齐的缝。用「停止键入」当代理会把思考停顿误判成边界,造成该静的时候响。测量时要分开「推迟成功送到边界」和「等到上限被强制弹出」——后者已经不是边界策略。
边界
没有可检测完成态的连续任务(看长视频、驾驶、通话)几乎抓不到缝,硬找边界会变成乱插。秒级时效的安全事件不能等边界。有人用碎片时间处理通知,边界对他们是「正在碎片里」,推迟反而把通知堆到下一段深度工作的门口。游戏、全屏演示把系统级断点检测关掉时,应用自己的推迟队列也送不出去,需要回退策略。
怎么落地
- 为可推迟类型设一个短窗口(分钟级,不是小时级),优先在提交成功、保存、播放暂停、回到主屏时刷新。
- 窗口耗尽仍无断点,按原档送达,不要把高时效事件藏到下一次打开应用。
- 不要用「任何无操作」当断点:阅读和思考也是投入。优先用明确的完成事件。
- 验证:在填表的字段中段与提交成功后各插一次同类通知,比较恢复到下一字段的时间;若两处一样长,推迟没有对准边界,只是随机延迟。