直接回答
建 100~300 条「提问→标准答案」的评测集当门禁,并且把 recall@k(想找的内容有没有被召回)和 answer_acc(最终答案对不对)分开统计,不能合成一个分——否则你分不清错在检索还是错在生成。
评测集是门禁,不是可选动作
判断知识库答得准不准,不能靠感觉,也不能靠抽几条看看。要靠一套固定的评测集。没有它,每改一次切分、换一次模型,都是盲改,而且没人敢说这次到底变好还是变坏。
评测集怎么做
建 100~300 条「提问→标准答案」。两条硬要求:
- 提问用真实用户的原话,不要自己编漂亮问题。编出来的问题往往比真人问得规范,测不出真实难度。
- 标准答案要写清楚「答到什么程度算对」,它是判定标准,不是唯一措辞。
评审时按标准答案核对要点,而不是逐字比对文字。同一个意思换种说法算不算对,要在标准答案里提前讲清楚,否则不同人评出来的分数对不上。
两个指标必须分开统计
- recall@k:想找的内容,有没有被检索回来。这是检索层的指标。
- answer_acc:最终答案对不对。这是生成层的指标。
两者不能合成一个分。原因很简单:答错可能错在检索(没找对内容),也可能错在生成(找对了但答偏了)。合成一个分,你根本不知道该修哪里,只能靠猜。
怎么用
每次改动前跑一遍基线,改动后再跑一遍,对比两个指标:
| 动作 | 主要影响 |
|---|---|
| 改切分 / 改索引 | recall@k |
| 换生成模型 / 改提示词 | answer_acc |
把它变成门禁
从条数上看,100~300 条不算多,关键是覆盖高频问题和易错场景。上线新内容、政策变更、出现新的高频问题时,把对应的问答补进评测集。评测集不是上线前做一次就完事,它是每次变更的准入条件——过不了就不发。这样知识库才可能越用越准。
别拿评测集当装饰
有的团队把评测集做成了汇报材料:条数漂亮,问题却是内部人编的。这种评测集上线后不会给你任何信号。判断它有没有用只有一条标准——改动之后,你愿不愿意按它的结果决定发还是不发。如果答案是否定的,那它就不是门禁,只是文档。
关键数据
| 评测集规模 | 100~300 条「提问→标准答案」 |
| 检索指标 | recall@k — 想找的内容有没有被召回 |
| 生成指标 | answer_acc — 最终答案对不对 |
| 统计原则 | 两个指标分开统计,不合成一个分 |
| 用法 | 改动前后各跑一遍,做基线对比 |
依据来源
- 我方 2026 年交付实测
- RAGFlow 官方文档
常见追问
评测集要多少条才够?
100~300 条即可起步。关键是覆盖高频问题和易错场景,而不是追求数量。
为什么不能只看一个综合分?
综合分会掩盖问题来源。分开看 recall@k 和 answer_acc,才能定位是检索层还是生成层出错。
评测集要维护吗?
要。上线新内容、政策变更、出现新的高频问题时,把对应的问答补进评测集,它就一直是有效的门禁。