别再自欺欺人:Agent基准测试的六大陷阱与诚实之道

Agent基准测试的六大结构性陷阱及可操作的诚实纪律。
本文基于Harrison Security博客的技术分析,指出大多数Agent基准测试并非故意造假,而是结构性自欺:运行被污染的基准并接受令人满意的高分。文章按破坏力排序拆解六大陷阱:数据污染(测试集进入训练数据)、测试漂移(固定装置或提示变化导致分数不可比)、评判者只看Agent自我声明而非验证结果、缺少阴性对照导致一切通过、简单案例拉高平均分掩盖困难失败、不可复现导致数字无法辩护。针对每个陷阱给出纪律:使用模型不可能见过的确定性或私有留出任务集、锁定并版本化一切、评判者基于已验证事实推理、设计应失败的输入与噪声底线、按清晰/对抗/模糊拆分报告、固定种子保存原始输出与完整追踪。最后强调诚实在于方法而非预算,并列出信任一个基准数字前必须回答的六个问题。

大多数Agent基准测试并非故意撒谎,而是结构性的自欺。没人会坐下来伪造数字,但他们会运行一个已被污染的基准,欣然接受那个令人满意的高分。问题在于,这种“谎言”是系统性且舒适的,因为它恰好是你想要的答案。
本文基于Harrison Security博客的技术分析,拆解Agent基准测试中常见的六大陷阱,并给出可操作的纪律,帮你获得值得信赖的评估结果。
六大陷阱:如何识别与防范
下表系统性地总结了这些陷阱及其应对策略:
| 陷阱 | 如何潜入 | 破解纪律 |
|---|---|---|
| 模型见过测试 | 从互联网抓取的任务已在训练数据中 | 确定性或留出任务集,永不公开,永不记录 |
| 测试发生漂移 | 固定装置或提示在运行间变化,分数不可比 | 固定、版本化的任务集;锁定一切 |
| 评判者只看声明 | 评分者阅读Agent的自我报告而非结果 | 评判者基于已验证事实推理,用规则当测谎仪 |
| 一切都是通过 | 未包含本应失败的输入 | 阴性对照与噪声底线 |
| 简单案例撑起平均分 | 清晰任务拉高均值;困难任务才是失败所在 | 按难度划分:清晰、对抗、模糊 |
| 你无法重跑 | 没有随机种子、没有保存响应、没有追踪 | 可复现性:固定种子、保存原始输出、捕获追踪 |
接下来,我们按破坏力从大到小的顺序逐一剖析。
污染:测试集在训练数据中
这是最严重且隐形的问题。如果你评分用的任务模型可能读过,分数就会因记忆而虚高,而你无法知道虚高了多少。见过答案的模型看起来总是很聪明。
唯一的防御是使用模型不可能见过的任务集。通过固定种子从规则生成,确保可证明是合成的且可复现。或者留出一个从未接触公开互联网、从未被粘贴到可能被记录的提示中的私有集。一旦评测任务公开,它们就有了保质期,之后你测量的只是回忆能力。
测试漂移:分数无法比较
如果任务集、提示、固定装置或模型版本在运行间发生变化,两个分数测量的就不是同一件事,“从61分提高到68分”这样的说法毫无意义。锁定一切:任务集版本化、提示版本化、记录模型ID而非“最新版”。无法冻结的基准就无法比较,而比较恰恰是基准测试的全部意义。
评判者只看声明,不看结果
如果模型或评判者通过阅读生产者对自己行为的描述来打分,那么一个完全做错事的运行也可能完美通过。评分者必须查看实际产物,基于独立验证的事实进行推理,并在关键证据为假时拥有否决权。这引出一个独立话题——LLM-as-Judge本质上是一份推理合同,而非简单分数,基准测试继承了它的所有失败模式。
LLM-as-Judge 的推理合同指的是:当把大语言模型用作评分者时,不应只把它当成一个输出分数的黑盒,而应要求它输出完整的推理链——先陈述它看到了哪些事实、依据什么规则进行判断、最终得出什么结论。这与传统基准测试中调用一个确定性评分函数有本质区别:确定性函数的行为由代码保证,而 LLM 评判者的行为由提示词、上下文和模型版本共同决定,任何一处变化都可能让同一个答案得到不同分数。因此,把 LLM-as-Judge 视为一份合同,意味着你必须明确约定:可接受的事实来源是什么、哪些证据属于伪造、无效时必须否决。这份合同不写清楚,评判者的失败模式——顺从、谄媚、被自我报告误导——就会直接继承到基准分数里。
全部通过,因为没有设计失败
这是几乎无人拥有的纪律,却能捕获最多有缺陷的指标:阴性对照。
在测试中故意放入系统应该失败或低分的输入。如果指标通过了它们,说明指标坏了,而非系统好。统计版本是噪声底线:在相同测试上运行一个平凡或随机基线,看它得多少分。如果一个什么都不做的基线得到40分,那么你的Agent的55分只是15分的信号,而非55分。
**噪声底线(noise floor)** 是衡量基准自身“免费分”的统计工具。具体做法是:用完全随机、平凡或无操作的策略在同一个任务集上跑一遍,看它能拿到多少分。这个分数就是任何系统在没有真正能力的情况下也能获得的下限。例如,一个二分类任务如果正负样本比例是 6:4,那么一个永远输出“正”的无脑基线就能拿到 60 分。此时一个 Agent 拿到 65 分,真实信号只有 5 分,而不是 65 分。噪声底线还能反映测试框架本身的随机波动:如果重采样多次,基线分数在 58 到 62 之间跳动,那么小于这个带宽的“提升”就不可信。没有噪声底线的基准,等于没有减去重力的自由落体测量。
# 关键问题从来不是“我的Agent得了多少分”
# 而是“我的Agent比一个不可能完成任务的基线高了多少分”
signal = agent_score - baseline_score # 基线 = 随机/平凡/无操作
# 如果信号很小,你的基准测的是所有系统免费获得的东西
没有阴性对照的基准无法告诉你这个数字是能力还是重力。
简单案例撑起平均分
单一平均分掩盖了自身的构成。清晰任务简单、数量多,拉高均值的同时,真正重要的困难案例却在下面悄悄失败。按困难原因划分集合:清晰、对抗、模糊。分别报告。清晰数字告诉你的都是已知信息;对抗和模糊数字才是真正的评审。一个模型可以拿出漂亮的平均分,却在关键处毫无用处,而你在均值中永远看不到。
清晰、对抗、模糊这三类难度划分对应的是任务对模型的不同挑战来源。清晰任务指目标明确、输入规范、有唯一正确答案的任务,模型通常靠模式匹配就能解决;对抗任务指输入中故意包含误导性信息、诱导性前提或与目标冲突的干扰项,考验模型是否能抵抗表面线索;模糊任务指目标本身不唯一、需要澄清或依赖外部上下文的任务,考验模型在信息不完整时是否仍能做出合理决策。单一平均分之所以掩盖问题,是因为清晰任务往往占多数且容易通过,会把对抗和模糊任务的失败“平均掉”。分别报告这三类分数,才能看出模型是在真正推理,还是在背诵和猜测。
无法重跑:不可复现的陷阱
没有固定种子、没有保存原始输出、没有捕获追踪,你做的不是基准测试,只是一次体验。可复现性不是锦上添花。保存种子、保存每个原始响应、捕获Agent行为的完整追踪而非仅最终答案,因为追踪中你能看到它跳过验证、重试三次或执行了不该执行的操作。无法复现的数字无法辩护,也无法调试。
诚实版本的样貌
把所有纪律放在一起,形状很简单。

