$ cat zh/blog/designing-your-turn-alerts

怎样设计真正有用的“轮到你”提醒

提醒的目标不是制造更多通知,而是在确实需要人时,把你准确带回正确会话。

一个回合结束并不自动等于值得打断。真正有用的提醒需要同时满足:事件足够新鲜、来源是可交互会话、用户尚未回来,并且存在清楚的返回路径。

先判断新鲜度,再决定打断

旧完成事件、重复事件和已被新输入覆盖的事件都不应提醒。提醒状态需要过期时间,并绑定会话与回合标识,不能只按文本去重。

上下文要比“完成了”更具体

至少显示工具、项目或线程标题,以及是正常结束、等待权限还是遇到错误。不要把 prompt 或代码全文塞进通知;用户需要识别会话,不需要在锁屏上泄露内容。

核心是返回路径,不是另一个仪表盘

提醒的主要动作应把用户带回对应会话。无法稳定深链时,也要提供足够的项目与线程身份,让人能快速定位,而不是只打开一个泛化首页。

有用报告应该包含什么

  • 触发提醒的状态与原因。
  • 事件发生时间和新鲜度。
  • 对应工具、项目和线程。
  • 是否还有其他会话在运行。
  • 清除、静音和返回动作。

后台任务和子 Agent 的结束为何通常不应提醒,可继续阅读后台 Agent 结束了,不一定轮到你

把提醒分成状态与呈现两层

底层先输出等待用户、正常完成或受阻等状态,呈现层再决定是否播放声音、打开前台窗口或只留状态栏标记。这样静音策略不会改变事实判断,用户关闭声音也不会让会话从监控器中消失。

提醒生命周期

一次提醒从新鲜事件开始,在用户返回、后续活动覆盖、手动确认或超时后结束。所有出口都应清理同一回合的通知状态。应用重启时只恢复仍有效的注意项,不重新播放已经确认或过期的报警。

验证体验的五个场景

  1. 前台回合正常结束。
  2. 明确等待权限。
  3. 后台子线程完成但主线程仍运行。
  4. 两个项目几乎同时需要用户。
  5. 用户在提醒出现前已经回到会话。