n8n AI 工作流失败怎么监控?用 Error Trigger 留下执行线索

给 n8n AI 工作流关联 Error Trigger 处理器,记录失败节点和可用执行链接,用带认证的独立测试入口验证自动失败链路。

n8n AI 工作流失败时,可以用一个以 Error Trigger 开头的错误工作流,保存失败流程、最后执行节点、错误消息和可用的执行链接。先把失败线索留全,才能判断问题发生在模型、工具还是前面的数据处理。

本文面向已有 n8n AI 流程的维护者,配置依据为 2026 年 10 月 1 日读取的官方文档。没有在读者的实例中执行,也不展示线上故障统计。下面的失败演示应建在单独的测试工作流中,不改正在服务用户的正式流程。

n8n AI 工作流失败怎么监控?用 Error Trigger 留下执行线索

先分清手动测试与自动失败

Error Trigger 官方文档明确:它在关联工作流自动运行并失败时触发,不能靠手动点击主流程 Execute workflow 验证错误工作流。错误工作流本身无需发布;需要自动触发的是产生失败的主测试流程。

这也解释了常见情况:编辑器里模型节点报错了,错误工作流却没有执行。先核对执行模式,再查 Error workflow 是否选对,不要马上判定错误处理失效。

建立 Error Handler 并保存最小记录

  1. 新建工作流,命名为 AI Error Handler Demo。
  2. 添加 Error Trigger 作为第一个节点,后面连接 Code。
  3. Code 选择 JavaScript、Run Once for All Items,粘贴下面代码。
  4. 在该错误工作流的 Settings 中确保成功的生产执行会保存;这样处理器成功后,仍能从它的执行详情看到记录。保存工作流。
return $input.all().map(item => {
  const d = item.json;
  const e = d.execution ?? {};
  const t = d.trigger ?? {};
  return {
    json: {
      recorded_at: new Date().toISOString(),
      workflow_id: d.workflow?.id ?? null,
      workflow_name: d.workflow?.name ?? null,
      execution_id: e.id ?? null,
      execution_url: e.url ?? null,
      last_node: e.lastNodeExecuted ?? t.error?.node?.name ?? null,
      message: e.error?.message ?? t.error?.message ?? "未提供错误消息",
      mode: e.mode ?? t.mode ?? null,
      retry_of: e.retryOf ?? null
    }
  };
});

执行 ID 和 URL 不是每次都有。错误处理文档说明,它们要求执行保存在数据库;触发器本身失败时,还可能根本没有主执行记录。上述代码把缺失字段保留为 null,并兼容 execution.error 与 trigger.error 两类结构。

保存选项见 工作流设置文档中的 Save failed production executions 和 Save successful production executions。若实例管理员强制执行数据脱敏,节点输入输出可能不可见;这时应通过有权限的管理者核对记录,不把看不到字段直接解释为未触发。

不要把完整输入、请求头或错误堆栈直接发送给外部接收方。本例只在执行详情中保留必要线索;如果错误消息本身带有敏感数据,也应在进入通知系统前脱敏。

把已有 AI 流程关联到处理器

打开要监控的工作流,进入 Options → Settings,在 Error workflow 中选择 AI Error Handler Demo,保存。模型或工具节点的真实错误会按工作流失败处理,但业务上的错误答案不会自动成为执行错误。

例如,模型返回了可解析文本,节点成功,内容却遗漏工单状态;Error Trigger 不会因此触发。需要先用规则节点检查必需字段,判定失败后通过 Stop And Error 明确抛错。Stop And Error 文档提供 Error Message 与 Error Object 两种方式。

用独立 Webhook 测试流程验证链路

为避免真的调用付费模型,本次用可识别的固定错误代替模型失败。新建 AI Failure Probe,连接 Webhook → Stop And Error:

  1. Webhook 的 HTTP Method 设 POST,Path 填一个只用于此次测试的路径,例如 ai-failure-probe。
  2. Authentication 选 Basic Auth,并在凭证中设置仅用于本测试的账号密码。
  3. Stop And Error 选 Error Message,填 AI_DEMO_MISSING_SUMMARY。
  4. 在 AI Failure Probe 的 Settings 中关联上面保存的错误工作流,并保存失败的生产执行。
  5. 发布测试主流程,复制 Webhook 显示的 Production URL,使用能发送 POST 的客户端调用一次,并填写测试 Basic Auth。

本测试将 Webhook 的 Respond 明确设为 When Last Node Finishes,让响应等待后续节点处理。若使用 Immediately,调用端会先收到 Workflow got started;即使后面 Stop And Error 失败,也不能把这个先行响应当作工作流成功。响应方式不会代替下面对失败执行和处理器记录的核对。

Webhook 文档区分 Test URL 与 Production URL。这里必须调用已发布测试流程的 Production URL;在编辑器 Listen for test event 时发送的测试请求,不能替代本次自动失败验收。

请求返回后,打开主流程 Executions,确认这次生产执行在 Stop And Error 失败,再打开错误处理器的 Executions,确认它完成了对应的一次处理。Code 输出的 message 应为 AI_DEMO_MISSING_SUMMARY,workflow_name 应指向 AI Failure Probe,last_node 应定位 Stop And Error。若保存了主执行,execution_url 应能打开同一条失败记录。客户端响应的正文和状态以实际响应配置为准,不能单独证明 Error Trigger 已触发;主流程失败且处理器留下对应记录才算这条链路通过。

核对完成后取消发布测试主流程,删除测试客户端保存的密码。如果准备把处理器接进真实 AI 流程,先换一个符合业务命名和保存期限的处理器,再按同样方式验证一次。

看不到记录时按这个顺序排查

现象 检查 处理
主流程没有生产执行 是否用了 Test URL;主流程是否已发布;认证是否通过 先让生产触发发生,401 等入口拒绝不能直接当作 Stop And Error 的执行
主流程失败,处理器未运行 Error workflow 关联和保存;是否为自动执行 检查主流程 Settings 和执行模式
处理器运行但没有执行 URL 主执行保存设置;是否触发器失败 保留 workflow_name 与 message,不伪造链接
处理器也失败 Code 字段路径、保存权限、后续通知节点 先将处理器缩回 Error Trigger → Code,再恢复其他动作

它能监控什么,不能代替什么

这条方案保存执行失败的线索,不自动评判回答正确性、不恢复超时调用,也没有发送邮件或 Slack 通知。要接通知时,只发送脱敏后的必要字段,并记录通知自身是否成功。要捕获内容质量失败,则必须先定义业务验证规则,再让验证失败成为可追踪的工作流错误。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31389.html

赞 (0)
AI小管家的头像AI小管家
n8n 怎么调用 DeepSeek?配置 HTTP Request 并提取对话结果
上一篇 1天前
n8n 多智能体流程怎么评估?用固定测试集核对最终分类
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部