这并非理论空谈。最近一次校准测试约1200个决策仅花费五美分:一个模型不可能见过的确定性任务集、一个重采样的噪声底线作为阴性对照、按难度拆分的分数、每个原始响应都被保存以便任何人重跑。核心观点是:诚实在于方法,不在于预算。它消耗的是纪律,不是金钱。
确定性任务集是指通过固定随机种子和规则生成、不依赖人工临场编写、也不从公开互联网抓取的任务集合。它的关键属性是可证明为合成:任何人用同样的种子和规则都能生成完全相同的任务,因此模型不可能在训练数据中见过它们。与之相对的是“抓取式任务集”,虽然方便,但一旦公开就进入训练语料,分数会因记忆而虚高。确定性任务集的另一优势是可控难度:你可以系统性地调整生成参数来增加对抗性或模糊性,而不是依赖人工标注。代价是任务可能偏离真实场景,因此实践中常与私有留出集配合使用——前者保证可复现和低污染,后者保证生态效度。
一句话总结
基准测试数字是一个声明,而大多数Agent基准是你尚未获得权利去做的声明。在信任一个数字之前,问这六个问题:模型可能见过它吗?测试冻结了吗?评判者检查的是结果还是声明?什么本应失败?哪些案例真正撑起了分数?你能重跑吗?答案好的地方,数字就有意义;答案不好的地方,你只是测量了测试框架却称之为模型,然后发布了一个用数字讲述的故事。
相关推荐

农业革命另一面:疾病如何帮农民击败狩猎采集者
历史学者Kyle Harper解读农业社会如何击败狩猎采集者:不仅靠单位土地能量提取效率带来的人口增长优势,还依靠定居生活催生的病原体在扩张中造成额外死亡率,形成双重替代机制。

渐进式披露让Agent提速2.3倍:上下文工程新思路
Hacker News讨论提出用渐进式披露优化AI Agent上下文,实现2.3倍提速。本文解析上下文膨胀的三大性能损耗,介绍分层工具目录、按需检索、历史压缩等实践路径及落地注意事项。
Perplexity Computer 登陆 Mac:本地运行模型与智能体
Perplexity Computer 登陆 Mac:本地运行模型与智能体
Perplexity Computer 现可在 Mac 上完全本地运行,模型与智能体均在设备端执行,支持原生 Mac 应用和本地文件,敏感数据无需上传云端,已在 Perplexity Mac 应用上线。