【n8n教程】:Evaluation节点,轻松评估AI工作流,数据驱动优化不再是梦

这篇教程将展示如何利用n8n的Evaluation节点系统,快速实现AI工作流的智能评估。无需复杂的外部工具,无需繁琐的代码,你将学会用Evaluation节点打造企业级的AI质量保证体系。

什么是Evaluation节点?为什么你需要它?

想象一个场景:你构建了一个AI任务分类工作流,运行了一段时间后开始出现问题。你调整了提示词、换了模型,但你怎么知道改进是真的有效还是运气好?99%的开发者面临这个困境——没有客观的数据来证明自己的优化是否真的管用

这正是Evaluation节点的价值所在。Evaluation节点是n8n内置的AI工作流测试框架,它让你能够:

n8n Evaluation节点工作流的完整流程
n8n Evaluation节点工作流的完整流程

Evaluation节点的三大核心操作

n8n的Evaluation节点提供了三个关键操作,让你能够构建完整的评估流程:

1. Evaluation Trigger:启动评估引擎

Evaluation Trigger是评估流程的起点,它从Google Sheets或数据表读取测试数据集,并逐行将数据输入到工作流中。

工作原理很简单

实际配置

2. Set Metrics:量化AI质量

Set Metrics操作用于定义和计算性能指标,它支持多种预置指标自定义指标

指标名称说明适用场景
Correctness(AI-based)AI评估答案意思是否与参考答案一致,得分1-5判断答案是否正确
Helpfulness(AI-based)评估回答是否有用,得分1-5评估客服回复质量
String Similarity计算与参考答案的字符相似度,0-1分评估精确匹配度
Categorization判断分类是否完全匹配(1=匹配,0=不匹配)分类任务评估
Tools Used检查是否使用了正确的工具多工具AI代理评估
Custom Metrics自定义指标,完全由你控制计算逻辑业务特定的评估需求

3. Set Outputs:持久化结果

Set Outputs操作将工作流的评估结果写回到Google Sheets或数据表,保存所有的关键信息用于后续分析。

这样做的好处是:

4. Check If Evaluating:生产环境保护

Check If Evaluating是一个特殊的条件节点,用于判断当前工作流执行是否处于评估模式。

这个节点的妙处在于:

实战:构建你的第一个AI评估工作流

这是一个完整可执行的工作流代码,它实现了一个任务优先级分类系统,并集成了Evaluation节点。你可以直接复制这段JSON代码到n8n中导入。

工作流代码(可直接导入)


    
    
    
  {
  "name"
: "AI任务优先级分类与评估系统",
  "active"
: true,
  "nodes"
: [
    {

      "parameters"
: {
        "source"
: "googleSheets",
        "limit"
: false
      }
,
      "id"
: "Evaluation Trigger",
      "name"
: "Evaluation Trigger",
      "type"
: "n8n-nodes-base.evaluationTrigger",
      "typeVersion"
: 1,
      "position"
: [
        250
,
        300

      ]

    }
,
    {

      "parameters"
: {
        "model"
: "gpt-4o-mini",
        "messages"
: [
          {

            "role"
: "system",
            "content"
: "你是一个AI任务分类专家。你需要根据用户提供的任务描述,将其分类为以下优先级之一:紧急、高、中、低。\n\n分类规则:\n- 紧急:系统故障、数据丢失、安全漏洞、客户投诉\n- 高:新功能开发、性能优化、重要bug修复\n- 中:常规改进、代码重构、技术债\n- 低:文档更新、美化UI、研究任务\n\n你的响应必须是ONLY一个单词:紧急、高、中或低"
          }

        ]
,
        "prompt"
: "任务描述:{{ $json.taskDescription }}\n\n请分类这个任务"
      }
,
      "id"
: "OpenAI Chat Model",
      "name"
: "OpenAI Chat Model",
      "type"
: "n8n-nodes-base.openaiChat",
      "typeVersion"
: 1,
      "position"
: [
        450
,
        300

      ]

    }
,
    {

      "parameters"
: {
        "operation"
: "checkIfEvaluating"
      }
,
      "id"
: "Check If Evaluating",
      "name"
: "Check If Evaluating",
      "type"
: "n8n-nodes-base.evaluation",
      "typeVersion"
: 1,
      "position"
: [
        650
,
        300

      ]

    }
,
    {

      "parameters"
: {
        "operation"
: "setMetrics",
        "metrics"
: [
          {

            "name"
: "分类准确性",
            "metric"
: "categorization",
            "expectedValue"
: "={{ $json.expectedPriority }}"
          }
,
          {

            "name"
: "自定义质量评分",
            "metric"
: "customMetric",
            "value"
: "={{ $json.quality_score ? $json.quality_score : 3 }}"
          }

        ]

      }
,
      "id"
: "Set Metrics",
      "name"
: "Set Metrics",
      "type"
: "n8n-nodes-base.evaluation",
      "typeVersion"
: 1,
      "position"
: [
        850
,
        200

      ]

    }
,
    {

      "parameters"
: {
        "operation"
: "setOutputs",
        "source"
: "googleSheets",
        "outputs"
: [
          {

            "name"
: "分类结果",
            "value"
: "={{ $json.response ? $json.response.trim() : '未分类' }}"
          }
,
          {

            "name"
: "处理时间",
            "value"
: "={{ Date.now() - $json.startTime || 0 }}"
          }

        ]

      }
,
      "id"
: "Set Outputs",
      "name"
: "Set Outputs",
      "type"
: "n8n-nodes-base.evaluation",
      "typeVersion"
: 1,
      "position"
: [
        850
,
        400

      ]

    }
,
    {

      "parameters"
: {
        "operation"
: "noOp"
      }
,
      "id"
: "Production Response",
      "name"
: "Production Response",
      "type"
: "n8n-nodes-base.noOp",
      "typeVersion"
: 1,
      "position"
: [
        1000
,
        300

      ]

    }

  ]
,
  "connections"
: {
    "Evaluation Trigger"
: [
      {

        "node"
: "OpenAI Chat Model",
        "type"
: "main",
        "index"
: 0,
        "from"
: 0,
        "to"
: 0
      }

    ]
,
    "OpenAI Chat Model"
: [
      {

        "node"
: "Check If Evaluating",
        "type"
: "main",
        "index"
: 0,
        "from"
: 0,
        "to"
: 0
      }

    ]
,
    "Check If Evaluating"
: [
      {

        "node"
: "Set Metrics",
        "type"
: "main",
        "index"
: 0,
        "from"
: 0,
        "to"
: 0
      }
,
      {

        "node"
: "Set Outputs",
        "type"
: "main",
        "index"
: 0,
        "from"
: 0,
        "to"
: 0
      }
,
      {

        "node"
: "Production Response",
        "type"
: "main",
        "index"
: 0,
        "from"
: 1,
        "to"
: 0
      }

    ]

  }

}

