日常提醒 Agent:自动执行之前,先学会等待确认

发布时间:2026/7/2 22:10:05
日常提醒 Agent:自动执行之前,先学会等待确认 日常提醒 Agent自动执行之前先学会等待确认生活化 Agent 最诱人的地方是它能帮用户自动做事加日历、列购物清单、提醒休息、整理待办。但越接近日常越不能一听到意图就立刻执行。提醒错了只是打扰购物错了是浪费日程错了可能影响真实生活。我做日常提醒 Agent 时会坚持一条原则自动执行之前先学会等待确认。Agent 可以理解、草拟、补全但真正写入外部系统前要给用户一个清楚的确认点。一、把 Agent 拆成四层不要让模型直接调用工具。更安全的结构是识别意图、生成草稿、等待确认、执行动作。每一层都有明确输入输出。flowchart TD A[用户自然语言] -- B[意图识别] B -- C[提醒草稿] C -- D{用户确认} D --|确认| E[调用日历/提醒] D --|修改| C D --|取消| F[结束]这个流程多了一步但换来的是安全感。生活化产品不应该追求“看我一句话就帮你做完”而应该追求“我知道它不会乱做”。二、草稿要结构化提醒草稿不能只是自然语言。它要有时间、重复规则、提醒方式、内容和置信度。模型不确定的字段要标出来。type ReminderDraft { title: string; datetime?: string; repeat?: none | daily | weekly; channel: push | email | calendar; confidence: { time: number; intent: number; }; missingFields: string[]; };如果用户说“晚上提醒我一下”时间不明确Agent 应该追问“今晚几点比较合适”而不是默认 20:00。默认值可以有但必须可见。三、工具调用要有权限边界日历、通知、邮件都属于外部动作。每个工具应声明权限范围Agent 只能在授权范围内调用。tool_permissions: calendar: allowed_actions: [create_event, update_own_event] require_confirmation: true notification: allowed_actions: [schedule_push] quiet_hours: 22:00-08:00 email: allowed_actions: []这份配置比“让模型自己判断”可靠得多。模型适合理解语言不适合成为权限系统。权限应该由确定性代码控制。四、失败反馈要像人话提醒创建失败时不要只显示500或calendar_api_error。用户需要知道是否已经创建成功、是否需要重试、会不会重复提醒。可以把失败分成三类信息不足、权限不足、外部服务失败。每类给出不同文案和动作。生活化 AI 的温柔也体现在出错时不让用户猜。还要给用户提供修改入口。确认页不要只有“确定”和“取消”最好能直接改时间、重复频率和提醒内容。否则用户发现草稿差一点就只能重新输入一遍。生活化产品的顺手往往来自这些小小的可编辑状态。draft: 明晚提醒我整理发票 missing: 具体时间 ui_actions: 选择时间 / 改成每周 / 取消 safe_default: 不创建提醒等待用户确认五、总结日常提醒 Agent 的关键不是自动化得多快而是执行得多可靠。意图、草稿、确认、执行四层分开结构化草稿、权限边界和清楚失败反馈能让 Agent 更适合真实生活。真正贴心的自动化不是替用户抢方向盘而是在需要时轻轻扶一下。