Lesson 7: 部署和运维

学习目标

  • 掌握 Agent 工作流的部署方案选择
  • 理解生产环境中 Agent 的运维要点
  • 学会设置可靠的错误恢复机制

部署方案比较

方案 1: n8n Cloud

最快上手的方案。 n8n 提供托管服务,你只需要导入 workflow JSON,配置 credentials,点击激活。

  • 优点: 零运维、内置监控、可视化编辑器
  • 缺点: 月费 $20+、数据在第三方、执行次数有限制
  • 适合: 中小规模(每天 <1000 次执行)、快速验证 MVP

方案 2: 自建 n8n

在自己的服务器上跑 n8n。

# Docker 部署
docker run -d --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  -e N8N_BASIC_AUTH_ACTIVE=true \
  -e N8N_BASIC_AUTH_USER=admin \
  -e N8N_BASIC_AUTH_PASSWORD=your-password \
  n8nio/n8n
  • 优点: 数据自控、无执行限制、可深度定制
  • 缺点: 需要运维、自己处理备份和更新
  • 适合: 生产环境、数据敏感场景、大规模执行

方案 3: 纯代码部署

用 TypeScript/Python 直接写 Agent 逻辑,部署到任何平台。

  • 优点: 最灵活、版本控制友好、可单元测试
  • 缺点: 开发成本高、没有可视化界面
  • 适合: 复杂 Agent 逻辑、需要深度集成的场景

选择建议

验证想法 → n8n Cloud(1-2 周搭建)
小规模生产 → n8n Cloud 或自建 n8n
大规模/复杂 → 自建 n8n + 纯代码混合

生产环境检查清单

上线前必须确认:

可靠性

  • 每个外部 API 调用都有超时设置(推荐 30 秒)
  • 失败重试机制(指数退避,最多 3 次)
  • 死信队列:重试失败的任务不丢失,人工处理
  • 关键路径上的健康检查
  • 安全

  • 所有 API Key 存储在环境变量或 Secret Manager
  • Webhook 有认证机制(签名验证或 API Key)
  • Agent 的操作权限最小化
  • 敏感数据加密存储和传输
  • 成本

  • API 调用预算上限(防止意外循环导致天价账单)
  • Token 使用量监控
  • 每日/月度成本报告
  • 数据

  • 执行日志保留策略(通常保留 30-90 天)
  • 输入输出数据的合规处理(GDPR/隐私)
  • 定期备份 workflow 配置
  • 错误恢复策略

    级别 1: 自动重试

    const retryWithBackoff = async <T>(
      fn: () => Promise<T>,
      maxRetries: number = 3
    ): Promise<T> => {
      for (let attempt = 0; attempt <= maxRetries; attempt++) {
        try {
          return await fn()
        } catch (error) {
          if (attempt === maxRetries) throw error
          const delay = Math.pow(2, attempt) * 1000
          await new Promise(resolve => setTimeout(resolve, delay))
        }
      }
      throw new Error('Unreachable')
    }

    级别 2: 降级处理

    主服务不可用时,用备选方案:

    • Claude API 超时 → 用缓存的模板回复
    • 邮件发送失败 → 加入队列稍后重试
    • CRM 不可达 → 本地记录,恢复后同步

    级别 3: 人工接管

    系统检测到异常模式时自动通知人类:

    • 连续 5 次失败
    • 异常高的 API 费用
    • 输出与历史模式显著不同

    关键收获

    1. 从 n8n Cloud 开始验证,确认有效后考虑自建
    2. 生产环境检查清单涵盖可靠性、安全、成本、数据四个维度
    3. 错误恢复分三级:自动重试 → 降级处理 → 人工接管
    4. 上线不是终点,持续监控和优化是日常工作