导入工作流的步骤

  1. 1. 复制上面的JSON代码(从 { 开始到最后的 }
  2. 2. 打开n8n,点击工作流列表
  3. 3. 创建新工作流或打开现有工作流
  4. 4. 点击菜单 > 导入工作流
  5. 5. 粘贴JSON代码,点击导入
  6. 6. 配置Google Sheets凭证

如何使用Evaluation节点:4个实用步骤

第1步:准备测试数据集

在Google Sheets中创建如下结构的测试表:

taskDescriptionexpectedPriorityquality_score
系统数据库连接失败,无法处理用户请求紧急5
更新产品文档中的截图3
实现新的支付功能模块4
优化查询性能,减少响应时间4

第2步:在Evaluation Trigger中配置数据源

第3步:设置指标

在Set Metrics节点中


    
    
    
  指标1:分类准确性
- 类型:Categorization
- 期望值:{{ $json.expectedPriority }}

指标2:处理速度评分
- 类型:Custom Metrics
- 值:{{ $json.quality_score }}

第4步:运行评估

Evaluation节点的3个关键优势

✅ 优势1:以数据而非感觉做决策

传统方法中,开发者经常说"这个改进看起来更好",但实际上没有数据支撑。Evaluation节点改变了这一切,让你有客观的数字指标来证明每一次优化是否真的有效。

✅ 优势2:快速迭代和对比

当你对工作流进行改进时(如调整提示词、切换模型),Evaluation节点可以让你一键对比改进前后的性能指标,找出最佳方案。

✅ 优势3:生产就绪的质量保证

通过Check If Evaluating节点,你可以在评估时计算复杂的指标(即使成本高),在生产环境中则直接返回结果,两全其美。

常见错误与避坑指南

❌ 错误1:评估数据集太小或质量差

正确做法:使用真实的生产数据来创建测试集,包含至少10-20个代表性示例和边界情况。

❌ 错误2:忘记配置Google Sheets凭证

正确做法:在使用前,确保已在n8n中添加Google Sheets的OAuth2凭证。

❌ 错误3:在评估时计算昂贵的指标导致成本激增

正确做法:使用Check If Evaluating分支评估逻辑,避免生产环节中不必要的计算。

高级技巧:自定义指标

除了预置指标,你还可以创建完全自定义的指标来满足特定的业务需求:


    
    
    
  // 示例:自定义相关性评分
{
  "name"
: "内容相关性",
  "metric"
: "customMetric",
  "value"
: "={{ 
    // 计算相似度分数
    $json.response && $json.expectedAnswer 
    ? calculateSimilarity($json.response, $json.expectedAnswer) 
    : 0 
  }}"

}

通过Function节点或Code节点,你可以实现任何你需要的评估逻辑。

总结

Evaluation节点将n8n从一个简单的自动化工具变成了企业级的AI系统。它让你能够:

初学者可以从简单的分类任务开始,逐步深入掌握自定义指标和高级评估策略。无论是个人项目还是企业应用,Evaluation节点都是确保AI工作流质量的关键工具。


官方文档[1]
n8n系列教程[2]

引用链接

[1] 官方文档: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.evaluation/
[2] n8n系列教程: https://www.undsky.com/blog/?category=n8n%E6%95%99%E7%A8%8B#