跳到主要内容

一句话清空收件箱:AI 邮件分拣的场景拆解与提示词技巧

"帮我看看今天有什么重要邮件" —— 这句话背后,Agent 需要完成 IMAP 连接、邮件拉取、内容分类、优先级排序、摘要生成五个步骤。本文拆解邮件分拣的完整场景链路,并分享让 Agent 分拣更准确的提示词技巧。

场景画像

高频指令

  • "帮我看看今天有什么重要邮件"
  • "最近有没有需要回复的邮件"
  • "把这周的邮件按重要程度排个序"
  • "帮我退订所有营销邮件"

用户痛点:McKinsey 研究显示,职场人每天 28% 的工作时间花在处理邮件上。大部分邮件是噪声——订阅推送、系统通知、营销广告。真正需要人工处理的邮件可能不到 20%。

核心需求:不是"帮我写邮件",而是"帮我少看邮件"。

场景拆解:从一句话到结构化输出

第一阶段:邮件获取

当用户说"帮我看看今天的邮件",Agent 的第一步是调用 email 技能拉取邮件:

# 检查最近 1 天的新邮件,JSON 格式便于 LLM 解析
python3 skills/email/scripts/mail.py check-new --since 1 --json

# 或者拉取最近 10 封邮件
python3 skills/email/scripts/mail.py receive --limit 10 --json

CountBot 的 email 技能现在支持 QQ、163、Gmail、Outlook 和自定义 IMAP/SMTP 邮箱。JSON 输出包含发件人、主题、时间、正文摘要等结构化字段。

第二阶段:LLM 分类推理

Agent 拿到邮件 JSON 后,LLM 自动进行分类。这一步不需要额外的工具调用——它是 LLM 的推理能力。分类维度通常包括:

类别特征处理建议
紧急工作来自同事/上级,含截止日期立即提醒
普通工作项目通知、会议纪要摘要展示
财务账单银行、支付平台提取金额和截止日
订阅推送新闻、技术博客一句话摘要
营销广告促销、优惠券标记为低优先级
系统通知登录提醒、安全告警仅在异常时提醒

第三阶段:记忆写入

如果邮件中包含重要信息(截止日期、会议安排、待办事项),Agent 会调用统一的 memory 工具记录:

memory(action="write", content="2026-02-17 收到项目评审邮件,截止日期 2 月 20 日")

这样在后续对话中,用户问"最近有什么 deadline"时,Agent 可以通过 memory(action="search", ...) 找到这条记录。

第四阶段:格式化输出

Agent 生成结构化的邮件摘要返回给用户:

今日邮件摘要(共 12 封)

紧急(2 封)
1. 张经理 - 项目评审材料确认(截止 2/20)
2. 财务部 - Q1 预算审批需签字

普通(4 封)
3. 技术周报 - 本周迭代进展
4. HR - 年假余额提醒
...

可忽略(6 封)
订阅推送 ×3、系统通知 ×2、营销 ×1

提示词技巧:让分拣更准确

技巧一:给 Agent 提供分类标准

不要只说"帮我整理邮件",而是给出明确的分类规则:

帮我检查今天的邮件,按以下规则分类:
- 紧急:来自 @company.com 的邮件,或主题含"紧急""deadline""审批"
- 重要:含附件的邮件,或需要我回复的邮件
- 信息:新闻订阅、技术博客、系统通知
- 垃圾:营销推广、优惠券、广告
只详细展示紧急和重要的,其余一句话带过。

技巧二:建立邮件处理的"记忆模板"

第一次使用时,告诉 Agent 你的邮件偏好:

记住我的邮件处理偏好:
- 张经理的邮件永远标记为紧急
- 技术周报只需要一句话摘要
- 来自 noreply@ 的邮件全部归为系统通知
- 如果有邮件提到截止日期,帮我记录到记忆里

Agent 会通过 memory(action="write", ...) 记录这些偏好,后续每次处理邮件时都会参考。

技巧三:定时自动分拣

通过 CountBot 的 Cron 系统,设置每天早上自动检查邮件:

帮我创建一个定时任务:每天早上 8:30 检查新邮件,
按我的偏好分类后发送摘要给我。

这会创建一个 cron 表达式为 30 8 * * * 的定时任务,每天自动执行邮件分拣流程。

技巧四:渐进式信任

不要一开始就让 Agent 处理所有邮件。建议的渐进路径:

  1. 第一周:只读取和分类,不做任何操作
  2. 第二周:允许 Agent 记录重要事项到记忆
  3. 第三周:允许 Agent 草拟回复(但不发送)
  4. 第四周:对低风险邮件(如退订营销邮件)允许自动操作

技术细节:AgentLoop 的执行流程

当用户发送"帮我看看今天的邮件"时,CountBot 的 AgentLoop 执行过程:

第 1 轮迭代:
LLM 决策 → 调用 shell_exec("python3 skills/email/scripts/mail.py check-new --since 1 --json")
工具返回 → 12 封邮件的 JSON 数据

第 2 轮迭代:
LLM 分析 JSON → 分类推理
LLM 决策 → 调用 memory(action="write")(记录 2 个截止日期)

第 3 轮迭代:
LLM 生成 → 格式化的邮件摘要
输出 → 流式返回给用户

整个过程通常在 3 轮迭代内完成,耗时 5-15 秒(取决于邮件数量和 LLM 响应速度)。

边界与局限

  • 默认仍建议先只读再执行写操作:虽然 email 技能已经支持删除、标记已读/未读和附件下载,但在实际自动化流程里,建议先做分类确认,再执行修改类操作。
  • 附件处理仍以下载为主:Agent 可以列出附件并下载到允许目录,但像 PDF 正文解析、表格抽取这类深度处理,通常还需要再配合其他技能。
  • 高级能力依赖 IMAP:如果某个账户仍在使用旧版 POP3 配置,那么搜索、列文件夹、标记已读/未读、按文件名下载附件等高级能力会受限。

小结

邮件分拣是 AI Agent 最高频的使用场景之一,因为它满足了三个条件:重复性高(每天都要做)、规则明确(分类标准可定义)、风险可控(可以先只读、再逐步放开操作权限)。通过合理的提示词设计和记忆系统的配合,Agent 可以在几周内学会你的邮件处理习惯,真正实现"一句话清空收件箱"。