本文讨论大模型评测如何从公开榜单走向生产决策。MMLU、GPQA、HumanEval 和 Arena 能帮助团队理解基础能力、专业推理、代码生成和人类偏好,但它们不能替代 RAG、工具调用、Agent 执行和业务结果评测。文章的核心观点是:评测对象必须分清模型、系统和业务结果;指标必须能够定位失败来源;上线门槛必须由真实任务完成率、事实忠实度、风险暴露和成本共同决定。没有业务评测的榜单分数,只能作为候选筛选,不能作为上线证据。
大模型评测;MMLU;GPQA;HumanEval;Chatbot Arena;RAG 评测;业务评测;LLM-as-judge
本文研究的问题是:怎样建立一套既能横向比较模型,又能服务上线决策的评测体系。方法上,文章把评测分成三层:公开基准用于基础筛选,系统评测用于定位检索、提示词、工具和后处理链路,业务评测用于判断用户目标是否完成。每一层都保留独立指标,避免把风格偏好误判为事实正确,也避免把局部业务样本误判为通用能力。
评测体系的关系可以用下面的图表示。图中最重要的方向是从榜单进入链路,再进入业务验收;反向反馈则用于解释失败,而不是只调高或调低模型排名。
一个面向上线的综合指标可以写成:
公式强调权重来自业务目标。客服、代码、法律、教育和搜索产品的 不应相同。
大模型评测不是给模型排一个漂亮名次,也不是把几个公开榜单截图贴进方案里。真正有用的评测体系,要回答一个更朴素的问题:这个模型、这条提示词、这个检索系统、这套工具调用流程,放进真实业务后,能不能持续产生可靠结果。公开 benchmark 能帮助我们理解模型能力边界,但它不能替代业务验收;业务验收能判断产品是否可用,但如果没有通用基准作为参照,也很容易陷入局部经验和主观偏好。
今天的大模型评测至少包含三层。第一层是通用能力评测,例如 MMLU、GPQA、HumanEval 这类任务集,它们测试知识、推理和代码能力,适合用于模型初筛。第二层是交互偏好评测,例如 Chatbot Arena 或 MT-Bench,它们更接近用户真实感受,能观察模型在开放问题、对话风格和综合回答中的表现。第三层是系统级和业务级评测,例如 RAG 问答、客服处理、合同审阅、代码修改、数据分析、Agent 执行等,这一层关心的不是模型单点能力,而是完整链路是否把事情做成。
如果只看第一层,容易高估模型。一个模型在 MMLU 上很高,不代表它会正确引用企业知识库,也不代表它能稳定生成合规 JSON,更不代表它能完成一次跨系统操作。如果只看第二层,容易被回答风格和人类偏好带偏。一个模型更会解释、更像专家,未必事实更准。如果只看第三层,又可能缺少横向比较,不知道失败来自模型底座、检索质量、提示词设计,还是业务流程本身。成熟团队会把三层放在一起看:公开 benchmark 用来选候选模型,交互评测用来观察自然对话质量,业务评测用来决定能否上线。
很多评测混乱,起点是没有分清被评估对象。模型评测关心基础模型在固定输入下输出什么;系统评测关心模型、提示词、检索、工具、缓存、权限和后处理组合起来是否稳定;业务评测关心最终结果是否达到用户目标。三者都叫评测,但问题不同,数据不同,指标也不同。
模型评测适合问:“同样一道题,哪个模型答得更好?”它要求输入清晰、输出判定相对固定,通常控制提示词、采样参数和评测脚本。MMLU、GPQA、HumanEval 主要属于这一类。它们能揭示模型在通用知识、研究生级科学问题、代码生成等方面的能力差距,也能帮助团队避免把明显不够强的模型放进复杂业务。
系统评测适合问:“同一个业务链路,换模型、换检索、换提示词后,整体表现有没有变好?”RAG 系统就是典型例子。问题可能答错,不一定是模型不会,也可能是检索没召回、重排把关键证据排到后面、分块切断了条款、引用格式丢失、答案没有做事实校验。系统评测要拆分链路,否则只看最终答案会很难定位。
业务评测适合问:“用户要办的事,最后办成了吗?”客服场景看一次解决率、转人工率、用户满意度和合规风险;代码助手看测试通过、改动范围、回归风险和开发者是否采纳;知识库问答看答案是否根据有效资料、是否说明不确定性、是否能引导下一步;销售助手看线索质量、跟进动作和误导风险。业务评测是最终门槛,因为用户不关心模型在榜单上赢了谁,只关心自己的任务有没有完成。
这三类评测不能互相替代。模型评测好,只能说明底座有潜力;系统评测好,说明当前链路有工程可用性;业务评测好,才说明产品真正有价值。一个生产级大模型应用,应该把三类指标串成闭环:先用公开 benchmark 缩小候选范围,再用系统评测定位链路质量,最后用业务评测决定灰度、回滚和迭代。
MMLU 的全称是 Massive Multitask Language Understanding。它来自 Hendrycks 等人的论文,设计目标是用大量多学科选择题评估模型的知识和问题解决能力。MMLU 覆盖 57 个任务,包含数学、历史、计算机科学、法律、医学、道德、经济学等主题。它的价值在于广度:一个模型如果连大量基础学科题都不稳定,很难期待它在复杂任务里表现可靠。
MMLU 成为主流 benchmark,是因为它比早期单一任务更能反映“通用能力”。同一个模型可能会写文章、会翻译、会做简单问答,但一旦遇到专业概念、公式推导、法律常识或医学知识,就暴露出知识盲区。MMLU 用多任务集合把这些盲区摊开,让模型厂商和应用团队能看到能力分布,而不是只看几个演示样例。
但 MMLU 的局限也很清楚。第一,它主要是选择题,答案空间有限。模型可以通过排除法、题型模式、训练语料记忆或概率偏好拿分,而真实业务往往要求生成解释、引用依据、执行操作或处理模糊输入。第二,MMLU 的题目相对静态,随着模型训练数据和互联网讨论增多,数据污染风险越来越高。第三,MMLU 的高分并不等于长上下文能力、工具调用能力、RAG 引用能力或业务可靠性。
因此,MMLU 更适合当作模型初筛和基础能力基线。比如企业要从几个候选模型中选择一个通用底座,可以先看 MMLU 总分和分科表现,排除明显偏科或整体过弱的模型。医学、法律、金融、教育等领域还应看对应子类,但不能只看子类分数就决定上线。专业业务需要自己的资料、自己的问题、自己的判定标准。
使用 MMLU 时还要注意评测设置。零样本、少样本、chain-of-thought、答案格式、提示语言、采样温度都会影响结果。不同排行榜如果设置不同,数字不宜直接横向比较。更稳妥的做法是固定评测框架、固定模型版本、固定提示词模板、固定解码参数,然后把 MMLU 作为长期回归指标之一。它不能告诉你系统能否上线,但能提醒你底座能力是否发生明显退化。
GPQA 是 Graduate-Level Google-Proof Q&A Benchmark,目标是测试研究生级别、难以靠简单搜索解决的科学问题。它包含生物、物理、化学等领域的专家编写选择题,强调题目需要真正理解专业知识,而不是复制搜索结果。论文中特别关注专家和高水平非专家之间的差距:即使有网络访问,非专家也很难稳定答对,这说明题目对表层检索不友好。
GPQA 的出现,反映了一个趋势:传统知识题越来越容易被高端模型刷高,评测需要更难、更专业、更少依赖常识的问题。MMLU 适合看广度,GPQA 更适合看深度。对于科学研究助手、技术方案分析、复杂推理问答、专业教育辅导等场景,GPQA 比普通问答榜单更有参考价值。
GPQA 的另一个价值,是测试模型的“不确定性管理”。高难专业问题中,模型常常会生成非常自信的错误解释。对业务系统来说,这比直接不会更危险。一个模型在 GPQA 上如果不仅准确率低,还会用流畅语言包装错误推理,就说明它在高风险专业领域需要更强的拒答、引用、复核和人工介入机制。
不过,GPQA 也不能被神化。它仍然是有限题集,且主要以选择题形式存在。真实科学工作不只是选择答案,还包括查文献、比较实验条件、识别假设、复现实验、处理数据和写出可审查结论。一个模型 GPQA 高,不代表它能独立做科研;一个模型 GPQA 低,也不代表它不能在受约束的业务流程中完成文献摘要、术语解释或实验记录整理。
在生产选型中,GPQA 适合作为“高难专业推理压力测试”。如果系统要处理药物研发、材料科学、物理建模、复杂工程诊断等任务,可以把 GPQA 类指标和本领域专家样本结合起来看。更重要的是,不要只看正确率,还要看错误答案的危险程度:是否乱引用、是否忽略条件、是否把猜测说成事实、是否能主动表达不确定。
GPQA 还提醒我们,评测难度必须和业务风险匹配。一个营销文案助手没必要用研究生化学题决定上线;一个临床决策支持系统也不能只用通用聊天偏好判断好坏。评测越接近真实风险,越能减少上线后的幻觉成本。
HumanEval 来自 OpenAI Codex 论文,用于评估模型根据函数说明生成 Python 代码的能力。它的核心思想很直接:不要只看模型写出的代码像不像人写的,要执行测试,看函数是否通过用例。HumanEval 使用 pass@k 这类指标衡量模型在生成若干候选解时至少有一个通过测试的概率。
HumanEval 对代码模型评测影响很大,因为它把评测从“文本相似度”拉回“功能正确性”。代码是一类特别适合执行验证的输出。自然语言答案可能需要人工判断,但代码可以运行、可以测试、可以检查异常。一个模型生成的代码变量名再漂亮,如果测试不通过,就是没有完成任务。
但 HumanEval 的局限也同样明显。第一,题目规模较小,主要是单函数 Python 编程题。真实软件工程需要理解项目结构、依赖关系、历史代码、测试框架、性能约束和兼容性。第二,公开时间较早,污染风险和过拟合风险都存在。第三,通过给定测试不等于完全正确,测试覆盖不足时,模型可能写出碰巧过用例但边界条件错误的代码。
因此,HumanEval 更适合衡量基础代码生成能力,而不是完整软件工程能力。一个模型 HumanEval 高,说明它有较好的算法题和函数级实现能力;但要判断它能否修复真实仓库 bug,还需要 SWE-bench、内部代码任务、真实测试套件和人工 code review。代码助手上线时,最终指标应该是测试通过率、回归率、修改范围、可读性、安全风险和开发者采纳率。
使用 HumanEval 时,还要理解 pass@1 和 pass@k 的差别。pass@1 更接近“一次生成就能用”的体验,适合交互式助手;pass@k 更接近“生成多个候选再挑一个”的系统能力,适合自动搜索或自我修复流程。生产系统如果允许模型多次尝试、运行测试并修复错误,就不应该只看单次生成;如果用户希望一次补全就正确,pass@1 更重要。
代码评测还有一个原则:执行环境必须真实。很多模型在 isolated function 上表现不错,但一进入真实项目,就会因为包版本、路径、数据库、权限、并发、类型系统或测试数据失败。生产级代码 Agent 评测需要让模型在真实仓库里读文件、改代码、跑测试、处理失败,并且检查改动是否只触及必要范围。HumanEval 是起点,不是终点。
Chatbot Arena 的核心思路是让两个模型匿名回答同一个用户问题,再由人类投票选择哪个更好。早期 Arena 使用 Elo 等排名方式,后来社区也使用 Bradley-Terry 等统计模型做偏好估计。它的价值在于把评测从封闭题库推向真实开放提问:用户会问模糊问题、创作问题、生活问题、技术问题,也会在意语气、结构、可读性和整体帮助感。
Arena 对聊天模型特别有参考价值。很多能力无法用选择题准确表示,例如解释是否清楚、建议是否自然、回答是否完整、语气是否贴合、是否愿意承认限制。人类偏好评测能捕捉这些主观但重要的因素。一个模型在 MMLU 上略低,但在 Arena 上更受欢迎,可能说明它更适合开放对话产品。
不过,Arena 的偏好信号并不等于事实正确性。用户可能偏爱更长、更自信、更有条理的回答,即使其中有细节错误。模型也可能通过更讨喜的口吻、更多项目符号、更强姿态赢得投票。对知识问答、医疗、法律、金融、代码和企业操作场景,偏好必须和事实校验、引用校验、执行结果一起看。
Arena 还有样本分布问题。参与投票的人群、问题类型、语言比例、模型曝光度、投票界面都会影响结果。一个模型在公开 Arena 上排名高,不代表它适合中文企业制度问答;一个模型在英语创作里强,不代表它在中文财务条款中稳。排名接近的模型之间,统计不确定性也要认真看,不能把微小名次差当作确定优势。
对产品团队来说,Arena 最有价值的启发不是“照榜单选第一名”,而是“用盲测减少品牌偏见”。内部也可以做小型 Arena:同一批真实用户问题,匿名展示两个候选系统的回答,让业务人员或用户选择更有帮助的一方,同时记录事实错误和风险标签。这样既保留人类偏好,又避免完全依赖公开榜单。
Arena 类评测适合用于回答体验、内容质量、语气和综合帮助感;不适合单独决定高风险任务上线。它应该和自动事实检查、人工抽检、引用验证、任务成功率一起组成评测矩阵。偏好是重要信号,但不是唯一真相。
RAG 系统的评测不能只看最终答案。检索增强生成至少包含查询理解、召回、重排、上下文组装、模型生成、引用标注、答案校验等环节。任何一个环节出错,最终答案都可能错。如果只给最终答案打分,就会出现定位困难:到底是资料没找到,找到了没排上,排上了没被模型使用,还是模型编造了没有根据的结论。
RAG 评测第一类指标是检索质量。Context recall 关注正确证据有没有被召回;context precision 关注被放进上下文的内容是否真正相关;排名指标关注关键证据是否靠前。召回不足时,模型再强也拿不到依据;精度不足时,模型会被噪声带偏;排序不好时,长上下文中关键证据可能被埋没。
第二类指标是生成质量。Answer relevance 看回答是否针对用户问题;faithfulness 或 groundedness 看答案是否被检索证据支持;answer correctness 看最终结论是否正确;citation accuracy 看引用是否对应真实来源。Ragas 文档中列出的 faithfulness、response relevancy、context precision、context recall 等指标,就是围绕这些问题展开。LangSmith 等工具也强调把检索相关性、回答正确性和依据一致性分开评估。
第三类指标是业务安全。RAG 问答最危险的情况不是“不知道”,而是“拿错证据后自信回答”。因此,生产系统要评估拒答能力:资料不足时是否会说无法确认;资料冲突时是否会说明冲突;问题越权时是否拒绝;用户要求编造来源时是否坚持引用真实资料。企业知识库尤其要关注版本、权限和时效性。过期制度、无权限文件、草稿文档如果被检索出来,答案再流畅也不可用。
RAG 评测样本要覆盖多种失败模式。简单事实题只测试最基础能力;还要有多跳问题、表格问题、跨文档比较、时间版本问题、相似条款混淆、资料缺失、权限限制、问法改写和对抗性问题。一个系统在“根据文档回答一个明确问题”上表现好,不代表它能处理“比较两份合同中付款条件差异”或“只根据最新政策判断是否适用”。
RAG 评测还需要看上下文构造。很多系统召回结果不错,但把十几段重复内容全部塞给模型,导致模型输出冗长、引用混乱、成本高。好的评测应记录每个问题的召回文档、重排顺序、最终上下文、模型回答和引用映射。没有 trace,就无法解释为什么答错,也无法稳定改进。
业务评测的核心不是问模型聪不聪明,而是问它有没有把用户目标完成到可接受标准。不同业务的“完成”完全不同。客服助手的完成是解决问题或准确转人工;投研助手的完成是给出可追溯事实和合理分析;合同助手的完成是识别风险条款并引用依据;数据分析助手的完成是得到可复算结果;运营文案助手的完成是产出符合品牌和渠道要求的内容。
要做业务评测,首先要定义任务边界。用户输入是什么,系统可以使用哪些资料和工具,输出应包含什么,什么情况必须拒答或升级,什么错误属于严重错误。没有边界,就无法判断失败。很多团队只写“回答要准确、完整、友好”,这不是评测标准,因为它无法被稳定执行。
其次要建立黄金样本集。样本应该来自真实用户问题、历史工单、业务案例、专家构造的边界问题和线上失败回收。每个样本要有预期结果、可接受变体、关键事实、引用依据、风险标签和评分规则。对开放任务,不一定需要唯一答案,但要有明确 rubric,例如事实正确、依据充分、步骤可执行、格式合规、风险提示完整。
第三,要区分自动评测和人工评测。自动评测适合格式、引用、分类、数值、测试通过、工具结果一致性等可程序化判断;人工评测适合开放建议、语气、完整性和复杂专业判断。LLM-as-judge 可以提高效率,但不能无条件信任,尤其在高风险业务里要抽样校准,避免评测模型被回答风格影响。
第四,要把成本和延迟纳入业务评测。一个方案质量略高,但每次回答耗时 60 秒、成本翻倍、经常超时,未必适合交互产品。另一个方案质量略低,但能稳定处理高频低风险任务,可能更适合作为第一层。生产评测要同时看准确率、失败率、人工介入率、端到端延迟、token 成本、缓存命中、重试次数和用户满意度。
第五,要评估失败恢复。真实业务里,模型不可能永远一次成功。系统是否能发现资料不足,是否能追问用户,是否能调用正确工具,是否能在工具失败后换路径,是否能保存中间状态,是否能把不确定任务交给人,都是业务可靠性的一部分。只评估单轮答案,会低估实际风险。
业务评测最终应该形成上线门槛。例如知识库问答要求关键事实准确率达到某阈值、引用正确率达到某阈值、资料缺失拒答率达到某阈值、严重幻觉为零;代码助手要求测试通过率、回归失败率和改动范围满足要求;客服助手要求一次解决率提升且误导性回答低于上限。门槛越具体,迭代越有方向。
一个完整评测体系通常包含能力、可靠性、体验、安全和成本五类指标。能力指标回答“会不会”,例如准确率、pass@1、召回率、任务成功率。可靠性指标回答“稳不稳”,例如同样问题多次运行是否一致、长尾样本是否崩溃、版本升级是否回归。体验指标回答“好不好用”,例如回答结构、交互轮数、首 token 延迟、用户偏好。安全指标回答“会不会出事”,例如越权、隐私泄露、错误引用、危险建议。成本指标回答“值不值”,例如 token、GPU、人工复核和重试成本。
这些指标要有层级。底层是单组件指标,例如检索召回、工具调用成功、JSON 合法率、测试通过。中层是链路指标,例如 RAG 答案 groundedness、Agent 任务完成率、多轮对话恢复率。顶层是业务指标,例如用户解决率、工单关闭率、人工节省、错误赔付风险。只看顶层,定位慢;只看底层,容易优化局部却不改善用户结果。
指标还要能解释失败。比如一个 RAG 系统最终准确率 70%,这个数字本身没有行动价值。拆开后可能发现:20% 是检索没召回,5% 是重排错,3% 是引用错,2% 是模型无依据扩写。每类失败对应不同改进手段。没有失败分类,评测就只剩分数焦虑。
评测还必须版本化。模型版本、提示词版本、检索索引版本、文档版本、重排模型版本、工具接口版本、采样参数和后处理规则都要记录。大模型系统高度非确定,稍微改一个参数就可能影响结果。没有版本记录,就无法解释为什么昨天通过、今天失败。
最后,指标要避免互相打架。比如要求答案极短,可能降低解释完整性;要求强制引用,可能让模型在无资料时乱贴来源;要求低成本,可能降低召回数量;要求高自动化,可能增加错误操作风险。评测体系不是把所有指标都拉满,而是在业务场景里设定优先级。
很多团队先选评测工具,再想数据怎么来。这顺序反了。评测工具可以换,评测数据才是质量核心。一个代表性差的数据集,会让所有精致报表都失去意义。大模型应用的评测数据应当来自真实任务,而不是只由工程师随手写十几个问题。
好的评测集至少要包含四类样本。第一类是常见高频样本,代表系统每天最常处理的问题。第二类是高风险样本,代表答错代价很大的问题。第三类是历史失败样本,代表系统已经暴露过的弱点。第四类是边界和对抗样本,代表资料缺失、指令冲突、权限限制、长上下文、相似概念和恶意诱导。
样本也要有权重。高频问题和高风险问题不能同等对待。一个客服机器人在低风险寒暄上错一次影响很小,在退款政策、药品剂量、财务承诺上错一次影响很大。评测总分如果不加权,会掩盖真正重要的风险。
评测集还要持续更新。线上用户会改变问法,业务政策会变化,文档会更新,模型会升级,攻击方式也会演化。一个三个月不更新的评测集,很可能已经不能代表当前产品。生产团队应该把线上失败、人工纠错、用户差评和专家审核结果回流到评测集中,形成长期资产。
还有一个常见问题是泄漏。评测样本如果被放进训练集、提示词示例、公开文档或开发调试记录,模型可能记住答案,分数会虚高。内部业务评测也要区分开发集和保留集。开发集用于调 prompt 和系统,保留集用于上线前验收。否则团队会在自己的测试题上越调越高,线上却没有改善。
LLM-as-judge 的价值很明显。开放式回答很难用固定规则判断,人工评审成本又高,让另一个强模型按 rubric 评分,可以大幅提高评测效率。MT-Bench 和很多后续评测都使用或讨论过模型裁判思路。业务团队也常用模型评估答案是否相关、是否完整、是否基于证据、是否符合语气要求。
但模型裁判也会犯错。它可能偏爱更长的回答,偏爱语气自信的回答,偏爱格式整齐的回答;它可能看漏细小事实错误,也可能被被评回答中的错误引用带偏。不同裁判模型之间标准不同,同一裁判在不同提示词下也可能变化。把 LLM-as-judge 当成绝对真理,会制造新的幻觉。
使用模型裁判时,关键是明确 rubric。不要只问“哪个更好”,而要拆成事实正确、依据支持、问题覆盖、格式合规、风险控制、可执行性等维度。每个维度给出评分标准和负例。对高风险维度,最好让模型输出可核查理由和引用位置,便于人工抽检。
还要做人工校准。选一批样本由专家评分,再看模型裁判与专家的一致性。如果一致性低,就要调整 rubric、换裁判模型或把该维度交给人工。模型裁判适合扩大覆盖面,不适合完全替代专业责任。尤其在医疗、法律、金融、代码合并等场景,最终门槛仍应有可审计的规则、测试或人工复核。
模型裁判也应该和确定性检查结合。引用是否存在、JSON 是否合法、数值是否匹配、代码是否通过测试、工具是否返回成功,这些不需要模型主观判断。能用程序判断的地方尽量用程序,不能用程序判断的地方再用 LLM-as-judge 和人工评审。
一个实用流程可以分为七步。第一步,明确业务任务和风险等级。不同任务需要不同评测强度,低风险创作和高风险决策不能用同一套门槛。第二步,用公开 benchmark 做候选模型筛选,查看 MMLU、GPQA、HumanEval、Arena 等结果,排除明显不适合的模型。第三步,用内部黄金集做离线评测,固定提示词、采样参数和链路版本。
第四步,拆解系统指标。RAG 看召回、重排、faithfulness、引用;代码看测试、lint、改动范围;Agent 看步骤完成、工具成功、状态恢复和人工确认。第五步,做盲测和人工评审。对开放输出,隐藏模型名称,让专家或目标用户按 rubric 评分,减少品牌偏见。第六步,灰度上线,记录真实 trace、用户反馈、失败类型和成本延迟。第七步,把线上失败回流评测集,形成下一轮迭代。
这个流程的重点是闭环,而不是一次性验收。大模型系统会因为模型更新、索引更新、业务规则更新和用户行为变化而漂移。评测也必须持续运行。每次改 prompt、换模型、换 embedding、改 chunk、改工具 schema,都应该跑回归评测。没有回归,系统质量只能靠感觉。
上线门槛也要分级。候选模型进入开发环境,只需要公开 benchmark 和少量内部样本通过;进入灰度,需要完整黄金集和安全样本通过;进入全量,需要线上指标稳定、严重错误受控、回滚路径清晰。这样既不会因为追求完美阻塞创新,也不会把未验证系统直接推给所有用户。
对企业来说,评测体系本身是一种工程资产。它会沉淀业务问题、专家判断、失败案例、文档版本、工具行为和用户偏好。模型会换,供应商会换,框架会换,但高质量评测集和清晰验收标准会长期复用。真正成熟的 AI 团队,不是永远选到榜单第一,而是能持续证明自己的系统在真实任务上变好。
第一个误区是把公开榜单当采购结论。榜单能说明模型在某些公开任务上的表现,但不能说明它适合你的数据、你的语言、你的风险和你的成本。采购或选型可以参考榜单,不能只看榜单。
第二个误区是只看总分。MMLU 总分高,不代表法律、医学、数学、代码都强;Arena 排名高,不代表事实错误少;RAG 平均分高,不代表高风险问题安全。看总分之前,要先看分项和失败案例。
第三个误区是样本太少。十几个手写问题只能做演示,不足以做上线评测。样本少时,偶然性很大,模型输出的随机波动也会影响判断。业务评测至少要覆盖高频、长尾、高风险和历史失败。
第四个误区是忽略拒答。很多系统只奖励答对,不惩罚资料不足时乱答。生产知识问答中,正确拒答比编造答案更重要。评测集必须包含无法回答、资料冲突、权限不足和用户诱导编造的样本。
第五个误区是没有 trace。最终答案错了,却不知道检索结果、上下文、工具调用、模型输出和后处理发生了什么。没有 trace 的评测,改进只能靠猜。系统级评测必须保存链路证据。
第六个误区是只评估模型,不评估提示词和检索。很多线上质量来自上下文工程,而不是模型本身。换模型之前,先确认资料是否正确进入上下文,规则是否冲突,工具结果是否可读,输出格式是否可验证。
第七个误区是把评测做成一次性项目。模型系统每周都可能变化,评测却只在上线前跑一次。生产级 AI 应用需要持续评测,就像传统软件需要持续测试和监控。
如果从零开始建设大模型评测体系,可以先做一个简洁矩阵。模型层使用 MMLU、GPQA、HumanEval 和 Arena 类结果做候选筛选,关注知识广度、专业推理、代码执行和人类偏好。系统层为每个核心能力建立专项评测:RAG 看召回、精度、faithfulness 和引用;工具调用看参数正确、权限、安全和幂等;结构化输出看 schema 合法、字段完整和语义正确;长上下文看关键证据位置、跨段推理和成本。
业务层按场景定义验收。知识库问答关注事实、引用、拒答和版本;客服关注解决率、转人工、合规和用户满意;代码助手关注测试、回归和改动范围;数据分析关注计算可复现、图表正确和结论谨慎;Agent 关注任务完成、状态恢复、工具失败处理和人类确认。每个场景都应有上线阈值、灰度阈值和回滚条件。
评测运行方式可以分为离线回归、在线抽检和事故复盘。离线回归用于每次改动前比较新旧方案;在线抽检用于发现真实用户中的新失败;事故复盘用于把严重错误变成长期测试样本。三者结合,评测才不会停留在实验室。
最后,评测结果要能指导动作。发现 MMLU 弱,可能换底座;发现 GPQA 类高难任务弱,可能增加专家复核;发现 HumanEval 弱,可能限制自动代码修改;发现 Arena 偏好低,可能改善回答结构;发现 RAG 召回低,改检索;发现 faithfulness 低,改上下文和引用校验;发现业务完成率低,重设流程。分数本身不是目的,能推动正确改进才是目的。
评测如果只在模型选型时出现一次,很快就会失效。大模型应用的质量变化很频繁:提示词改一句,检索分块改一个长度,重排模型换一个版本,工具返回字段多一个,用户问题分布变一点,都可能影响最终答案。评测必须嵌进研发流程,成为每次变更前后的对照,而不是上线前临时补一份报告。
研发流程里的第一道评测,是本地快速集。它不需要很大,但要覆盖最容易坏的路径。例如知识库问答至少包含资料存在、资料缺失、资料冲突、旧版本资料、权限资料和相似问题;代码助手至少包含小修复、跨文件修复、测试失败、无关文件保护和无法复现;结构化抽取至少包含完整输入、缺字段输入、歧义字段和非法格式。快速集用于开发者每天反复跑,目标是尽早发现明显回归。
第二道评测,是合并前回归集。它比本地快速集更大,覆盖核心业务和历史失败。每次改动模型路由、检索索引、提示词模板、工具 schema、后处理规则,都应该跑这套回归。回归结果不只给一个总分,还要列出新增失败、修复失败和波动样本。新增失败需要解释原因,不能用平均分提升掩盖高风险退化。
第三道评测,是灰度期在线评测。离线样本永远不能完全代表真实用户。灰度期间要抽样记录真实输入、系统上下文、模型输出、工具调用、用户反馈和人工纠错,并把敏感信息脱敏。线上评测尤其要看离线集里没有出现的新问法、新文档、新权限和新失败类型。灰度不是形式,而是发现真实分布漂移的阶段。
第四道评测,是事故复盘。每次严重幻觉、错误操作、引用失真、越权回答、错误代码合入,都应该进入评测集。事故样本不要只保存用户原话,还要保存当时的文档版本、索引版本、模型版本、提示词版本和工具结果。否则几周后再复盘,团队只会记得“模型答错了”,却无法重建当时为什么答错。
把评测嵌进研发流程,还意味着评测结论要能阻止上线。很多团队跑评测只是为了有数字,失败后仍然上线。生产级流程应该设定阻断条件:严重安全样本失败不能上线,核心业务样本明显退化不能上线,引用正确率低于阈值不能上线,测试执行失败不能上线,成本或延迟超过上限不能上线。评测如果没有决策权,就只是装饰。
中文大模型应用不能只继承英文 benchmark 结论。中文业务里有大量特殊问题:公文、合同、制度、客服工单、教育题目、医疗问答、财务报销、政府办事、企业知识库、行业黑话和中英混杂代码。模型在英文 benchmark 上强,不代表它能稳定处理中文长句、否定条件、简称、隐含主语和本地政策。
中文评测集要保留真实表达。用户不会总是用标准书面语提问,他们会说“这个咋弄”“是不是不行”“上次那个规则还算吗”“报销这块按哪个口径”。如果评测集全是规范问题,线上就会低估理解难度。客服、教育、企业助手尤其要收集真实问法,包括错别字、口语、缩写、夹杂英文、截图转写和多轮追问。
中文资料还常有版本和层级。企业制度可能有总部版、区域版、部门补充版;政策可能有国家、省、市、区多级口径;合同可能有主合同、补充协议、附件和邮件确认。RAG 评测不能只看是否找到了相关段落,还要看是否使用了更高优先级、更近时间、更适用范围的证据。引用旧制度答对表面问题,在业务上仍然是错。
中文长文也容易出现格式噪声。PDF 转写后可能丢表格、页眉页脚混入正文、条款编号断裂、金额和单位分开、扫描件识别出错。评测要覆盖这些文档质量问题,否则系统在干净样本文档上表现很好,遇到真实资料就失效。对需要引用的场景,评测还要检查引用是否能定位到原文段落,而不是只给一个文件名。
中文业务评测还要关注语气和责任边界。很多场景中,模型不能用“可能可以”“大概没问题”替代明确流程,也不能在政策不确定时给用户承诺。好的中文回答应该既自然,又清楚区分事实、判断和建议;既能给下一步,又不越过资料和权限边界。Arena 类偏好可以观察表达质量,但最终仍要靠业务 rubric 判断是否负责。
评测不是为了证明某个模型强,也不是为了让报表好看。它服务于产品决策:该不该换模型,该不该上线,该不该灰度扩大,该不该回滚,该优先修检索还是修提示词,该让哪些任务自动化,该把哪些任务交给人。没有这些决策,评测就会变成分数陈列。
产品决策最需要的是差异解释。两个模型差 2 分,到底差在哪里?是中文政策问答差,还是开放写作差?是长上下文中间信息差,还是代码执行差?是回答不够好,还是引用不够准?如果差异无法解释,就不能指导选型。评测报告应该把分数、样本、失败类型和建议动作放在一起。
评测还可以帮助确定产品边界。一个系统在低风险知识问答上很稳,但在跨文档法律判断上不稳,那么产品就应该把前者开放给用户,把后者设计成人工辅助。一个 Agent 在只读分析上表现好,但在外部写入上失败多,就应该先做分析助手,而不是直接做全自动操作员。边界清楚,用户期待才会清楚。
最终,成熟评测体系会让团队少争论“这个模型聪不聪明”,多讨论“这个场景是否已经可交付”。大模型能力会持续变化,但产品责任不会变化。无论底座多强,只有当评测能覆盖真实任务、发现真实风险、推动真实改进时,AI 应用才算进入可持续开发状态。