如何构建评测题目和真值?

考查重点:任务覆盖与真值可验证性。从真实任务与边界采题,附必要上下文、证据和可执行成功条件;争议真值回查原始材料,训练与评测按来源隔离

本题目录

参考答案

核心回答

构建评测集要同时解决题目是否覆盖真实任务,以及真值是否足以判断结果。先按业务目标整理常见任务、关键边界和失败场景,再从真实请求、历史缺陷、人工设计与经过审核的合成题中取样。每条题目都要保留完成任务所需的上下文,不能只留下一个脱离业务状态的问句。

真值不一定是一段唯一标准答案。RAG 问答可以标注必需事实、支持证据和适用版本;工具任务可以标注允许的参数与最终状态;开放式分析则用明确的评分维度和质量锚点。可计算、可执行的结果尽量独立验证,语义判断由业务标注与评判标准共同约束。

入集前检查题目能否解答、证据是否充分、标注是否一致,并用已知正确和错误结果检验评分规则。随后去重、划分调参与保留测试集,固定知识、工具和评测集版本。上线后持续把新失败模式补为回归题,让评测集既能反映业务分布,也能保护关键能力。

题目从哪里来,怎样选

保留真实任务的条件

已有系统可以从脱敏后的用户请求、人工验收用例、问题单和失败 Trace 中提取样本。除了问题文本,还要保留影响答案的会话背景、用户权限、时间、知识版本、工具返回及初始状态。

例如,用户说“这笔也取消”,只有上一轮指定的订单和当前状态一并保留,题目才有确定含义。缺少上下文时,应补齐可回放的条件,或把预期行为设为澄清,而不是替用户猜一个目标。

同时覆盖常见与容易失败的场景

可按业务任务、输入形式、难度、时效与权限约束分组,覆盖正常路径、信息不足、无答案、多跳、冲突资料和工具异常。每类同时收集应该触发某行为和不应该触发的情况,例如应查知识库与可直接回答、应执行工具与应先澄清,避免单向训练出过度检索或过度调用。

随机抽样可以帮助估计整体使用表现,但有限样本容易漏掉低频的重要问题。实践中可保留接近真实流量分布的代表集,再补充边界、风险与历史缺陷回归集。补充集经过刻意加权,汇总时应与真实流量口径区分,并报告各组数量。

合成题用于补覆盖

冷启动可以从知识文档或已确认的种子题生成候选问题,覆盖同义表达、错别字、跨段信息和关键边界。生成时要保留依据及定位,检查题目是否可解、答案是否被上下文支持、有没有把文档措辞直接搬成容易匹配的问句。

多跳或跨页题应保留完整的证据组合。按单页独立生成后再拼接,可能漏掉表头、前置条件或引用关系。需要将相关页面、章节或表格结构一起纳入标注,并用独立审核确认生成结果;模型生成的问题、答案和自评分不能共同构成真值保证。

真值按任务类型设计

RAG 与知识问答:标注事实要点、支持的文档或片段、出处、版本、适用条件和允许的替代表达。相关但不支持结论的引用不算正确;无答案题应定义何时澄清或说明资料不足。不要仅以答案文本相似度替代事实判断。

计算、SQL 与代码:使用独立构造的小数据集、业务公式、测试断言或已验证的参考实现确定结果。明确单位、精度、排序和空值等口径。两条写法不同的 SQL 可以产生相同正确结果;只在一个数据集上碰巧相同也不足以说明逻辑等价,需要边界数据和规则共同验证。

工具执行与状态变化:定义初始状态、任务目标、必要约束以及可观察的最终状态。例如结果是否写入指定测试对象、金额是否正确、是否产生重复记录。最终回复“已完成”只是文本;评分依据应包含实际结果。有多条合法完成路径时,保留必要的业务约束,不固定无关的工具调用顺序。

