授权与合规声明
本文为技术实践笔记,示例均基于公开文档与自建环境中的实验,不涉及任何未获授权的系统。文中结论仅代表个人实践小结,与所涉厂商无利益关系。转载请注明出处。
1. 为什么"跑分高"不等于"用得好"
选模型时,最容易陷进去的误区是:看一张排行榜,谁分高用谁。但排行榜上的分数,衡量的是模型在那套固定测试题上的表现,而你真正关心的是模型在你自己的业务场景上的表现。
这两件事经常对不上。一个在通用问答榜上领先的模型,可能在你的客服话术、你的代码风格、你的专业术语上表现平平;一个中等分数的模型,因为更贴合你的数据分布,实际效果反而更好。
所以大模型效果评估不能只信公开 benchmark,必须回到自己的场景里建一套可复用的评测。本文讲怎么从零搭这套东西。
2. 先造一个可复用的评估集
评估的前提是有一份固定不变的评估集:一批真实问题,每条都标好了"标准答案应该长什么样"。
每条评估样本建议包含三个要素:
- 问题:从真实日志、真实用户提问里摘,不要自己编理想的句子
- 答案要点:标准答案必须覆盖哪些关键点(不要求逐字一致,要求要点齐全)
- 应当召回的素材:如果走 RAG,标出这条问题应该检索到哪些文档块
第三点最关键,也最常被漏掉。没有它,你无法区分"是检索没找到"还是"找到了但模型没用好"——两个问题修法完全不同。
评估集规模不用大,几十条到上百条就够驱动迭代。重点是真实、固定、可重复跑。
3. 分层指标:检索段和生成段分开看
把所有效果混成一个"总分"是评测里最误导人的做法。至少要把链路拆成两段分别量:
检索段看召回质量:前 K 条结果里是否包含了应召回的素材(Recall@K),以及正确素材排得有多靠前(MRR)。这一段只在你走 RAG / 知识库时才需要。
生成段看答案质量:要点覆盖率、事实准确性、是否答非所问。这一段无论是否走 RAG 都要看。
两段必须分开报。混在一起,你永远不知道瓶颈在检索还是生成——改了半天可能一直在调错的地方。
4. 警惕 benchmark 过拟合
公开 benchmark 有个隐性陷阱:模型训练时可能已经"见过"这些题。换句话说,排行榜衡量的一部分是记忆,不是能力。
这在工程上对应一个更现实的风险:你用一批历史问答做评估集,模型上线后遇到的却是新分布的数据,评估集悄悄变成了"训练集的延伸",于是你以为效果稳,实际在退化。
缓解办法只有一条:评估集要持续更新,并且包含模型没见过的新样本。定期从线上真实流量里抽样补充,而不是一次性造完就不动。
评估集怎么标注最高效?我把"问题 / 应有素材 / 答案要点"三列的标注模板和指标计算脚本整理在了一起,放在资料包里,扫码即可获取:
5. 业务指标比学术指标更诚实
技术团队容易沉迷于 Recall@K、准确率这类指标,但老板和业务方真正关心的是:用户问题有没有被解决、工单有没有减少、转化有没有提升。
这两类指标经常会打架。比如你优化后答案"更严谨"了,准确率涨了,但用户嫌啰嗦、对话轮次变多、满意度反而降了。这时该听谁的?听业务指标。
做法上,建议给每个上线版本同时记录两层指标:一层是技术链路指标(召回、准确率),用来定位问题;一层是业务结果指标(解决率、满意度、转化),用来判断"到底好不好用"。两者一起看,才不会陷入"指标漂亮但没人用"的陷阱。
6. 评测不是一次性,而是回归测试
最可惜的评测方式是:上线前跑一次,之后就再也不跑了。模型会换、提示词会改、知识库会更新,任何一处变动都可能悄悄拉低效果。
正确做法是把评估集变成回归测试:每次改了提示词、换了模型、更新了知识库,都自动跑一遍评估集,对比上一次的指标。指标掉了,马上能定位是哪次改动引入的。
这不需要多复杂的平台,一个能跑评估脚本、把结果存成历史记录的流程就够了。
怎么把评测自动化?我把"评估集 + 指标计算 + 历史对比"的最小可运行流程整理成了笔记,放在资料包里,扫码即可获取:
7. 一个最小评测落地清单
按投入产出比排序,建议这样起步:
- 从真实流量里抽几十条问题,标好"答案要点"和"应召回素材"
- 把链路拆成检索段和生成段,分别定义指标
- 先跑一次基线,记下两个数字
- 每次只改一个变量(提示词 / 模型 / 知识库),对比指标再决定留不留
- 补一层业务结果指标,和技术指标一起看
- 把评估集固化成回归测试,每次改动都自动跑
做到这一步,你就从"凭感觉调模型"变成了"用数据驱动迭代"。
附表 A:本文引用事实与出处对照表
| 事实 | 出处 | 本文位置 |
|---|---|---|
| Recall@K 衡量前 K 条是否含正确结果,MRR 衡量正确结果排得多靠前 | 信息检索领域共识,本文不引用具体文献 | 第 3 章 |
| 评估样本应标注"应召回素材"以区分检索失败与生成失败 | 本文工程经验结论,无一手出处,待验证 | 第 2 章 |
| 公开 benchmark 可能存在训练数据泄漏,衡量含记忆成分 | 评测领域普遍关注的问题,本文不引用具体文献 | 第 4 章 |
| 技术链路指标与业务结果指标需分层看待 | 本文工程经验结论,无一手出处,待验证 | 第 5、6 章 |
附表 B:术语速查表
| 术语 | 含义 |
|---|---|
| 评估集 | 一批固定问题及标准答案要点,用于重复评测 |
| Recall@K | 前 K 条结果中包含正确素材的比例 |
| MRR | 平均倒数排名,衡量正确结果排得多靠前 |
| 过拟合 benchmark | 模型在测试题上表现好,但泛化差的现象 |
| 回归测试 | 每次改动后重跑评估集,对比历史指标 |
| 业务结果指标 | 解决率、满意度、转化等直接反映"好不好用"的指标 |
写在最后:这篇用到的资料
写这篇的时候我把团队做模型选型时踩过的评测坑重新梳理了一遍,顺手也整理了几份配套的东西:
- 评估集标注模板:问题 / 应召回素材 / 答案要点 三列,直接照着填
- 指标计算脚本:Recall@K、MRR 与答案要点覆盖率的参考实现
- 评测回归流程笔记:把评估接入每次改动的落地步骤
资料是我自己整理的,放在下面这个码上,扫码即可获取:
资料较多,建议先看「全套 AGI 大模型学习路线」,再挑一个实战项目跟练。