技巧与常见问题#
合并多个触发器#
若工作流中已存在其他触发器,将产生两个潜在启动点:原触发器与评估触发器。为确保工作流在任何触发器执行时都能正常运作,需将这两个分支合并。

通过逻辑处理将两个触发器分支合并,使其具有相同的数据格式并能被单一节点引用。
操作步骤:
- 获取其他触发器的数据格式:
- 执行另一个触发器
- 打开触发器并进入其输出面板的JSON视图
- 点击右侧的复制按钮
- 调整评估触发器数据格式以匹配:
- 在评估触发器后插入编辑字段(设置)节点并建立连接
- 将模式切换为JSON
- 将复制的数据粘贴至'JSON'字段,删除首尾行的
[和] - 将字段类型切换为表达式
- 通过从输入面板拖拽数据完成触发器数据映射
- 对于字符串类型,需替换完整值(包括引号)并在表达式末尾添加
.toJsonString()
- 通过'无操作'节点合并分支:插入无操作节点并将原触发器与设置节点同时接入。该节点会直接输出接收到的输入数据
- 在工作流后续环节引用'无操作'节点输出:由于两条路径都会以相同格式流经该节点,可确保输入数据始终可用
避免评估中断聊天会话#
n8n的内部聊天功能会读取工作流中最后执行节点的输出数据。当添加了采用'设置输出'操作的评估节点后,该数据可能不符合预期格式,甚至不包含聊天响应。

解决方案是从智能体引出额外分支。在n8n中低位分支后执行,这意味着连接至此分支的节点将最后执行。此处可使用无操作节点,因其仅需透传智能体输出。
计算指标时访问工具数据#
有时需要了解智能体执行子节点的具体情况(例如是否执行了某工具)。虽然无法直接通过表达式引用这些节点,但可启用智能体的返回中间步骤选项。这将新增名为intermediateSteps的输出字段供后续节点使用:

同一工作流中的多重评估#
单个工作流仅支持设置一次评估。换言之,每个工作流只能配置一个评估触发器。
尽管如此,仍可通过将工作流不同部分置于子工作流中,分别对各子工作流进行评估来实现多维度测试。
处理不一致结果#
指标常存在波动:相同工作流的多次评估运行可能产生差异。这既可能源于工作流自身输出的不稳定性,也可能来自基于LLM的指标固有变化。
可通过复制数据集行来缓解此问题,使每行在数据集中多次出现。由于每个输入将实际运行多次,能有效平滑数据波动。