AI 应用不是 Demo:如何建立评估体系 封面
AI 系列

AI 应用不是 Demo:如何建立可量化的评估体系

模型换得再快,没有评估方法,你其实不知道产品有没有变好。本文给出“先定义好答案、再分层评估、最后闭环”的落地框架,并扩展成一张完整的评估矩阵。

AI 评估 核心概念示意图
AI 评估:定义“好答案”的维度
AI 评估 工作流程示意图
AI 评估:三层评估与反馈闭环
AI 评估 实践检查示意图
AI 评估:评估矩阵的构建清单

先定义“好答案”:任务类型决定验收标准

评估的第一性错误是“所有任务共用一个准确率”。任务类型不同,验收标准天差地别:事实问答看答案是否正确、引用是否真实;代码助手看能否运行、是否遵守约束、是否引入回归;内容生成看表达质量与品牌一致性;分类/抽取看标签 F1 与字段召回。落地动作是写一份验收清单(acceptance criteria),把“好”从形容词变成可勾选的条目。没有这步,后面所有分数都是空中楼阁。

三层评估:单元、集成、线上

第一层·离线单元评估:用黄金集(golden set)跑单条样本,核对输出。关键是构建有代表性的数据集——不仅要有正常样本,还要有边界样本(模糊问题)、对抗样本(诱导幻觉)和越界样本(应拒绝回答的)。第二层·集成评估:把 RAG 检索、工具调用、Prompt 串起来端到端测,验证“链路整体”而非单点。这层最容易被忽略,却最常暴露组合 bug。第三层·线上评估:观察真实用户信号——追问率(一次没答好)、人工接管率、采纳率、失败原因归类。

为什么重要:离线高分 ≠ 线上好用。集成层验证链路,线上层验证真实价值,三层缺一不可。

扩展成一张完整评估矩阵

把三层评估再按“指标类型 × 阶段”展开,得到可分配到人、可纳入 CI 的矩阵。下面这张表比“准确率”信息密度高得多:

阶段指标衡量什么采集方式
离线准确率 / F1单样本是否正确黄金集 + 规则/评审
离线幻觉率是否编造上下文外信息LLM-as-judge 忠实度
集成检索召回率正确答案是否被召回标注片段命中
集成端到端成功率整条链路跑通比例脚本化冒烟测试
线上P95 延迟响应慢尾网关埋点
线上单条成本每次调用的 token 花费用量账单聚合
线上采纳率 / 接管率用户是否真用前端埋点
回归与基线 diff本次改动是否退步CI 对比黄金集

LLM-as-judge:省成本的评审,也有偏差

用另一个模型当评委(LLM-as-judge)能大幅降低人工成本,但有三个已知偏差要管理:位置偏差(偏好排在前面的答案)、冗长偏差(觉得越长越对)、自我偏好(偏好与自己风格相近的回答)。对策:评审 prompt 要求“先给证据再给分”、对候选做位置随机化、用强模型评弱模型、并定期用人工标注做校准——算评审模型与人工的一致性(如 Cohen's κ),低于阈值就不可信。

# LLM-as-judge 的稳健写法(结构化输出 + 证据)
from pydantic import BaseModel

class Verdict(BaseModel):
    faithful: bool          # 答案是否可由上下文推导
    reason: str             # 必须引用具体片段,杜绝空判
    score: int              # 1-5

def judge(question, context, answer) -> Verdict:
    return llm.structured(
        system="你是严格评审。只依据给出的 context 判断,"
               "禁止凭常识补事实;先写 reason 再给 score。",
        prompt=f"问:{question}\n上下文:{context}\n答:{answer}",
        schema=Verdict,
    )
# 上线前用 50 条人工标注校准,κ 不足 0.6 则回炉调 prompt
踩坑提醒:别让评审模型看“这是 A 还是 B”的明文标签——位置偏差会让它无脑选第一个。打乱顺序 + 要求给证据,是低成本去偏的两招。

指标清单:除了准确率还看什么

真正决定产品生死的指标往往不是准确率:幻觉率直接毁掉信任;延迟(尤其 P95)决定体验上限;成本(单次 token 花费)决定能否规模化;回归率衡量“这次发布是否比上次差”。建议把 P95 延迟和单条成本做成看板,和准确率并列——一个又准又慢又贵的系统,常常无法上线。

评估自动化与 CI 集成

评估要能跑在每次提交上,否则等于没有。做法:把黄金集纳入仓库,写一条 pytest 用例循环跑样本,断言“幻觉率低于阈值、端到端成功率不低于基线”。CI 里对分数做 diff,退步超 2% 直接红。这样每次改动(切分策略/Prompt/模型/工具权限)的效果都被量化,改进来源一目了然。

线上监控与反馈闭环

线上不是终点,是下一轮评估的起点。把用户的“点踩/追问/人工接管/编辑后的答案”回收到黄金集,长尾失败样本由此持续补充。闭环节奏是:线上发现 bad case → 归入回归集 → 离线修复 → CI 验证 → 灰度上线 → 监控新 bad case。评估体系的意义,正在于让你说清“这次改动到底让哪一类问题变好或变差”。

小贴士:把最易失败的 20% 长尾问题单独建集。它们量小但决定信任,平均分掩盖不了它们的恶化。

评估体系不是追求一个漂亮的平均分,而是让每一次发布都可解释、可回归、可信任。固定一组黄金集,每次只改一个变量,盯住长尾与延迟成本,产品才会持续被人信赖。