先明确评测想回答什么

第一次做评测时,我很自然地先收集了很多问题。后来才发现,如果没有明确决策目标,题目越多,结果反而越难解释。

我把目标改成一句更具体的话:这次评测要帮助我判断,新的检索策略是否更容易找到能回答问题的资料。

一个好评测集,首先要对应一个清楚的产品或工程决策。

样本要覆盖真实差异

只放简单问题,会让分数很好看,却无法暴露边界情况。我最终按问题类型分层采样:直接事实、跨段归纳、含糊表达,以及资料里没有答案的问题。

不要只看一个总分

总分适合做快速比较,但无法解释为什么变化。除了命中率,我也会保留每个样本的检索片段和人工备注。

Python · 示例代码
result = evaluate(dataset, retriever)
for case in result.failed_cases:
    print(case.question, case.passages)

这一步很慢,却最有价值。读失败样本,往往比盯着一个平均分更容易找到下一步该改什么。