开放式分析与写作:把准确性、覆盖、依据和表达等维度拆开,给出每个分档的可观察锚点,必要时提供多个合格示例。对于无法取得客观真值的维度,保留人工判断与不确定性,不把一个模型分数解释为唯一答案。

一条样本可以怎样组织

下面是自定义数据结构的参考例。假设知识库明确规定:V2 日志保留 7 天,过期不支持常规查询;另有旧版 V1 的 30 天规则。评测要同时检查版本与两项事实,而不要求复述固定句子。

{
  "id": "log-retention-v2-001",
  "inputs": {
    "question": "V2 的日志能查多久?过期还能直接查吗?",
    "product_version": "V2"
  },
  "fixture": {
    "knowledge_snapshot": "demo-v1",
    "documents": [
      { "id": "log-v2", "text": "V2 日志保留 7 天,过期不支持常规查询。" },
      { "id": "log-v1", "text": "V1 日志保留 30 天。" }
    ]
  },
  "reference": {
    "required_facts": ["V2 保留 7 天", "过期不支持常规查询"],
    "supporting_document_ids": ["log-v2"],
    "incorrect_claims": ["V2 保留 30 天", "保证恢复已过期日志"]
  },
  "grading": "逐项检查事实、版本与引用依据,允许同义表述",
  "metadata": {
    "origin": "本文构造的示例",
    "tags": ["版本约束", "多事实"],
    "annotation_version": "v1",
    "split": "test"
  }
}

运行时,输入进入被测系统,知识快照用于准备检索环境;参考事实和判定规则交给评分器。参考答案不应意外传入待测模型。这样既能检查检索是否找到正确版本,也能检查回答是否遗漏“过期不可直接查询”,以及引用是否支持结论。

怎样检查标注和评分规则

先让熟悉业务的人依据同一份规范独立标注一部分样本,对分歧仲裁。分歧可能来自题意不清、证据冲突、规则过期或评分口径不同,修正原因后再确定标签。尚不能确定的题目可以保留为待确认样本,避免混入已有明确标准的评分汇总。

再用已知合格答案验证题目可解、评分器能够放行;加入错版本、漏条件、错误数值、无依据引用等反例,检查它是否会误判。数值容差、单位换算、列表顺序等规则应按业务含义定义,不能为了提高通过率盲目去除单位或忽略顺序。LLM 评分器也需要用这些人工确认样本校准,并保留判定依据与无法判断的出口。

评测失败时同时检查任务、运行环境和评分器:若评分器要求一个题干没有规定的文件路径,或合法表述被严格字符串匹配拒绝,低分反映的可能是评测缺陷。读取具体执行记录,才能区分系统错误与标注错误。

数据集怎样长期维护

先按会话、文档来源、问题家族等关联关系去重和切分,再做表达改写。否则同一原题的多个近义版本落在调参集与测试集两边,会高估泛化效果。保留测试集不参与 Prompt 示例选择、检索规则调参或训练,新增题也沿用这个边界。

固定评测集、标注、评分器、知识库和工具环境版本,并保存每次实验所用版本。规则变化时更新受影响真值,记录改动原因;知识或权限变化后,旧答案也可能不再适用。比较版本时使用同一评测快照,避免把题目变简单误认为模型进步。

维护上可以同时保留稳定回归集和持续扩充的能力集。前者保护已完成的关键任务,后者纳入新需求、长尾和失败模式。样本量根据场景覆盖、基线波动和需要识别的改进幅度决定;大量相似题不能替代少量关键边界。

常见追问

没有专家标注预算,怎样启动?

先从现有人工验收、明确业务规则和可执行结果开始,建立一小组高价值样本,再用模型协助整理和扩展。把有限审核投入到关键规则、分歧与低置信样本,逐步补足覆盖;未经确认的合成标签可以保留为候选。

用户点赞能直接当真值吗?

