乐于分享
好东西不私藏

我用AI Agent做了个自动回邮件的助手:2天开发,每天帮我省2小时

我用AI Agent做了个自动回邮件的助手:2天开发,每天帮我省2小时

🔥 2026 AI Agent 实战

我用AI Agent做了个自动回邮件的助手

2天开发,每天帮我省2小时

从0到1构建能读邮件、写回复、发通知的智能Agent附完整代码 + Prompt模板 + 部署脚本

Python + LangChain + GPT-4 实战

📧 你是不是也被邮件折磨?

每天早上打开邮箱,50+未读邮件等着处理

一半以上是重复性问题:”项目进度怎么样了?””这个需求什么时候能做完?”

写回复、找历史记录、确认细节,每天至少花2小时

这些时间本该用来做更有价值的事

上周我用 LangChain + GPT-4 做了一个邮件助手Agent,它能自动读取邮件、理解上下文、生成专业回复草稿。我现在每天只需要花10分钟审核一下,剩下的都交给它。这篇文章把完整实现过程分享给你。

📋 本文章节

01 · AI Agent到底是什么

02 · 需求分析:Agent要做什么

03 · 技术选型与架构设计

04 · Day 1:核心功能开发

05 · Day 2:进阶功能完善

06 · 效果实测与ROI分析

07 · 避坑指南

08 · 扩展思路与资料包

CHAPTER 01

AI Agent到底是什么

很多人把 AI Agent 和 Chatbot 搞混。简单说:

🤖 Chatbot(聊天机器人)

一问一答,被动响应。你说一句,它回一句。没有记忆,不能操作外部系统。

🎯 AI Agent(智能体)

能自主规划、调用工具、持续学习。给它一个目标,它会自己拆解步骤、执行、反馈、调整。

一个完整的 AI Agent 包含四个核心组件:

🧠 大脑(LLM):GPT-4、Claude 等,负责理解、推理、生成

🛠️ 工具(Tools):邮件API、日历、数据库等,让Agent能操作外部系统

💾 记忆(Memory):短期记忆(对话上下文)+ 长期记忆(用户偏好、历史记录)

📋 规划(Planning):把复杂任务拆解成可执行的子任务,循环执行直到完成

我的邮件助手就是一个典型Agent:它读取邮件(工具)→ 理解内容(LLM)→ 查询历史记录(记忆)→ 生成回复(LLM)→ 等待确认(规划)

CHAPTER 02

需求分析:Agent要做什么

在动手之前,我先梳理了核心需求。不要贪多,先解决最痛的点。

核心工作流程:

① 定时检查 → 每30分钟读取一次Gmail未读邮件

② 智能分类 → 判断邮件类型(紧急/普通/广告/无需回复)

③ 生成回复 → 对需要回复的邮件,结合历史记录生成草稿

④ 人工确认 → 发送到我微信,我确认后才正式发送

⑤ 学习优化 → 记录我的修改,下次生成更接近我的风格

邮件分类规则:

类型
处理方式
示例
🔴 紧急
立即通知,优先处理
线上故障、客户投诉
🟡 普通
生成回复草稿
进度询问、会议邀约
⚪ 广告
标记已读,归档
营销邮件、订阅推送
⚫ 无需回复
仅记录,不处理
系统通知、确认邮件

CHAPTER 03

技术选型与架构设计

技术栈选择遵循一个原则:够用就好,快速验证

核心组件:

🐍

Python 3.10+

生态完善,AI库支持最好

🔗

LangChain 0.2+

Agent框架,封装了LLM调用、工具集成、记忆管理

🧠

OpenAI GPT-4o

推理能力强,Function Calling稳定

📧

Gmail API

读取邮件、发送邮件、标记状态

💾

SQLite

轻量级本地数据库,存邮件记录和用户偏好

系统架构图:

 ┌─────────────┐ │  Gmail API  │ ← 读取未读邮件 └──────┬──────┘        ↓ ┌─────────────┐     ┌─────────────┐ │  邮件分类器  │ ←→ │  SQLite记忆  │ │  (LLM调用)   │     │  (历史记录)  │ └──────┬──────┘     └─────────────┘        ↓ ┌─────────────┐ │  回复生成器  │ ← 生成回复草稿 │  (LLM+Prompt)│ └──────┬──────┘        ↓ ┌─────────────┐     ┌─────────────┐ │  人工确认    │ ←→ │  微信通知    │ │  (审核界面)  │     │  (企业微信)  │ └──────┬──────┘     └─────────────┘        ↓ ┌─────────────┐ │  Gmail API  │ ← 发送邮件 └─────────────┘

CHAPTER 04

Day 1:核心功能开发

第一天聚焦三个核心功能:读取邮件、智能分类、生成回复

Step 1:连接 Gmail

email_agent.py

from googleapiclient.discovery import build from google.oauth2.credentials import Credentials  def get_gmail_service():     “””获取Gmail API服务”””     creds = Credentials.from_authorized_user_file(‘token.json’)     service = build(‘gmail’, ‘v1′, credentials=creds)     return service  def get_unread_emails(service, max_results=10):     “””获取未读邮件”””     results = service.users().messages().list(         userId=’me’,         q=’is:unread’,         maxResults=max_results     ).execute()     return results.get(‘messages’, [])

Step 2:邮件分类 Prompt

Prompt 模板 #1:邮件分类

