AI PLAY玩法更新持续收录
← 回到更新流

2026-09-24 · 原文发布日

n8n 工作流:给客服 AI 做回归测试(付费模板)

该 n8n 模板(付费模板)用于评估客服 AI 的回答质量:手动运行后从 Google Sheets 读启用状态的测试用例,用 Gemini 生成客服回复,再交给 Groq 托管的模型按相关性、事实准确性、完整性、指令遵循、幻觉风险五项打分写回 Sheets。还会与已审核的基线对比,算出通过率回退和指标变化,出现回归或需复核时给 QA 邮箱发 Gmail 告警。需要 Google Gemini、Groq、Gmail 凭证和带基线的表格。

原文要点

原模板由 Fahim Jilani 发布,为付费模板:手动执行后从 Google Sheets 读 Active 状态的测试用例,用 Google Gemini 生成客服回复;再交 Groq 托管模型按相关性、事实准确性、完整性、指令遵循、幻觉风险五项以 JSON 打分,逐条追加到 Evaluation_Results 页;汇总本轮指标后与 Baseline_Metrics 中最新一条 Reviewed=true 的基线比较,算通过率回退和指标差值,写回 Sheets,回归或需复核时经 Gmail 向 QA 邮箱告警。需建 Test_Cases、Evaluation_Results、Baseline_Metrics 三页并替换 YOUR_GOOGLE_SHEET_ID。

这次做成什么

不购买模板的前提下,用本站设计的等价练习搭一套客服 AI 回归测试:合成 4 条测试用例,跑一次被测回答,用评审提示词五维打分,再与手工基线行对比输出是否回归。原模板需付费购买,以下 JSON 与工作流均为本站独立重写,不是原工作流文件;Gemini、Groq 等模型调用可能另收费。

准备什么

  • n8n 实例与一个可用的大模型凭据(练习可用任一 chat 模型代替 Gemini/Groq)
  • Google Sheets 测试表,含三个数据页
  • Gmail 凭据仅在正式接告警时需要,练习可用 Set 节点代替

具体怎么做

  1. 建三张表

    在 Google Sheets 建 Test_Cases 页(列:Test_ID、Active、Question、Expected_Facts、Expected_Outcome),填入材料二合成用例;建 Evaluation_Results 页(列:Test_ID、agent_response、scores_json、overall);建 Baseline_Metrics 页并手工写一行 Reviewed=true 的基线:pass_rate=0.75、avg_relevance=4.2。

  2. 批量跑被测回复

    n8n 用 Manual Trigger 接 Google Sheets 读取 Test_Cases,Filter 节点保留 Active=true,Split In Batches 逐条进 OpenAI/任意 chat 模型节点生成客服回复(系统提示:你是客服,仅依据给定政策回答)。

  3. 五维评审打分

    再接一个 chat 模型节点粘贴材料一的评审提示词,把 Question、Expected_Facts、被测回复一起传入,要求输出五维 1-5 分 JSON;Code 节点解析后计算 overall(五维均分≥4 且无 hallucination_risk≥4 为 pass),追加写入 Evaluation_Results。

  4. 基线对比与告警路由

    Aggregate 汇总本轮 pass_rate,Google Sheets 读 Baseline_Metrics 过滤 Reviewed=true 取最新行,Code 节点算 delta;IF 节点判断 pass_rate 回退超过 0.1 走告警分支(练习用 Set 生成告警文案,正式换 Gmail 节点发 QA 邮箱),否则标记 run 成功。

可直接复制的材料

五维质量评审提示词

本站独立编写,对应原模板五个评分维度;模型与温度自行选择。

你是客服 AI 质量评审员。给定客户问题、期望事实与被测回复,仅输出 JSON:{"relevance":1-5,"reference_accuracy":1-5,"completeness":1-5,"instruction_compliance":1-5,"hallucination_risk":1-5,"verdict":"pass|fail","reason":"一句话"}。打分锚点:reference_accuracy 检查回复是否与期望事实一致;hallucination_risk 检查是否编造政策、金额或承诺,5 表示严重幻觉。问题:{{ $json.Question }} 期望事实:{{ $json.Expected_Facts }} 被测回复:{{ $json.agent_response }}

合成测试用例 CSV

本站合成数据,T003 用于验证 Active 过滤。

Test_ID,Active,Question,Expected_Facts,Expected_Outcome
T001,true,退货期限是多久,签收后30天内可退,给出30天期限
T002,true,运费谁承担,质量问题商家承担运费,说明承担规则
T003,false,已停用的旧政策用例,旧政策60天,不参与本轮
T004,true,发票多久开出,付款后3个工作日内,说明3个工作日

基线对比 Code 节点逻辑

本站编写的演示代码,字段名需按你的 Sheets 列调整,非原模板代码。

const run = $json; // {pass_rate, avg_relevance}
const baseline = $('GetBaseline').first().json; // {pass_rate, avg_relevance}
const passDelta = run.pass_rate - baseline.pass_rate;
return [{json: {pass_delta: passDelta, relevance_delta: run.avg_relevance - baseline.avg_relevance, regression: passDelta < -0.1, reviewed_baseline: baseline.run_id || 'baseline-1'}}];

输入与输出示例

本站虚构演示,分数由提示词规则推得,非真实模型运行结果。

输入

T001:问题“退货期限是多久”,期望事实“签收后30天内可退”,被测回复为“我们支持签收后30天内无理由退货,超出期限需联系客服审核。”

对应输出

{"relevance":5,"reference_accuracy":5,"completeness":4,"instruction_compliance":5,"hallucination_risk":1,"verdict":"pass","reason":"期限表述与期望一致且无编造"};若本轮 pass_rate=0.75、基线 pass_rate=0.75,则 pass_delta=0、regression=false,走成功分支不发告警。

做完检查这些

  • Active=false 的 T003 不出现在 Evaluation_Results 中
  • 评审节点输出为可解析 JSON 且恰好含五个维度字段
  • pass_rate 回退超过 0.1 时 IF 走告警分支并生成含 run 指标的文案
  • Baseline_Metrics 无 Reviewed=true 行时流程应显式报错而非静默跳过

容易卡住的地方

  • 原模板是付费模板,需购买后才有原工作流文件;本页步骤为本站等价练习
  • 原模板指定 Gemini 生成、Groq 评审,替换模型后分数分布会变,基线需重立
  • 五维打分对提示词措辞敏感,改动评审提示词后旧基线不可直接对比
  • Google Sheets 三个页名与列名必须与节点引用完全一致,含大小写

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Evaluate AI support agent quality and regressions with Google Sheets, Groq and Gmail
原作者
Fahim Jilani
原始发布日期
2026-09-24T09:23:02.715Z
来源
https://n8n.io/workflows/19899