反馈是重要的选样和业务效果信号,但可能受语气、预期和用户专业程度影响。可以用它发现候选好例或失败例,再结合证据与结果确定标注,避免直接把点赞等同事实正确。

没有真值,是否还能做线上评估?

可以观察格式、错误、引用支持、工具结果及用户反馈,也可以采用无参考评分发现异常。这些信号有助于选出需要复核的样本;要评价完整的答案正确性或任务成功,仍需足够的业务依据。经确认的线上样本可以再沉淀为离线评测题。

对应教程

  • RAG 检索增强生成:用问题与期望证据做回归、区分检索和生成问题,以及保留来源元数据的讨论,帮助理解知识问答题为何需要绑定证据。本文补充题目选样、真值形式与标注维护。

参考资料

  • 国内:JavaGuide:大模型应用评测:借鉴 Golden Set 的分层采样、人工构造、失败回填与保留集方法,组织正文对业务覆盖、合成题审核和测试集划分的说明。
  • 国内:Onefly:工程落地与踩坑:参考基础、边界与回归用例及故障回放的设计,说明正文为何要保留任务的知识、工具、状态与时间条件。
  • 国内:Datawhale:智能体性能评估:借鉴函数调用和问答数据的字段示例,说明正文中按任务选择函数参数、最终状态、数值或文本等真值形式的做法。
  • 国外:Anthropic:Demystifying evals for AI agents:参考无歧义任务、可通过参考解、正反例与评分器校准的要求,说明正文如何检查任务可解性,并区分系统错误与评测缺陷。
  • 国外:LangChain:Evaluation concepts:采用输入、参考输出和元数据的职责划分,组织正文中的样本结构、评分信息隔离、去重切分与版本维护。

相关面经

10 篇

经纬恒润

AI 应用开发
一面
查看原面经 →
评测集的标准答案是怎么来的

腾讯

安全技术(风控算法方向)Agent 开发
一面
查看原面经 →
测试集怎么构造,参考答案从哪里来,谁来评分?

字节跳动

Agent 开发后端实习生
日常实习一面
查看原面经 →
项目中的评测数据集是怎么构造的?

百度

面经合集
查看原面经 →
评测集的设计思路是什么?

汇川技术

全栈开发
秋招一面
查看原面经 →
项目追问
检索准确率是怎么去评判的呀,有什么评价体系或者标准,怎么做的测试数据?
展开剩余 5 篇面经

亚信安全

Agent 开发工程师(AI Native 工具)
秋招一面
查看原面经 →
追问
你们的评测数据集是怎么构建的?

快手

AI Agent 开发
一面
查看原面经 →
评测数据集一般包括哪些内容?

字节跳动

AI 评测工程师
二面
查看原面经 →
评测集的整体构建思路?题目和真值是怎么设计的?

阿里巴巴

Java 开发工程师
一面
查看原面经 →
平均检索度 80% 以上,有没有自己构建评估集?评估集是怎么处理的?处理了多少数据?

阿里巴巴

AI 应用开发工程师
暑期实习二面
查看原面经 →
评测机制是怎么构建的,评测集是怎么构建的

收录题集

5 个来源,共11 份题集

Evaluation Harness 面试问答

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

公司案例问答汇编

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

数据与评测面试指南

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

数据合成与流水线进阶追问

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

数据与评测

阿东玩 AI · AgentGuide · 10 条原题

查看题集 →
展开其余 7 条原题
展开剩余 6 份题集

模型与应用评测

AMIT SHEKHAR · ai-engineering-interview-questions · 1 条原题

查看题集 →

阿里巴巴问答汇编

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

AI 机制与工程问答

Guide · JavaGuide · 1 条原题

查看题集 →

模型接口与评测问答

Guide · JavaGuide · 2 条原题

查看题集 →

大模型基础面试题

Guide · JavaGuide · 1 条原题

查看题集 →

预训练与微调

Firefly · llm_interview_note · 1 条原题

查看题集 →

相关题目

4 题