当前位置:首页>排行榜>AI 工程团队必读:评测方法论圣经 + 中文精读手册

AI 工程团队必读:评测方法论圣经 + 中文精读手册

  • 更新时间 2026-10-08 08:52:33
AI 工程团队必读:评测方法论圣经 + 中文精读手册

失败的 AI 产品几乎总有同一个病根——没建起稳健的评测系统。

这是 Hamel Husain 在《Your AI Product Needs Evals》开头下的判断。这篇文章在 GitHub 开发者整理的评测资源清单里,被列为讲评测的标准范本。
Hamel 做了 20 多年机器学习工程师,待过 Airbnb 和 GitHub。据他官网介绍,他合开的 AI 评测课,学员里有 OpenAI、Anthropic、Google 这些硅谷一线 AI 公司的人。

读完全文,总结起来:

AI 产品的护城河不是模型,而是"快速迭代"的能力;而快速迭代的发动机,是一套低阻力、领域专属、持续生长的评测系统。

我结合自己做 AI 产品的实践,把这篇重新拆一遍。文末给大家准备了一份中文精读手册。

一、核心观点

Hamel 把"做好 AI 产品"拆成三件必须同时做好的事:评测、调试、改进。

    然后他点出了大多数团队的毛病:很多人只盯着第三件事,而这恰恰让产品永远停在 demo 阶段。

    为什么大家都扎堆做第三件?

    因为它最有"在工作"的快感。改一句 Prompt、换个模型,输出当场就变了。

    可你只看了一两个例子,就觉得变好了。这是幸存者偏差。

    那该怎么办?Hamel 的答案只有一句:

    把评测流程打磨顺,其它所有事都会变简单。

    所以评测不是额外的成本,它是发动机。发动机转得顺,调试和改进才跑得起来。

    这个道理,Hamel 用一个真实案例讲透了。

    主角叫 Lucy,是房地产 SaaS 公司 Rechat 的 AI 助手。经纪人对它说一句话,它就能查房源、建联系人、排日程,不用在软件里一层层点。

    Lucy 一开始效果不错,很快就撞上了天花板,怎么调都上不去。撞墙时有三个症状:打地鼠、看不见、Prompt 技术债。

    做过 AI 产品的人读到这里,大概都会心一笑。这三条,几乎每个团队都中过。

    评测做了,回归测试(每次改动后,把已有的测试重跑一遍)也跑了,问题都测出来了,可最后我还是回去改 Prompt。每测出一个问题,就往里补一条规则。

    Prompt 一层层堆,直到臃肿得没人敢动。打地鼠和 Prompt 技术债,一个没躲掉。

    但仔细看会发现,这三个症状其实是同一个病。

    没有回归测试,所以打地鼠;没有量化指标,所以看不见;不知道该改哪里,所以只能往 Prompt 里堆规则。

    解法也就不在模型上,而在流程上:Rechat 围绕评测,把整个改进流程重新组织了一遍。

    那"围绕评测"的流程,具体长什么样?

    Hamel 给的 AI 评测体系分三层:单元测试、看数据、A/B 测试,由轻到重。

    越往下越该多做,越往上越该晚做。新手最常犯的错,就是跳过前两层,指望上线以后让用户告诉你好不好。

    而这台发动机一旦造好,还会顺手带动另外两件事:微调和调试。这个留到第五节讲。

    下面三节,先一层一层拆。

    二、第一层:单元测试

    校验规则,就是一行代码能判断对错的检查(工程上叫"断言")。单元测试由一组校验规则构成,是整个体系的地基,也是最便宜、最该马上开始的一层。

    Hamel 给了三步。

    ① 拆成"功能 × 场景"

    别去测"这个助手整体好不好"——太笼统,根本判不了对错。

    要缩小到一个具体功能的一个具体场景,小到一行代码就能判对错。

    按功能 × 场景组织测试,还有个好处:失败不再是一条条散点,而是落在某几个格子里。你能看出哪个场景最常出错,按格子修,而不是按条修。

    拿 Lucy 的'找房源'举例,三个场景各配一条校验规则。

    还有一类较验规则更常用:检查不该出现的东西。

    Rechat 的数据里带有内部 ID(UUID),这些绝不能出现在给用户的回复里。Prompt 里当然写了"不要输出 UUID",但 Hamel 还是加了一条校验规则,用正则把每条输出扫一遍。

    为什么 Prompt 里写了还不够?

    因为 Prompt 里的指令只是"交代",较验才是"验收"。

    这一点,是我之前忽略的:LLM 必须做对的事,应该用代码硬规则来写,而不是在 Prompt 里一遍遍叮嘱。

    Prompt 臃肿的问题,从这里开始松动。

    还有一个反直觉的用法:删掉一条规则,重跑一遍回归测试,测试还全过,就说明这条是多余的。

    Prompt 瘦身靠的不是写得更好,是敢删;而敢删的底气,来自回归测试。

    ② 用 LLM 批量造测试用例

    没上线、没有真实数据,不是借口。Hamel 说得很直接:不用等生产数据,你完全可以推断用户会怎么用,让模型帮你造合成数据。

    Rechat 的做法很巧:让模型一次生成 50 组"创建联系人"的指令,每组再配一条"查询这个联系人"的指令。

    先让 Lucy 创建,再让它查。查出来恰好一条,才算通过。

    至于通过率要不要做到 100%,Hamel 的答案是不必,通过率本身是个产品决策。之前拆 Evals FAQ 时聊过,这里不展开。

    ③ 接进 CI,并且把结果随时间追踪起来

    测试结果要随时间记录下来,你才知道自己到底有没有在进步。Rechat 把测试接进现有的 CI,再用开源看板工具 Metabase 持续追踪结果的变化。

    这条曲线回答的是一个很要命的问题:这次改动,是真的让某类错误降下来了,还是你只是"感觉"它降了。

    回头看 Lucy 的三个症状:有了回归测试,不再打地鼠;有了错误率曲线,看得见了;有了规则兜底,Prompt 能瘦身。

    第一层看着朴素,却把三个症状都治了。

    三、第二层:看数据

    第一层只管得住"能用代码判对错"的东西。

    可 AI 产品大量的问题是开放式的:回答得好不好、得不得体、有没有抓住重点。这些没法用一个等号判断。

    这就轮到第二层。它分三块:记录 trace、看数据、用 LLM 当裁判。

    ① 记录 trace(日志)

    trace 是一次交互的完整记录。Hamel 的定义是"一组逻辑相关的日志"。

    它包括用户输入、AI 回复、系统元数据,以及请求流转中的每一个中间步骤:调用了哪个工具、检索到了什么、做了几轮推理。

    很多人记日志,只记输入和输出。但对 AI 产品来说,中间步骤才是调试的金矿。

    为什么?

    Lucy 答错了,可能是理解错了用户意图,可能是检索到了错的房源,也可能是最后组织语言出了岔子。

    这三种错,修法完全不同。只有输入和输出,你分不清是哪一环出的问题,就只能回去笼统地改 Prompt。

    测试告诉你"错了",中间步骤才告诉你"哪儿错了"。

    至于用哪家工具,Hamel 并不在意。他只强调一点:不管选什么方案,能搜索、能过滤、能阅读 trace,是必备能力。

    ② 看数据

    这是全文 Hamel 措辞最重的一条:必须移除"看数据"这件事上的一切阻力。

    通用的日志查看器不够用。他主张按你的业务来渲染 trace,把一次交互需要的所有信息聚合到一屏,不用在几个系统之间来回切。

    他给 Lucy 搭的工具,能按功能和场景给 trace 分类。输出还能直接编辑,改好就沉淀成标准答案。用 Gradio、Streamlit 这类轻量框架,一天就能搭出来。

    那要看多少?

    刚开始尽可能多看,之后可以抽样,一直看到学不到新东西为止。但 Hamel 也把话说死了:看数据这件事永远停不下来,天下没有免费的午餐。

    ③ 用 LLM 当裁判

    人看数据没法扩展,于是很自然会想:能不能让模型替人打分?这就是 LLM 裁判(LLM-as-Judge)。

    Hamel 先泼了盆冷水:很多厂商想卖给你"号称不用人看数据"的工具,别信。

    LLM 裁判是用来放大人的判断,不是替代人的判断。

    做法很朴素:用一张表格,把 LLM 裁判和人类专家的判断逐行对照;不一致就改裁判的 Prompt,直到两边高度一致,才放手让它批量去判。

    这一步我吃过亏。

    当时想偷懒,直接让 LLM 当裁判,对齐做得很草率。结果测出来的结果不准,最后还是得人工一条条去复核,反而更耽误时间。

    对齐时省下的功夫,最后都会在复核上加倍还回来。

    裁判用哪个模型?用你负担得起的最强模型。它只在评测时跑,不在用户面前跑,贵一点、慢一点都没关系。

    四、第三层:A/B 测试

    到了第三层,评测对象从"输出对不对",升级成"真实用户的行为有没有变好"。做法和其它产品的 A/B 测试没两样:分流用户,比较结果。

    但它又贵又慢。要消耗真实流量,要等统计显著,还要拿一个可能不成熟的体验去冒险。

    所以这一步可以往后放,等你确信产品足够成熟、能拿给真实用户看了,再做。

    顺带一句:RAG 怎么评测,原文明确说超出了这篇的范围,推荐去读 Jason Liu 的文章。常见思路是把"检索"和"生成"拆开,分别评。

    五、两个免费超能力

    讲到这里,你可能会想:三层评测,听起来是一笔不小的投入。

    Hamel 在文章后半段,给了一个很漂亮的回报:评测系统建好之后,你会"免费"拿到两项能力。

    第一项,是微调。

    微调最擅长的,是让模型学会你产品特有的语法、风格和规则;要补上下文和最新事实,靠的是 RAG。别用错药。

    而微调真正的瓶颈,不在技术。Hamel 说过:微调 99% 的工作量,都花在组装覆盖产品方方面面的高质量数据上。

    而你为评测造的那套东西就是:

    • 造测试用例的 Prompt,拿来批量合成训练数据

    • 较验规则和 LLM 裁判,拿来筛掉低质量样本

    • 看数据的工具,拿来人工精修出最终的训练集

    要补一句:原文写于 2024 年。两年过去,多数产品团队已经很少自己做微调了。但你为评测攒下的高质量样本,换模型时可以拿来跑回归测试,也可以挑出来给 Prompt 当示例,一样用得上。

    第二项,是调试。

    Hamel 说,评测需要的基础设施,和调试需要的,有极大的重叠。线上出了问题,trace 库帮你找到出事的那次交互,中间步骤帮你定位根因,改完马上重跑测试。
    一套基础设施,投入一次,回报三次。

    评测系统是发动机。这台发动机一旦造好,带动的从来不只是评测本身。

    六、七条原则

    Hamel 在文末,把整套方法压成了七条:

    1. 移除看数据的一切阻力

    2. 保持简单,别急着买花哨的 LLM 工具,先用手头已有的

    3. 如果你没在大量看数据,那你就做错了

    4. 别依赖通用的评测框架,为你自己的问题建一套评测系统

    5. 多写测试,并且经常更新

    6. 用 LLM 给评测系统"解套":生成测试用例、写校验规则、造合成数据、批判和标注数据

    7. 把评测基础设施,复用到调试和微调上

    回头看这七条,其实就是"把评测流程打磨顺"的标准答案。

    模型会越来越强,也会越来越便宜。用不了多久,大家手里拿的,都是差不多的那几个模型。

    到那时,拉开差距的不会是你接了哪个模型,而是你的产品一周能迭代几轮。

    模型是谁都买得到的燃料,评测系统才是你自己的发动机。

    下一期接着聊评测:一份能直接上手的评测表格模板。

    随机文章