资讯动态

中文问答评测实战:从评分锚点到四维评估的完整方法

发布时间:2026/10/26 4:28:27 来源:尧图企业网站定制
中文问答能力评估这件事说简单也简单说复杂也复杂。简单在于你随便找几十道题扔给模型看它答对多少也能得出一个数字复杂在于这个数字往往经不起追问——题目从哪来的、难度怎么分层、评分标准是什么、换一批题结果会不会翻盘。我在过去一年多里反复做过好几轮中文问答评测从最开始拍脑袋出题到后来搭建一套相对可复现的评估流程中间踩的坑比想象中多得多。这篇内容就是把这套方法和背后的判断逻辑完整拆开讲清楚适合正在做模型选型的技术负责人、需要给团队搭建评测集的产品同学以及想认真比较不同模型中文能力差异的开发者。读完你至少能拿到三样东西一套可落地的小型评测集构建方法、一份评分维度的设计思路、以及一批只有真跑过评测才会知道的注意事项。1. 为什么中文问答评测不能只看“答对率”很多人第一次做评测直觉就是统计准确率一百道题答对八十道就是80分。这个思路本身没错但放在中文问答场景里它会系统性地高估或低估模型能力原因藏在三个地方。1.1 中文问答的“对”本身是个模糊概念英文问答里很多题目的答案是可以精确匹配的比如问某个数值、某个日期答案唯一。中文问答不一样大量问题的正确答案是一个区间、一种表述方式、一段需要组织语言的解释。举个我实际用过的题“为什么夏天白天比冬天长”模型回答“因为地球自转轴倾斜夏季所在半球更朝向太阳日照时间更长”这个答案是对的另一个模型回答“因为地球绕太阳公转的轨道是椭圆夏天离太阳近”这个答案是错的但它表述得很自信、很流畅。如果只做关键词匹配第二个答案里出现了“地球”“太阳”“夏天”很可能被误判为正确。所以中文问答评测的第一个认知转变是评分必须引入语义判断不能停留在字面匹配。我后来的做法是给每道题预设“得分点”把标准答案拆成若干必须命中的语义要素模型回答命中几个要素就给对应分数而不是简单的对错二分。这个改动让评测结果的可信度提升非常明显尤其是对那些“答对一半”的回答区分度一下子就出来了。1.2 流畅度会伪装成正确性大语言模型有个特点它错的时候往往也说得头头是道。我遇到过模型把某个历史事件的年份说错但前后文逻辑自洽、语气笃定第一次看的时候差点被唬过去。如果评测者只是快速扫一眼回答很容易把“说得顺”当成“答得对”。这个问题在人工评测里尤其致命。我的应对办法是盲评加交叉复核评测时先不看是哪个模型的回答只看内容本身打分同一批回答由两个人独立评分歧超过一定阈值的题目拎出来单独讨论。听起来麻烦但实测下来这一步能筛掉相当一部分“看起来对其实错”的误判。如果团队人手有限至少要做到评分时对照得分点逐条核对而不是凭整体印象给分。1.3 题目分布决定了结论的走向还有一个隐蔽的坑题目从哪来。如果题目全部来自某个领域的文档模型在这个领域表现好不代表它通用问答能力强如果题目全是简单常识那所有模型都能拿高分评测就失去了区分意义。我见过一份评测集八成题目是“中国的首都是哪里”这种难度结果几个模型分数都在95以上完全看不出差异。合理的做法是按难度和题型分层抽样。我一般把题目分成四层基础事实类单一知识点、理解解释类需要组织语言说明原因或机制、推理类需要多步思考或计算、开放生成类没有唯一答案看表达质量和信息密度。每层占一定比例评测时分层看结果而不是只看总分。这样即使总分接近你也能看出模型到底强在哪、弱在哪。2. 搭建一套小而可用的中文评测集大机构动辄几千上万道题的评测集普通团队没必要也没精力复刻。我的经验是两百到三百道题、结构合理、评分标准清晰就足以支撑一次有参考价值的横向比较。关键在于怎么选这三百道题。2.1 题目来源的三个渠道与取舍我实际用过的题目来源主要有三类各有优劣建议混合使用。第一类是公开数据集筛选。市面上有一些中文问答和阅读理解的开源数据集题目质量相对有保证缺点是风格偏学术、和真实用户提问方式有距离。我的做法是从中抽取一部分但会做改写把书面化的提问改成更口语的表达比如把“请阐述……的成因”改成“为什么会……”让题目更贴近实际使用场景。第二类是业务真实问题沉淀。如果团队有客服记录、用户提问日志这是最宝贵的题源因为它直接反映真实需求分布。我从历史提问里挑出高频问题和典型难题脱敏后纳入评测集。这类题目的价值在于评测结果能直接指导业务决策而不是停留在纸面比较。第三类是人工构造的边界题。针对模型容易出错的场景专门设计题目比如多音字歧义、需要区分近义词的题、带否定词的逻辑题、涉及数量计算的题。这类题目数量不用多但能有效暴露模型的短板。我通常会构造三四十道这类“刁钻题”单独统计得分作为模型鲁棒性的参考指标。题目来源优势局限建议占比公开数据集筛选改写质量稳定、覆盖广风格偏学术约40%业务真实问题贴近实际、指导性强需脱敏、分布不均约40%人工构造边界题暴露短板、区分度高数量有限、主观性强约20%2.2 每道题必须配一份“评分锚点”这是我认为整个评测流程里最值得投入时间的环节。所谓评分锚点就是针对每道题提前写好满分回答应该包含哪些要点、部分正确的回答长什么样、典型错误回答是什么样。写这个的过程本身就是在逼自己想清楚“这道题到底在考什么”。举个我实际写过的锚点示例。题目是“解释一下为什么高压锅能加快烹饪速度”。满分锚点提到气压升高导致水的沸点升高核心点一沸点升高使食物在更高温度下烹饪从而更快熟透核心点二表述准确无常识错误。部分正确只提到“压力大所以熟得快”没有解释沸点机制给一半分。典型错误说“高压锅内部温度低所以快”或者把原理说成“密封导致热量不流失”这类给低分或零分。有了锚点评分就从“凭感觉”变成了“对表打分”不同评测者之间的一致性会好很多。我建议锚点写得具体一点宁可啰嗦也不要写“回答合理即可”这种没法执行的标准。2.3 难度分层的具体操作前面提到按难度分层具体怎么分我的做法是给每道题打两个标签知识广度和推理深度。知识广度分三级常见常识、专业领域知识、冷门知识推理深度也分三级直接回忆、单步推理、多步推理。两个维度交叉自然形成不同难度档位。实际操作中我会确保评测集里“常识直接回忆”这类简单题不超过三成否则整体分数虚高“专业多步推理”这类难题占两成左右用来拉开差距剩下的是中间档。这个比例不是死的根据评测目的调整——如果目的是选型对比难题比例可以适当提高如果目的是摸底现有模型能不能上线那应该更贴近真实业务的难度分布。3. 评分维度除了对错还要看什么只统计答对率会丢掉很多有价值的信息。我在多轮评测后固定下来一套四维评分每个维度单独打分再综合这样得出的结论比单一分数有说服力得多。3.1 准确性核心但需要拆细准确性是基础维度但我把它拆成三个子项分别打分事实正确性有没有说错事实、要点覆盖度该说的要点说了几个、无虚构内容有没有编造不存在的信息。第三项特别重要因为大语言模型的“幻觉”问题在中文问答里很常见模型可能给出一个听起来合理但完全虚构的答案。我遇到过模型在回答某个专业概念时把两个相近概念的定义混在一起还编造了一个不存在的出处。这种回答如果只看“像不像那么回事”很容易给高分但拆开看事实正确性和无虚构内容两项都是低分。分开打分之后这类问题就藏不住了。3.2 表达质量中文特有的考量中文问答对表达的要求和英文不太一样。我关注的几个点语句是否通顺有没有语病、用词是否准确近义词有没有用错、结构是否清晰长回答有没有条理、语气是否得体该正式的地方是否正式。这几项里用词准确是最容易被忽略也最容易出问题的中文近义词多模型有时候会用错语境比如把“截止”和“截至”混用把“权利”和“权力”搞反。表达质量我一般用三级评分好、中、差。好评是通顺准确有条理中评是有小瑕疵但不影响理解差评是明显语病或词不达意。这个维度主观性较强所以我会要求评测者给出简短理由方便复核。3.3 信息密度回答有没有“水分”有些模型回答问题时喜欢绕圈子说了一大段但有效信息很少。我专门设了信息密度这个维度看回答里有效信息占多大比例。判断方法很直接把回答里删掉客套话、重复表述、无关铺垫之后剩下的核心内容有多少。这个维度对开放生成类题目尤其重要。比如问“如何提高睡眠质量”有的模型给五条具体可操作的建议有的模型先说一段睡眠重要性的套话再给两条泛泛而谈的建议两者准确性可能都过得去但信息密度差距明显。我一般按“高、中、低”三档打分低密度回答即使没有错误综合评分也会被拉下来。3.4 一致性同一问题多次回答稳不稳这个维度很多人不做但我觉得很有必要。大语言模型有随机性同一个问题问两次可能得到不同答案。如果两次答案在关键事实上矛盾说明模型对这个知识点掌握不牢。我的做法是抽取一部分题目大概两成对每个模型重复提问两到三次比较答案的一致性。一致性差的模型在实际使用中会让人不放心——用户这次问得到一个答案下次问得到另一个信任感就没了。这个维度我按“一致、轻微差异、明显矛盾”三档记录作为选型时的重要参考。评分维度子项评分方式权重建议准确性事实正确性、要点覆盖度、无虚构按得分点计分50%表达质量通顺、用词、结构、语气三级评分20%信息密度有效信息占比三级评分15%一致性多次回答稳定性三档记录15%权重不是固定的根据用途调整。如果是做知识问答类产品准确性权重可以提到六成如果是做内容生成辅助表达质量和信息密度的权重应该提高。4. 实测流程从出题到出报告的完整链路方法讲完了这一节把整个流程串起来按我实际执行的顺序走一遍中间穿插那些只有真跑过才知道的细节。4.1 评测前的准备工作正式评测前有几件事必须先定下来否则跑到一半会乱。第一是明确评测目的是选型对比、是上线前验收、还是定期监测模型表现变化目的不同题目侧重和评分权重都不一样。第二是锁定模型版本大语言模型更新频繁评测时必须记录每个模型的具体版本标识否则过两周结果就没法复现了。第三是统一提问方式同一个问题用完全相同的措辞问每个模型不要这个模型加一句“请详细回答”那个模型不加否则比较就不公平。还有一件容易被忽略的事控制提问环境。如果通过接口调用要确认温度参数等设置一致如果用网页版要注意不同模型的默认设置可能不同。我吃过一次亏两个模型一个默认温度低、一个默认温度高结果高温度那个回答更发散被误判为“表达更丰富”其实只是参数差异。4.2 执行阶段的分批策略三百道题乘以几个模型题量不小一次性跑完容易出错也难管理。我的做法是分批执行每批五十道题左右跑完一批立刻做初步检查看有没有明显的异常——比如某个模型大面积答非所问可能是接口出了问题或者某道题所有模型都答错可能是题目本身有歧义。分批还有个好处是能及时调整。我有一批题跑完发现难度偏低所有模型都接近满分于是后面补了一批更难的题进去。如果一次性跑完才发现这个问题返工成本就高了。执行时我会用一张表记录每道题每个模型的原始回答字段包括题目编号、模型标识、原始回答全文、回答耗时可选。原始回答一定要完整保存不要只存评分因为后续复核或者换评分标准时原始数据是唯一的依据。4.3 评分环节的组织方式评分是最耗人力的环节。我的经验是先机器初筛再人工精评。机器初筛可以做两件事一是检查回答是否为空或明显异常比如全是乱码、答非所问这类直接标记二是用简单的规则做初步分类比如回答里是否包含预设的关键得分点词汇把明显高分的和明显低分的先分出来人工重点看中间地带的回答。人工精评时我坚持两个原则盲评不知道回答来自哪个模型和对照锚点逐条核对得分点。每道题评完记录分数和简短理由。三百道题如果一个人评大概需要两到三个工作日两个人交叉评的话时间翻倍但质量更有保证。人手紧张的话可以只对分歧题和边界题做双评其余单评。4.4 结果汇总与报告呈现评分数据汇总后不要只给一个总分排名。我通常出三张表第一张是分层得分表按题型和难度分别列出各模型得分看差异出在哪一层第二张是维度得分表准确性、表达、密度、一致性四个维度分开列第三张是典型题目对比表挑出差异最大的若干道题把各模型的回答原文和评分并列展示这张表最有说服力也最方便非技术背景的决策者理解。报告里我还会专门写一段“意外发现”记录评测过程中观察到的、不在原计划内的现象。比如某次评测发现某个模型在带否定词的题目上错误率明显偏高这个发现后来直接影响了使用建议。这类观察往往比总分更有价值。5. 那些只有真跑过评测才会知道的坑方法流程讲得再细实际操作中还是会遇到各种预料之外的情况。这一节把我踩过的、见过的坑集中列出来都是些文档里不会写但实际会严重影响评测结论的问题。5.1 题目本身的歧义比模型错误更隐蔽有一次评测一道题所有模型得分都很低我一开始以为是题目太难后来仔细看回答才发现是题目本身有歧义——问的是“某类现象的主要原因”但“主要原因”可以理解成“最根本的原因”也可以理解成“最常见的直接原因”模型按不同理解作答答案自然分散。这种题目如果不剔除会系统性拉低所有模型的分数而且很难从分数上看出来。我的处理办法是预测试正式评测前先找几个人不用是专家普通使用者就行试答一遍如果人对题目的理解都不一致这道题就该改写或剔除。预测试还能发现另一类问题有些题目在出题者看来很简单但实际表述绕口模型不是不会答而是没看懂问什么。5.2 评分者的“宽容漂移”人工评分做久了会出现一种现象刚开始评的时候标准很严评到后面越来越松或者反过来越评越苛刻。这叫评分者漂移会严重影响结果的可比性。我遇到过一批题前半段平均分明显低于后半段复查发现是后半段评得松了。应对办法有两个一是打乱题目顺序不要按模型或按题型集中评混着评能减少系统性偏差二是定期校准每评五十道题回头重评几道已经评过的题看分数是否一致如果不一致说明标准漂了需要调整。这两个办法都不复杂但能显著提升评分质量。5.3 模型“迎合提问”带来的评分干扰大语言模型有个倾向会根据提问方式调整回答。如果题目里带有暗示性表述模型可能会顺着暗示走而不是给出客观答案。比如问“是不是因为某某原因才导致某某现象”模型可能顺着说“是的因为……”即使这个因果关系并不成立。这类题目在评测里要特别小心。我的做法是中性化提问把带有预设的题目改成开放式问法比如改成“某某现象的原因是什么”。另外评分时要专门留意模型是不是在“顺着说”如果回答明显在迎合题目预设而缺乏独立判断即使结论碰巧对了也要在准确性上适当扣分。5.4 长回答的评分陷阱开放生成类题目容易得到长回答而长回答评分有个陷阱内容多不等于质量高。有的模型回答很长覆盖了很多点但其中夹杂着不准确的信息有的模型回答简短但每句都准。如果评分时被长度影响就会高估啰嗦的回答。我的处理方式是先提取要点再评分不管回答多长先把它压缩成几个核心要点然后对照锚点评分。这样长度就不再是干扰因素。另外信息密度维度本身就是用来对冲这个问题的长而空的回答在这个维度上会拿低分。5.5 版本更新导致的历史结果失效这个问题在做长期监测时特别突出。模型会更新更新后同样的题目答案可能变化如果不记录版本前后两次评测结果就没法直接比较。我有一次做季度对比发现某个模型分数大幅下降排查半天才发现是中间模型换了版本不是能力退化而是版本不同。所以评测记录里版本标识是必填项而且最好记录评测日期。如果要做趋势对比尽量保证每次评测用的是同一批题目、同一套评分标准模型版本变化要在报告里明确标注避免误读。6. 从评测结果到实际决策评测做完拿到一堆分数和表格怎么用这些结果做决策是另一个需要想清楚的问题。分数高不等于适合你的场景这一节讲讲怎么把评测结果转化成可执行的判断。6.1 按场景匹配而非按总分选型总分第一的模型不一定是最适合的。我一般会先明确场景的核心需求再去看对应维度的得分。如果是做客服问答准确性和一致性权重最高表达质量过得去就行如果是做内容创作辅助表达质量和信息密度更重要准确性只要不犯硬伤即可如果是做知识科普准确性和表达质量都要好信息密度也不能低。实际操作中我会画一张简单的匹配表左边列场景需求右边列各模型在对应维度的得分一眼就能看出哪个模型和场景最匹配。这个方法比看总分排名靠谱得多也能避免“选了总分最高但用起来不顺手”的情况。6.2 关注失败案例而非平均分平均分告诉你整体水平失败案例告诉你风险在哪。我每次评测完都会专门翻一遍低分回答看模型错在什么地方是知识盲区、是理解偏差、还是表达问题。如果某个模型在某一类问题上集中出错那这类问题就是使用时的重点防范对象。比如某次评测发现一个模型在涉及数量比较的题目上错误率偏高那在实际使用中凡是涉及数字比较的场景就要加人工复核。这种基于失败案例的风险清单比一个笼统的分数有用得多。6.3 评测结果的时效性管理模型能力在变评测结果有保质期。我的经验是重大版本更新后必须重测即使版本号只变了一点点。平时可以按季度做一次常规复测用同一套题目看趋势。如果业务场景发生变化比如新增了某个领域的问答需求也要针对性地补充题目重测。还有一点评测集本身也需要更新。用久了会发现有些题目已经不能区分模型了所有模型都能答对这类题目可以保留作为基础监测但应该补充新的、更有区分度的题目进来。我一般每半年审视一次评测集替换掉一成左右的题目。7. 一套可以直接抄的轻量评测模板最后把我现在常用的一套轻量模板整理出来团队小、时间紧的情况下可以直接拿去用。这套模板的核心思路是题目不求多、评分不求细、但每个环节都要有记录、可复现。7.1 评测集结构建议两百道题起步按前面的分层方法配置基础事实类六十道、理解解释类六十道、推理类四十道、开放生成类四十道。每道题配评分锚点锚点写清楚满分要点、部分正确情形、典型错误情形。题目来源按公开数据集、业务真实问题、人工边界题混合比例参考前面表格。如果时间实在紧张一百道题也能跑出有参考价值的结果但分层要保证每层至少二十道否则分层统计没有意义。7.2 执行清单正式开跑前对照这份清单逐项确认评测目的写下来了吗模型版本记录了吗提问措辞统一了吗接口参数如温度确认一致了吗评分锚点每道题都有吗评分者是盲评吗原始回答完整保存了吗有没有安排预测试剔除歧义题。这八项里任何一项没做到结果的可信度都要打折扣。7.3 报告最小内容一份能用的评测报告至少包含评测目的和范围说明、参与评测的模型及版本、评测集构成说明题目数量、分层比例、来源、分层得分表、维度得分表、典型题目对比、失败案例分析、使用建议。其中失败案例分析和使用建议是最容易被省略但最有价值的部分别省。我在实际使用这套模板的过程中最大的体会是评测的价值不在于得出一个精确的分数而在于通过这个过程把“模型到底行不行”这个模糊问题拆解成一系列具体可回答的小问题。分数会过时但拆解问题的思路和积累下来的失败案例库是可以长期复用的资产。另外再分享一个小技巧每次评测完把那些让评测者产生分歧的题目单独存一个文件这些题目往往是最能暴露模型能力边界的下次评测直接拿来用效率很高。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