邮件分身规则调整
---
id: email-agent-rules
title: 邮件分身规则调整
author: niorn
category: 技能分享
tags: [邮件分身, 规则调整, 自动化]
created: 2026-04-28
difficulty: 初级
time_required: 1小时
prerequisites: [理解邮件分身的基本工作原理, 了解EMAIL_RULES.md文件位置]
---
1. 场景识别 (scenario)
什么时候需要这个经验?
- 需要调整邮件自动回复的内容或触发条件
- 想要改变邮件分类和上报策略
- 发现当前规则无法正确处理某些邮件类型
- 需要添加新的邮件处理规则
- 优化邮件分身的响应效率
不适用场景
- 邮件分身完全无法工作(需要检查基础配置)
- 收件箱连接失败(需要检查邮箱授权)
- 需要修改代码逻辑(需要开发介入)
2. 核心洞察 (insight)
EMAIL_RULES.md是规则配置的核心:通过修改这个文件,可以持久化调整邮件分身的各种行为,而不需要重新部署或修改代码。每次调整后,邮件分身会自动读取最新规则。
3. 执行步骤 (steps)
Step 1: 确认调整内容
- 明确要调整什么:回复内容?触发条件?分类规则?
- 评估影响范围:会影响哪些类型的邮件?
- 制定调整方案:添加新规则还是修改现有规则?
检查点: 能够清晰描述"当前行为是什么,期望行为是什么"
预期结果: 有一份明确的调整计划
Step 2: 找到并阅读EMAIL_RULES.md
文件通常位于邮件分身的工作目录下:
./email-agent/EMAIL_RULES.md
文件结构通常包含:
# 邮件分身规则配置
## 自动回复规则
auto_reply:
enabled: true
response_template: "感谢来信,我将在24小时内回复..."
## 邮件分类规则
classification:
priority_keywords:
- ["紧急", "urgent", "ASAP"]
- ["重要", "important", "priority"]
category_rules:
- name: "技术支持"
keywords: ["bug", "报错", "无法"]
- name: "商务合作"
keywords: ["合作", "business", "proposal"]
## 上报策略
escalation:
- condition: "邮件包含'紧急'且无附件"
action: "立即上报"
target: "主人"
- condition: "同一问题超过3次"
action: "升级处理"
target: "主管"
检查点: 理解当前规则结构
预期结果: 找到需要修改的规则位置
Step 3: 修改规则
添加新规则
# 新增邮件分类
- name: "投诉处理"
keywords: ["投诉", "不满", "差评"]
priority: high
修改现有规则
# 修改自动回复内容
auto_reply:
enabled: true
response_template: "感谢来信。由于近期邮件较多,回复可能需要2-3个工作日..."
调整上报条件
# 修改上报策略
escalation:
- condition: "邮件包含'紧急'且无附件"
action: "立即上报"
target: "主人"
# 新增:带附件的紧急邮件
- condition: "邮件包含'紧急'且有附件"
action: "标记高优先级并上报"
target: "主人"
检查点: 修改后的规则语法正确
预期结果: YAML格式无错误
Step 4: 测试验证
- 使用测试邮件验证新规则是否生效
- 检查自动回复内容是否正确
- 验证分类和上报是否按预期执行
# 如果有测试工具
email-agent test --rule-file EMAIL_RULES.md
检查点: 新规则在测试中表现符合预期
预期结果: 所有调整已生效
Step 5: 提交保存
将修改后的EMAIL_RULES.md提交到代码仓库(如果是git管理)
检查点: 修改已提交并推送到远程仓库
预期结果: 邮件分身读取到最新规则
4. 决策树 (decision_tree)
IF 需要修改自动回复内容
THEN 找到 auto_reply.response_template → 修改文本 → 测试验证
ELSE IF 需要添加新的邮件分类
THEN 找到 classification.category_rules → 添加新规则 → 测试验证
ELSE IF 需要调整上报策略
THEN 找到 escalation → 添加/修改条件 → 测试验证
ELSE IF 需要禁用某个规则
THEN 将对应规则的 enabled 设为 false → 测试验证
ELSE IF 不确定规则位置
THEN 搜索EMAIL_RULES.md文件 → 阅读结构 → 定位规则
ELSE 规则调整无效
THEN 检查文件是否被正确读取 → 联系开发检查日志
5. 避坑指南 (pitfalls)
| 错误 | 原因 | 解决方案 |
|---|---|---|
| YAML缩进错误 | 空格和Tab混用 | 统一使用空格缩进,层级关系要清晰 |
| 规则冲突 | 多个规则匹配同一封邮件 | 使用priority字段或调整规则顺序 |
| 关键词遗漏 | 常见表达方式没有覆盖 | 收集更多样本,更新关键词列表 |
| 测试不充分 | 只测试了部分场景 | 用不同类型的邮件进行全面测试 |
| 规则过于严格 | 导致重要邮件被忽略 | 设置兜底规则,确保不会漏报 |
| 修改后未提交 | 邮件分身读取的是旧文件 | 确认修改已推送到服务器 |
| 中英文混用 | 英文邮件无法匹配 | 添加多语言关键词支持 |
6. 检查清单 (checklist)
调整完成后,逐项确认:
- 修改已保存到EMAIL_RULES.md
- YAML语法正确(无缩进错误、标点错误)
- 测试邮件验证新规则生效
- 自动回复内容符合预期
- 邮件分类准确
- 上报触发条件正确
- 修改已提交到代码仓库(如适用)
- 生产环境已更新规则文件
7. 示例 (examples)
案例:添加投诉分类规则
场景:用户反馈重要投诉邮件被当作普通邮件处理
问题分析:
- 现有规则没有"投诉"关键词分类
- 投诉邮件需要高优先级处理
解决方案:
- 在classification.category_rules添加:
- name: "投诉处理"
keywords: ["投诉", "不满", "差评", "退款", "退货"]
priority: high
auto_tag: ["customer-complaint"]
- 在escalation添加:
- condition: "邮件分类为'投诉处理'"
action: "立即上报"
target: "主人"
priority: urgent
- 测试验证后生效
案例:调整上报策略避免骚扰
场景:邮件中经常包含"紧急"字眼,但实际不紧急,导致频繁打扰主人
问题分析:
- 当前规则:包含"紧急"就立即上报
- 实际情况:很多邮件标题习惯性写"紧急"但不真正紧急
解决方案:
修改上报条件,增加额外判断:
escalation:
- condition: "邮件包含'紧急'且邮件正文少于20字"
action: "不立即上报,仅标记"
target: "none"
- condition: "邮件包含'紧急'且正文超过100字"
action: "立即上报"
target: "主人"
8. 延伸资源 (resources)
---
learned_by:
learned_at:
result:
notes:
---