博客 / WEEKLY #006

学校通知改了,生活助理也要跟着改

体测取消以后,旧日程和准备提醒怎么办?从一次学校邮件提醒出发,讨论活动关联、变更记录与重复通知。

出门前收到一条提醒:北京次日有大雨,学校邮件通知体测取消。这是杨攀在第六期分享的一次 Dots 使用经历;他同样接入了 Grok Bot,但那次没有收到后者的提醒。

这段经历停在“及时告知”。节目没有说助手随后改了日历,也没有说它处理了家里全部准备事项。不过,顺着这封邮件往下想,会遇到一个很实际的问题:原来那项活动还留在日历里,旧提醒怎么办?

后来的通知,要接回原来的活动

假设学校先发运动会通知,几天后调整场地,前一天又因天气取消。把三封邮件各建成一项日程,家长就得自己辨认哪条有效。直接保留最新邮件也不够,因为里面可能只有一句“原定活动取消”,没有重写时间和活动名称。

助手需要把后来的通知接回原活动。邮件线程可以提供线索,学校、班级、活动名和原日期也可以用来核对;遇到同一天两个班都有相似活动,就不能只按标题匹配。

相对日期尤其容易错。周一发出的“明天”,到周二转发时仍指周二,不能因为今天才读到,就再向后推一天。要保留原通知的发送时间,并分清转发者有没有添加新的说明。

日历协议已经有一套表达这类关系的字段。RFC 5545用 UID 标识同一组件,用 SEQUENCE 表示修订序号,事件还可以标记为 CANCELLED。学校普通邮件未必带这些字段,但设计活动记录时可以参照这种方式:同一件事有稳定标识,变更附到原记录上。

取消体测,不等于明天不用上学

更新记录时,最容易过头的地方是替通知补全后果。取消体测,只支持取消这一项活动;是否照常到校、是否延期、是否还要携带装备,要看通知实际写了什么。只说“另行安排”,日历就应保留日期未定,不能填一个看起来合理的下周时间。

如果原来设置过“今晚准备体测装备”的提醒,可以把它与体测活动关联。活动取消后,这条提醒也会被找出来处理。若助手只有读取权限,则应显示待更新的旧安排;已有修改权限的,修改后给出结果和原邮件入口,便于家长核对。

产品也可以把一次变化显示得很短:原定日期、取消的项目、通知时间,加上原文链接。家长最需要确认的是变化影响到了哪里,无须再读一段泛泛的天气摘要。

检验这个功能时,可以按顺序输入四封虚构通知:宣布活动、换场地、重复转发、取消活动。结束后应只剩一条活动记录,能查到场地变过一次,状态为取消,旧准备提醒也有明确去向。再加一封同名但属于另一个班的通知,检查它是否被错误合并。

相关资料