先讲一个每天早上都会发生的场景。早上9点销售总监老张打开邮箱未读邮件73封。客户的询价、内部的审批、财务的对账、产品部的更新通知、还有不知道谁CC他的行业资讯……他快速扫了一遍先把客户询价的几封标了星标打算稍后细回。中间被两封紧急的审批打断了思路回复完审批再回来发现刚才那几封星标邮件已经沉到了第3页。等他终于处理完最重要的几封一个上午已经过去了。而那封夹在中间的“产品资料更新”邮件他压根没看到直到下午同事问他“资料看了吗”他才想起来。老张的问题不是他不努力而是邮件这种工具天生就是给所有人用的不是给“忙人”用的。收件箱里重要和不重要混在一起需要行动的和只需要看一眼的叠在一起。后来我们给公司装了一个邮件自动化办公Agent。它每天在老张睡觉的时候就跑完了全流程把73封邮件分类成“需回复”“需审批”“需阅读”“垃圾”自动起草了12封询价邮件的回复草稿还从中提取了5条待办任务直接塞进了他的飞书任务中心。早上9点老张打开邮箱未读邮件只有7封——全部是Agent无法确定、需要他亲自看一眼的。他花了20分钟处理完这些然后用10分钟快速过了一遍Agent起草的回复草稿改了几个数字就发出去了。他的73封邮件从此变成了“每天20分钟”。这篇文章我把这个全链路案例拆给你看邮件怎么自动分类、回复草稿怎么生成、待办如何提取和跟进。不堆理论只说我们怎么做的、踩过哪些坑。一、第一步邮件自动分类——把对的邮件放到对的篮子里分类是所有自动化的前提。收件箱里的邮件可以按几个维度切分重要性、是否需要回复、所属项目、发送者角色。我们给Agent设了一个四分类法不是按发件人硬分而是综合判断分类判断依据处理方式需回复邮件中明确提出一个问题或请求且收件人在TO列表不是CCAgent起草回复草稿标记为“待确认”需审批含“请审批”“需要你确认”“批准”等关键词且发件人是下属或特定系统提取关键信息推送审批卡片到IM需阅读行业资讯、产品更新、团队同步等无需行动生成摘要放入“阅读列表”垃圾/低价值群发通知、自动告警、已解决的工单更新等自动归档或标记已读不占用注意力分类不是靠死规则而是规则LLM两层。第一层规则快速过滤。比如发件人是noreply、标题含[Auto-Reply]、正文只有“已收到”等直接判为垃圾。这个用正则匹配速度快不花钱。第二层LLM做语义判断。规则无法确定的邮件喂给一个小模型比如GPT-3.5或本地的Qwen输出分类和判断理由。我们实测LLM分类的准确率在90%以上但成本比规则高10倍。所以原则是先用规则干掉60%的明显邮件剩下的40%交给LLM。避坑不要把“发件人是老板”自动归为“需回复”。老板可能只是CC你。我们加了一条规则检查邮件头里的To字段。如果用户不在To列表里只在CC里则默认降一级优先级需阅读而非需回复。二、第二步自动起草回复——不是写作文是填模板很多人觉得“自动回复”就是让AI写一篇完整的邮件。其实不是。大部分商务邮件的回复是有固定套路的确认收到、回答问题、提供信息、转给他人。我们的Agent把“起草回复”拆成三步2.1 提取原邮件的关键信息从原邮件中提取发问人问了什么提取出具体的问题列表需要什么附件或数据截止时间或紧急程度这一步用LLM做结构化提取。Prompt示例从以下邮件中提取 1. 用户提出的问题逐条列出 2. 要求的附件或数据 3. 任何提及的时间节点 邮件内容{{email_body}}输出JSON格式方便下游处理。2.2 匹配回复模板公司预先定义了20多个常见场景的回复模板询价回复、项目进度同步、会议确认、资料索取等。Agent根据邮件意图匹配最合适的模板。比如“客户问产品价格和库存”匹配“询价回复模板”尊敬的{{customer_name}} 感谢您的询价。关于{{product_name}} - 单价{{price}}元/件 - 库存{{stock}}件 - 预计交货期{{delivery_days}}天 如需进一步信息请随时联系。 祝好 {{sender_name}}2.3 填充变量 生成草稿Agent从CRM或内部系统中自动拉取变量值客户名称、产品价格、库存等。如果某个变量无法自动获取比如“库存”需要查实时库存系统但Agent没权限则在草稿中标记【需人工填写】。最终生成一封完整的回复草稿存入草稿箱标记为“待确认”。用户打开邮箱时看到的不是空白而是一封已经写好了90%的邮件只需要改几个字、点一下发送。避坑绝对不要让Agent自动发送回复。我们的Agent只生成草稿不点发送。原因很简单AI可能会瞎编数字或者语气不对。用户确认是最后一道防线。三、第三步跟进待办——从邮件里“挖”出任务邮件里藏着大量待办。比如“请在下周三前提交Q3报告”——这是一个带截止时间的任务“麻烦你帮忙看一下这个客户的合同”——这是一个待办但没有明确截止时间“老张这个你跟进一下”——这是一个指派给“老张”的任务Agent需要做三件事识别、结构化、创建。3.1 识别待办用LLM扫描邮件正文包括回复链找出所有“需要某人做某事”的句子。判断依据包含动作词提交、完成、跟进、确认、回复、审批有明确的负责人“你”“xxx”“麻烦xx”或者隐含负责人收件人就是负责人3.2 结构化提取出三个关键字段负责人从邮件中识别出的人名或默认为当前用户动作需要做什么截止时间如果有明确日期则提取没有则留空输出格式示例{ tasks: [ { owner: 张伟, action: 提交Q3销售报告, due_date: 2025-05-21 }, { owner: 李丽, action: 跟进客户ABC的合同审批, due_date: null } ] }3.3 创建任务Agent调用飞书/钉钉的任务API为每个待办创建一个任务。如果截止时间明确则自动设置提醒如果不明确则只创建任务不设时间让用户后续补充。任务创建后Agent在原邮件上加一个标签“已创建3个待办”并附上任务链接。避坑不要给所有人创建任务。Agent需要识别“这个待办到底指派给谁”。如果邮件里说“请相关部门配合”没有明确负责人Agent不应该瞎猜而是生成一个“待分配”任务或者直接问用户“这封邮件里有一个待办但没有明确负责人请指定。”四、全链路串联一封邮件的完整旅程让我们用一封真实邮件的例子把三步串起来。原邮件客户发给老张张总好我们想采购100台型号X3的设备麻烦报个价。另外上次提到的产品手册能发我一份吗如果下周能交货我们这边可以安排付款。谢谢—— 客户李总Agent的处理过程分类邮件中有“采购”“报价”“交货”且老张在TO列表 → 判为“需回复”。起草回复提取问题[“报100台X3的价格”“发产品手册”]匹配模板询价回复模板填充变量从CRM查X3单价500元/台从库存系统查X3库存320台从订单系统查交货期标准7天生成草稿李总您好感谢您的询价。X3单价500元/台100台总价5万元。库存充足320台标准交货期为7天下周内可以交货。产品手册已附上。期待合作。祝好张伟待办提取从邮件中识别出“报价”和“发手册”这两个动作负责人是老张自己但还有一个隐含动作客户问“下周能否交货”需要老张确认库存和物流。Agent创建一条待办“确认X3下周交货的可行性”截止时间设置为发件日1天任务创建在飞书任务中心创建一条待办提醒老张今天内确认交货可行性。老张第二天早上看到的是收件箱里这封邮件已经被标记为“已处理”一封回复草稿躺在草稿箱里除了把总价从5万改成4.8万他给了折扣其他一字未动一条飞书待办“确认X3下周交货的可行性”原邮件旁边显示“已自动创建回复草稿和1个待办”他从头到尾只花了30秒改了一个数字点了发送确认了待办。而如果没有Agent这个流程至少要他15分钟读邮件、查库存、查价格、写回复、再创建一个待办提醒自己。五、三个必须避开的坑坑1自动回复的语气像机器人早期Agent生成的回复很生硬“您的询价已收到。根据系统数据单价为500元。”用户说这不是我的风格。后来我们把每个用户的历史发件作为风格样本让LLM学习模仿。效果回复读起来像本人写的而不是客服机器人。坑2把“已回复但未发送”当作已处理Agent生成了草稿但用户一直没点发送。Agent需要跟踪状态如果草稿在草稿箱里躺了超过48小时未动应再次提醒用户“你还有一封待发送的回复”。坑3待办重复创建同一封邮件因为多次解析或多次触发生成了3条一模一样的待办。解决方案在创建任务前先查询现有任务中是否存在相同来源email_id action owner的未完成任务。如果有跳过创建。六、你也能从一个小功能开始不需要一步到位做全链路。从最痛的点切入如果你每天被大量无关邮件淹没先做自动分类把垃圾和低价值邮件自动归档。如果你经常需要回复相同类型的问题先做模板匹配草稿生成哪怕只支持三五种场景。如果你总忘记邮件里提到的任务先做待办提取把任务同步到任务管理工具。每个小功能单独上线都能立竿见影。等跑顺了再慢慢串联起来。写在最后邮件的本质不是收是处理老张用了三个月邮件Agent后有一天跟我说“我终于发现我以前的忙不是忙在工作上而是忙在处理‘工作的前戏’上。读邮件、分类、想怎么回、记着去跟进……这些事本身不是价值它们是通往价值的准备工作。”邮件的自动化不是让你回得更快而是让你只回需要你回的其余的都交给机器。73封到7封是数字的变化从每天焦虑打开邮箱到从容处理最重要的那几件事才是真正的变化。你的收件箱里现在有多少封未读也许是时候给你的邮箱也配一个Agent了。