Agent 产品面临一个根本性的质量挑战:Agent 的每次对话都是独特的——没有固定的输入/输出对可以写单元测试。传统软件的测试方法(assert output == expected)在 Agent 场景中几乎不适用。
Evaluations 用 AI 评估 AI 的方式解决这个问题——不检查「输出是否精确匹配预期」,而是检查「行为是否满足质量标准」:Agent 完成任务了吗?回答准确吗?态度友好吗?
在 v10.0.0 之前,Gumloop 有 Scorer 节点(Workflow 评分工具)和 Reflections(Agent 自我审查)。Evaluations 与它们的关系:
┌──────────────────────────────────────────────────────────────────────┐ │ Gumloop Agent 质量体系 │ ├──────────────────┬───────────────────┬───────────────────────────────┤ │ 实时评分 │ 自动评测 │ 自主学习 │ │ (Scorer Node) │ (Evaluations) │ (Reflections) │ ├──────────────────┼───────────────────┼───────────────────────────────┤ │ 用于 Workflow │ 用于 Agent 对话 │ 用于 Agent 自我进化 │ │ 手动调用 │ 自动触发 │ 定时运行 │ │ 评分维度+权重 │ 标准+标签+数据点 │ 五步流程 │ │ │ +情感+等级 │ 四种改进类型 │ │ "构建评分流程" │ "监控对话质量" │ "发现改进机会" │ └──────────────────┴───────────────────┴───────────────────────────────┘
┌──────────────────────────────────────────────────────────────────────┐ │ Evaluations 构建块 │ ├──────────────────────────────────────────────────────────────────────┤ │ │ │ Quality Rules (Criteria) Labels (Tags) │ │ ┌─────────────────────────┐ ┌─────────────────────────┐ │ │ │ "Agent 是否正确完成任务?" │ │ "bug_report" │ │ │ │ "回答是否引用了数据源?" │ │ "feature_request" │ │ │ │ "是否避免了幻觉?" │ │ "refund_inquiry" │ │ │ │ │ │ "technical_question" │ │ │ │ Yes/No 判断 + 理由 │ │ │ │ │ └─────────────────────────┘ └─────────────────────────┘ │ │ │ │ Structured Values (Data Points) Sentiment Analysis │ │ ┌─────────────────────────┐ ┌─────────────────────────┐ │ │ │ "客户 ID: 12345" │ │ 😊 Positive │ │ │ │ "订单金额: $2,500" │ │ 😐 Neutral │ │ │ │ "涉及产品: Widget Pro" │ │ 😟 Negative │ │ │ │ │ │ │ │ │ │ 从对话中提取结构化字段 │ │ 可选影响整体等级 │ │ │ └─────────────────────────┘ └─────────────────────────┘ │ └──────────────────────────────────────────────────────────────────────┘
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Step 1 │───▶│ Step 2 │───▶│ Step 3 │───▶│ Step 4 │───▶│ Step 5 │
│ 对话完成 │ │ 构建记录 │ │ AI 分析 │ │ 计算等级 │ │ 持久化+ │
│ │ │ │ │ │ │ │ │ 通知 │
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
Agent 达到 构建角色标注 单个结构化 基于标准失败 Critical →
"completed" 的完整对话 LLM 调用 数+优先级+ Slack DM
状态 记录 分析所有 情感+操作 提醒所有者
(Incognito 构建块 失败次数
除外) 确定等级
| 等级 | API 值 | 含义 | 触发条件 |
|---|---|---|---|
| Pass | pass | 满足所有标准 | 无标准失败、对话非失败、情感非负面 |
| Warning | needs_review | 需人工复核 | Warning 优先级标准失败,或对话结果 "failure",或负面情感影响等级 |
| Critical | needs_attention | 需立即处理 | Critical 优先级标准失败,或交互期间工具/操作失败 |
等级在 LLM 返回结果后由确定性算法计算(不由评估 LLM 主观判定),严格按以下顺序短路求值:
┌──────────────────────────────────────────────────────────────────────┐ │ 评估 LLM 返回各标准 pass/fail + 数据点 + 情感后,按顺序判断: │ │ │ │ ① 有 action failure(工具错误)? ── 是 ──▶ Critical │ │ │ │ │ ② 任何 Critical 优先级标准失败? ── 是 ──▶ Critical │ │ │ │ │ ③ 任何 Warning 优先级标准失败? ── 是 ──▶ Warning │ │ │ │ │ ④ 整体 call outcome == "failure"? ── 是 ──▶ Warning │ │ │ │ │ ⑤ 情感为负面 且 配置了影响等级? ── 是 ──▶ Warning │ │ │ │ │ ⑥ 以上都不满足 ──────▶ Pass │ └──────────────────────────────────────────────────────────────────┘
关键含义:工具执行失败 = 自动 Critical——比标准失败更严重的信号,意味着 Agent 的工具链出问题而非"只是"行为不达标。
优先级(仅 2 档,非传统三档):Warning(失败→降为 Warning,适用质量标准如语气/轻微跑题);Critical(失败→降为 Critical + 触发 Slack DM,适用红线规则如数据泄露/合规违规/未授权折扣)。
类型(4 种分类):Prohibited action(不得做某事)、Prohibited words(不得说某些内容)、Voice & tone(特定风格)、Other(其他,如保持主题/准确信息)。
用户定义受控标签词汇(如 "bug_report", "feature_request"),评估器从对话中识别并标记。限制:每 Agent 最多 50 个标签,标签名最长 100 字符,描述最长 500 字符。数据点从对话中提取结构化字段(如客户 ID、订单号),4 种类型:Text / Boolean / Integer / Number。限制:每 Agent 最多 40 个数据点。
评估后继续对话 → 新消息扩展记录 → 再次 completed → 自动运行新评估 → 新评估替换旧结果(非追加)。全自动。此外可在 Chats 页手动触发评测(单条或批量多选),用于回填历史对话、修改配置后重评、失败重试、按需抽检。
| ID | 触发场景 | 系统行为 | 优先级 |
|---|---|---|---|
| A1 | 用户进入 Evaluations 设置 | 展示标准、标签、数据点、情感四个配置区。支持 Enable/Disable | P0 |
| A2 | 用户创建 Quality Rule | 定义 Yes/No 标准(plain English),设置类型(Prohibited action / Prohibited words / Voice & tone / Other)和优先级(Warning / Critical) | P0 |
| A3 | 用户定义标签词汇 | 创建受控标签列表。可开启「自动建议标签」 | P0 |
| A4 | 用户定义数据点 | 创建结构化字段定义(名称+类型+描述) | P1 |
| ID | 触发场景 | 系统行为 | 优先级 |
|---|---|---|---|
| B1 | 对话达到 "completed" 状态 | 自动触发评测(Incognito 和系统交互除外)。构建角色标注的完整对话记录 | P0 |
| B2 | 对话记录过长 | 自动裁剪,保留最近消息 + 关键上下文 | P1 |
| B3 | LLM 分析对话 | 单次结构化调用分析对话,对照所有构建块 | P0 |
| B4 | 确定性计算等级 | 严格按 6 步顺序短路求值(action failure → Critical 标准失败 → Warning 标准失败 → call failure → 负面情感 → Pass),产出 Pass / Warning / Critical | P0 |
| ID | 触发场景 | 系统行为 | 优先级 |
|---|---|---|---|
| C1 | 用户查看 Dashboard | 展示所有对话评估结果列表。可按等级、日期、Agent、标签筛选 | P0 |
| C2 | 用户点击某条评估 | 展开完整详情:各标准通过/失败+理由、标签、数据点、情感 | P0 |
| C3 | 评估结果为 Critical | Agent 所有者立即收到 Slack DM(含摘要和直达链接) | P0 |
| C4 | 评估后继续对话 | 再次 completed 时自动重新评估,新结果替换旧结果 | P0 |
| C5 | 用户在 Chats 页手动触发 | 单条或批量多选触发评测(回填历史对话 / 修改配置后重评 / 抽检) | P0 |
| ID | 触发场景 | 系统行为 | 优先级 |
|---|---|---|---|
| D1 | 创建标准/标签/数据点 | 校验配额上限(Criteria 30 / Tags 50 / Data points 40) | P0 |
| D2 | 运行评估前 | 检查 AI credits 是否充足,不足则静默跳过(不阻塞对话) | P0 |
| D3 | 评估完成 | 计入 AI credits("AI Utilities" 类别),用量在 Usage & Limits 可查 | P0 |
| D4 | 调用 Evaluations API | 提供 List / Retrieve / Metrics 端点,支持 grade 筛选 + 游标分页 | P1 |
作为 PM,我希望为每个客服 Agent 设定评估标准(准确性、完整性、友好度、任务完成度),对话完成后自动评分。每天早上打开 Dashboard 查看 Critical 和 Warning 的对话。
用户画像:王芳,30 岁,产品经理。负责 5 个客服 Agent,每个每天处理 50-100 次对话。无法手动检查所有对话。
验收标准:
作为 Agent Builder,我希望对两个 Agent 开启相同的 Evaluations 标准,运行一周后对比评分分布——用数据而非直觉决定哪个配置更好。
用户画像:刘强,28 岁,Agent Builder。设计了两个客服 Agent——一个用长指令(80 条规则),一个用短指令+Skills(20 条规则+Skills)。
验收标准:
| 竞品 | 功能/行为 | 优势 | 劣势 |
|---|---|---|---|
| LangSmith (LangChain) | LLM 应用评估和追踪平台 | 完整评测管线(数据集+实验+对比) | 需 SDK 集成——不是 Agent 内置功能。开发者工具——PM 无法使用 |
| Braintrust | AI 产品评估和实验平台 | 强大的 A/B 测试和评分器系统 | 需代码集成。不是平台 native 功能——需额外部署 |
| Gumloop Scorer Node | Workflow 中可配置的评分节点 | 灵活——自定义维度+权重+AI 理由 | 手动节点——需在 Workflow 中调用。不是自动评测 |
| Gumloop Reflections | Agent 自主审查历史工作并提议改进 | Agent 自主发现改进机会 | 关注「改进」而非「度量」——不产生结构化质量评分 |
| 漏斗阶段 | 事件名称 | 触发条件 | 指标/KPI | 优先级 |
|---|---|---|---|---|
| 采用 | evaluations_enabled | 为 Agent 开启 Evaluations | 启用率 | P0 |
| 采用 | evaluation_criteria_created | 创建评估标准 | 标准数/Agent | P1 |
| 执行 | evaluation_run_completed | 对话完成触发评测 | 评测次数/日 | P0 |
| 质量 | evaluation_grade_distribution | 每次评测产出等级 | Pass / Warning / Critical 分布 | P0 |
| 质量 | evaluation_criterion_failed | 某条标准失败 | 各标准失败率排名 | P0 |
| 使用 | evaluation_detail_viewed | 用户展开查看详情 | 详情查看率 | P1 |
| 告警 | evaluation_critical_alert_sent | Critical 触发 Slack DM | 告警数/日 | P1 |
| 影响 | agent_config_changed_after_eval | 评估后修改 Agent 配置 | 评估驱动的修改率 | P0 |
| 阶段 | 时间线 | 里程碑 | 状态 |
|---|---|---|---|
| Phase 1 — 核心评测 | v10.0.0 | 标准(4 类型+2 优先级)+标签+数据点+情感+三档等级(确定性计算)+手动评测+Slack 告警+API | 已发布 |
| Phase 2 — 趋势与分析 | v10.x | 趋势图表(周/月对比)、跨 Agent 评分排行榜、标准失败热力图 | 规划中 |
| Phase 3 — 主动优化 | v11.x | 评估数据 Feed 到 Reflections——自动发现系统性质量问题并提议修复。A/B 对比面板 | 探索中 |
| Phase 4 — 合规审计 | 远期 | 行业合规模板(HIPAA、SOC2、GDPR)、自动合规报告、评估数据导出到 SIEM | 探索中 |
gumloop-docs_evaluations.md — Evaluations 官方帮助文档完整存档(docs.gumloop.com/core-concepts/evaluations,2026-07-06 二次验证重抓)