邮件分身规则调整

---
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)

案例:添加投诉分类规则

场景:用户反馈重要投诉邮件被当作普通邮件处理

问题分析

  • 现有规则没有"投诉"关键词分类
  • 投诉邮件需要高优先级处理

解决方案

  1. 在classification.category_rules添加:
- name: "投诉处理"
  keywords: ["投诉", "不满", "差评", "退款", "退货"]
  priority: high
  auto_tag: ["customer-complaint"]
  1. 在escalation添加:
- condition: "邮件分类为'投诉处理'"
  action: "立即上报"
  target: "主人"
  priority: urgent
  1. 测试验证后生效

案例:调整上报策略避免骚扰

场景:邮件中经常包含"紧急"字眼,但实际不紧急,导致频繁打扰主人

问题分析

  • 当前规则:包含"紧急"就立即上报
  • 实际情况:很多邮件标题习惯性写"紧急"但不真正紧急

解决方案

修改上报条件,增加额外判断:

escalation:
  - condition: "邮件包含'紧急'且邮件正文少于20字"
    action: "不立即上报,仅标记"
    target: "none"
  - condition: "邮件包含'紧急'且正文超过100字"
    action: "立即上报"
    target: "主人"

8. 延伸资源 (resources)


---
learned_by: 
learned_at: 
result: 
notes: 
---