1536 字
8 分钟
- 次浏览
为什么机器人提醒最终落到日历
读前导览

把提醒写进日历,比只让机器人到点发消息更可靠。

正文
1536 字
阅读
8 分钟
结构
8 节
来源线索

windows-bot-memory/reminder-workflow

windows-bot-memory:reminder windows-bot-memory:calendar windows-bot-memory:create-feishu-reminder

提醒看起来很小,也很容易被做成一个“到点发消息”的玩具功能。

在聊天里说一句“半小时后提醒我”,机器人到点发一条消息,好像就结束了。

但实际用下来,提醒是一件需要留下状态的小任务。

尤其是那些来自截图、自然语言和临时变化的提醒,如果只靠聊天消息,很容易丢、很难改、也不好确认是否创建成功。

所以我更倾向于把提醒落到日历里。聊天负责触发,日历负责承载状态,这个分工比单独维护一个机器人计时器可靠得多。

聊天消息适合触发,不适合承载状态#

聊天是很好的入口。

人不会为了一个小提醒打开任务管理器,最自然的方式就是随口说一句:

一会儿提醒我做某件事
明天上午提醒我处理某个问题
截图里的时间到了叫我

这些表达都很轻。

但聊天不适合当提醒的唯一记录。因为它有几个问题:

  • 消息流会被新消息冲走。
  • 修改提醒时很难知道应该改哪一条。
  • 多端同步不一定可靠。
  • 机器人重启后不一定还记得待提醒队列。
  • 用户很难确认提醒是否真的被系统接管。

所以聊天更适合做触发器,日历才适合留下提醒记录。

日历天然适合承载提醒#

日历系统有几个很朴素但重要的能力:

  • 有明确开始时间。
  • 能被手机、电脑、网页多端看到。
  • 支持提醒通知。
  • 支持修改和删除。
  • 支持重复事件。
  • 能和其他日程放在同一个时间轴里。

这些能力如果自己重做一遍,复杂度会很高。

机器人接到“提醒我”这类请求时,默认不应只开一个临时计时器,更好的做法是创建一个日历事件。

这等于把一句聊天请求变成了一个可见、可修改、可同步的系统状态。

最容易出错的是时间解析#

提醒流程里,最容易出错的往往是时间理解,而不是创建事件本身。

自然语言时间经常很模糊:

  • “半小时后”
  • “明天上午”
  • “今天晚点”
  • “截图里那个时间”
  • “改到十点半”

这里至少要做三件事。

第一,确定基准日期。用户说“今天”或“明天”,必须结合当前时区和当前日期。

第二,处理缺省信息。只有“十点半”时,要判断是今天、明天,还是基于上一条提醒修改。

第三,避免过度猜测。时间不明确时,机器人应该停下来问一句,而不是自信创建错时间。

把这些逻辑抽成一个小脚本,比每次在对话里临时推理更可靠。

截图提醒是一个有趣入口#

有些提醒来自截图。

比如界面右侧显示一个到点时间,人只想把截图发给机器人,然后让它按界面上的时间提醒。

这时候流程会变成:

截图 -> 识别时间 -> 解析日期 -> 创建日历事件

这很像一个很小的视觉自动化任务。

但这里也要保守:截图识别出来的时间最好在创建前形成明确文本;如果有歧义,比如“今日”和当前日期跨天、界面显示不完整,就应该要求确认。

它主要省去了用户重新输入时间的步骤。

为什么要写脚本#

一开始直接通过工具调用创建日程也能完成。

但如果每次都让模型在对话里拼参数、查日历、调用接口,速度会慢,而且容易出现细节不一致。

后来我把这套固定流程写成了脚本:

输入:标题 + 时间表达 + 可选日期
处理:解析时间、缓存默认日历、设置提醒策略
输出:创建或 dry-run 验证结果

这样模型只负责判断“用户想要什么”,脚本负责“怎么稳定执行”。

这也是我做本地自动化时越来越喜欢的分工:模型处理模糊语义,脚本处理确定动作。

默认设置要符合生活场景#

提醒脚本的默认设置也很重要。

对于个人提醒,我更希望默认:

  • 事件是私密的。
  • 状态是空闲的,不占用日程。
  • 不自动创建会议。
  • 到点提醒即可。
  • 支持先 dry-run,确认解析结果。

这些默认设置比“功能很多”更重要。提醒是很频繁的小动作,默认设置如果不舒服,每次都要补参数,用户很快就不用了。

修改比创建更考验设计#

创建提醒只是第一步。

真实生活里,时间经常会变。

用户可能会说:

改到十点半
应该是今天不是明天
以后看到这种截图就按上面的时间改

这时系统需要知道“改的是哪一个提醒”。如果提醒只是聊天消息,修改会很难;如果提醒是日历事件,至少还有一个明确对象可以更新。

所以提醒系统最好从一开始就把创建结果变成可追踪对象,而不是只发一句“好的”。

提醒最后还是要落地#

提醒不是一个大功能,但它很能检验机器人是否真的融入日常。

好的提醒流程应该是:

聊天触发
时间解析
日历落地
可见可改
到点提醒

聊天负责低摩擦入口,日历负责长期状态,脚本负责稳定执行,模型负责处理自然语言和上下文。

这样提醒会在日历里留下记录,不会只停在聊天里的一句回复。

为什么机器人提醒最终落到日历
https://blog.sunmmyapi.xyz/posts/calendar-reminder-over-chat-message/
作者
Sun
发布于
2026-05-29
许可协议
CC BY-NC-SA 4.0

继续读

相关内容