你是一个邮件分类助手。请分析以下邮件,输出JSON格式:  邮件主题:{subject} 发件人:{sender} 内容:{body}  请分类: 1. category: urgent(紧急) / normal(普通) / spam(广告) / noreply(无需回复) 2. reason: 分类理由(一句话) 3. action: reply(需要回复) / read(仅阅读) / ignore(忽略)  只输出JSON,不要其他内容。

Step 3:生成回复 Prompt

Prompt 模板 #2:生成回复

你是我的邮件助手。请根据以下信息生成专业回复:  【邮件上下文】 主题:{subject} 对方邮件:{body}  【历史记录】 {history_context}  【我的风格】 – 简洁专业,不啰嗦 – 重要事项用 bullet points – 结尾礼貌但不过分热情  请生成回复草稿,保持中文。

Step 4:LangChain Agent 封装

agent.py – 核心Agent实现

from langchain.agents import Tool, AgentExecutor from langchain_openai import ChatOpenAI  class EmailAgent:     def __init__(self):         self.llm = ChatOpenAI(model=”gpt-4o”, temperature=0.3)         self.tools = [             Tool(name=”read_email”, func=self.read_email),             Tool(name=”classify_email”, func=self.classify),             Tool(name=”generate_reply”, func=self.generate_reply),         ]          def process(self, email_id):         # 1. 读取邮件         email = self.read_email(email_id)         # 2. 分类         category = self.classify(email)         # 3. 生成回复(如果需要)         if category[‘action’] == ‘reply’:             draft = self.generate_reply(email)             return {‘category’: category, ‘draft’: draft}         return {‘category’: category}

第一天结束,核心链路已经跑通。测试了10封邮件,分类准确率 90%,回复质量可用。

CHAPTER 05

Day 2:进阶功能完善

第二天做三件事:记忆系统、定时任务、通知机制

1. 记忆系统:让Agent记得上下文

用 SQLite 存三类记忆:

– 邮件记录:主题、内容、分类、回复 – 对话历史:与每个联系人的往来记录 – 用户偏好:我的回复风格、常用话术

2. 定时任务:自动运行

scheduler.py

from apscheduler.schedulers.background import BackgroundScheduler  def run_email_agent():     agent = EmailAgent()     emails = get_unread_emails()     for email in emails:         result = agent.process(email[‘id’])         if result[‘category’][‘action’] == ‘reply’:             send_notification(result)  # 发送到微信  # 每30分钟运行一次 scheduler = BackgroundScheduler() scheduler.add_job(run_email_agent, ‘interval’, minutes=30) scheduler.start()

3. 微信通知:人工确认环节

企业微信机器人推送消息:

📧 新邮件需处理发件人:张三主题:项目进度询问【AI生成回复】张总您好,目前项目进度…[确认发送] [修改] [忽略]

第二天结束,完整流程打通。Agent可以自动运行,我只需要在手机上点确认。

CHAPTER 06

效果实测与ROI分析

运行一周后的真实数据:

📊 数据对比

处理邮件数/天
35 封
自动分类准确率
92%
直接可用回复占比
75%
原邮件处理时间
120 分钟/天
现邮件处理时间
15 分钟/天

💰 ROI 计算

开发成本(2天)
¥1,600
OpenAI API费用/月
~¥120
节省时间价值/月
¥3,500(52小时×¥67)
净收益/月
¥1,780
回本周期
约1个月

更重要的是,我的注意力被解放了。那些重复性的邮件处理不再占用我的大脑,我可以把精力集中在真正重要的事情上。

CHAPTER 07

避坑指南

⚠️ 坑1:API 限额问题

Gmail API 默认限额每天 1 亿次,但新账号可能受限。建议先申请提升限额,或者控制轮询频率(30分钟一次足够)。

⚠️ 坑2:上下文过长导致Token爆炸

如果邮件历史太长,Prompt会超Token。解决方案:只取最近3封相关邮件,或者做摘要存储。

⚠️ 坑3:敏感信息泄露

邮件内容会发送到OpenAI,虽然API调用是加密的,但敏感业务数据建议做脱敏处理,或者用本地模型(如Ollama)。

⚠️ 坑4:人工确认不能省

AI生成的回复可能有错误,特别是涉及具体数据、时间、人名时。务必保留人工确认环节,这是最后的防线。

CHAPTER 08

扩展思路与资料包

这个Agent还可以怎么升级?

🔌 接入更多渠道:飞书、钉钉、企业微信,统一消息入口

🤝 多Agent协作:邮件Agent + 日程Agent + 任务Agent,组成个人助理团队

📈 智能报表:每周生成邮件处理报告,分析时间分布、响应速度

🎯 主动提醒:重要邮件自动标记,逾期未回复自动跟进

📦 资料包领取

关注「代码合伙人」,回复 “邮件Agent” 获取:

✅ 完整项目代码(Python + LangChain)
✅ 5个核心Prompt模板(可直接复制)
✅ Gmail API 配置教程(图文)
✅ 部署脚本(Docker一键启动)
✅ 微信通知接入指南

“AI Agent不是替代我,而是把我从重复劳动中解放出来,让我专注于真正创造价值的事。”

—— 代码合伙人

下期预告

多Agent协作系统:打造你的AI团队

邮件Agent + 日程Agent + 知识库Agent,如何协同工作?

👇 立即获取完整资料包

关注「代码合伙人」回复 邮件Agent

点击关注公众号

✅ 完整代码  ✅ Prompt模板  ✅ 部署教程