AI Evals的一些实践:如何从 0 到 1 构建 agent 的评测系统?
一句话概括
SnowThink 用一个 AIGC 配图 Agent 的亲身踩坑,给出了从业务目标拆维度、用 10 个黄金 case 校准评分器、再扩到 100-500 条生产评测集的评测六步法,核心价值是把“感觉更好”翻译成可决策的数字。
实践内容
评测六步法
| 步骤 | 要做什么 | 关键提醒 |
|---|---|---|
| 1 | 业务目标 → 评测维度 | 目标先行,维度必须能独立打分 |
| 2 | 打造黄金数据集 | 10 个高频典型 case 就足够校准评分器 |
| 3 | 人评 + 机评 | 先让人工打黄金集,再让 LLM-as-Judge 对齐 |
| 4 | 校准 AI 评分系统 | 先校准可信度,再扩大样本规模 |
| 5 | 从黄金集扩到生产评测集 | 100-500 条真实 query 覆盖日常分布 |
| 6 | Bad Case → 反推策略 | 不只看分数,要把坏样本反推回 prompt / 模型 / 策略 |
三种常见评分方式
| 方法 | 适用场景 | 优点 | 局限 |
|---|---|---|---|
| GSB | 两版输出对比 | 判断成本低、信号清晰 | 只能回答“谁更好”,不能解释“好在哪” |
| MOS | 整体主观体验打分 | 简单直观 | 只能得到均分,诊断性弱 |
| Likert | 多维度细分打分 | 最适合迭代定位问题 | 设计成本高,要写清评分锚点 |
作者在自己的配图 Agent 上采用 Likert:按“主题相关性 / 风格一致性 / 视觉质量 / 安全合规”四个维度分别打 1-5 分,再让评测模型输出逐维解释与加权总分。
LLM-as-Judge 的校准指标
- 维度分差:逐维比较人评与机评,单维分差
> 1视为明显不对齐。 - 排序倒置率:按照总分排序,若人评和机评经常把优劣次序排反,说明评分器还不可信。
- 极端 case 一致率:人评的 1 分 / 5 分极端样本,模型是否也能判到对应区间。
文章给出的实操经验是:不要先冲上千条样本,而是先把“差距最大的 3 个 case”拿出来逐个读模型的评审理由,确认问题到底出在评分 prompt、评测标准,还是评分模型自身能力上。
从黄金集扩到生产评测集
- 从真实用户 query 抽样,而不是凭空编“看起来很像”的测试数据。
- 清洗去重,剔除空输入、极端异常输入和重复主题。
- 仅保留 5% 左右人工抽样做校准,其余用 LLM 跑批。
- 生产评测集按使用频率分层采样,规模控制在 100-500 条。
- 跑完后不要只看总分,要对 bad case 做归因,再反推 few-shot、prompt 结构、模型切换或工具策略。
摘录
AI 产品不一样。第一,它的输出本质是概率分布——同一个输入跑两次结果可能不同;改一个 prompt 词,整体效果可能涨也可能跌;换一个模型版本,老 case 可能变好也可能变差。第二,用户进入产品的操作其实是一个无限集,你永远不知道用户会有什么天马行空的问题。没有经过评测的 agent,是不能在生产环境中使用的。评测系统就是把“模糊的好不好”翻译成“可决策的数字”。
没校准过的评测系统,评一万个 case 也没用。作者把人评和机评差距最大的样本逐个拉出来读模型思维链,最后发现问题往往落在三类地方:评分 prompt 模糊、评测标准本身有歧义、评分模型存在能力盲区。改完 prompt 之后,风格一致性的均分差从 0.8 降到 0.3,评测系统才第一次有了“可信度”。
涉及实体
- Prompt评估体系 —— 本文把 prompt 评测写成一条可直接上手的六步落地流程。
- Generator-Evaluator —— 生成人和评分人分离,避免“自己给自己打高分”的结构性偏差。
- Harness-Engineering —— 评测是 Harness 里最不能省的门禁层,否则优化只会靠感觉漂移。
涉及主题
我的评注
这篇最有价值的地方不是再讲一遍 “LLM-as-Judge”,而是把“小团队怎么开始”说透了:先做 10 个黄金 case 校准,再扩到 100-500 条生产集;先把评分器调可信,再谈大规模跑批。它天然适合补到已有的 Prompt评估体系 和 Agent评测方法论,因为这里给出的正是“怎么从 0 到 1 把评测搭起来”的第一版 SOP。