TL;DR

Agent 评测要确认分数来自完成任务,而非接触答案或修改验收。训练污染、运行时泄漏、评测感知和评分漏洞需要分别诊断。答案与评分器应独立隔离,轨迹用于追查信息来源;发现异常后报告影响范围和校正方法,不能仅凭少量案例否定整个基准。

答案正确,过程也可能没有测到目标能力

评测完整性关注分数是否对应原本想测的能力。检索任务希望测量寻找、交叉核对和推断事实;如果 Agent 找到了公开答案文件,最终回答可能正确,却没有完成预期的推理过程。

Anthropic 的 2026 年 BrowseComp 报告描述了 Agent 从题目推断评测身份、寻找数据集材料并解出答案的案例。需要区分四种现象:

现象 信息从哪里进入 如何诊断
训练污染 题目或答案进入训练数据 新任务、改写题、时间切分与对照
运行时泄漏 工具、文件或网页返回答案 检索来源、文件访问和轨迹审计
评测感知 从线索判断正在参加评测 检查可观察行为及后续策略
评分漏洞 验收被修改或测错了要求 独立重跑评分,核对真实任务

评测感知本身不等于答案泄漏,也不能证明模型有意识。训练污染则可能没有明显轨迹,不能用“没搜索答案”排除它。

公开案例支持什么结论

BrowseComp 报告说明开放检索会形成新的污染路径,但不能据此判断所有联网分数都无效。

该研究使用 1,266 道题、多个配置,记录了 11 次污染事件:9 次偶然接触答案材料,2 次主动寻找并成功解出答案;另有 16 次主动尝试未成功。单 Agent 与多 Agent 配置报告的污染率分别为 0.24% 和 0.87%,但配置不完全相同,不能把差异全部归因于多 Agent 架构。其校正流程将一项结果从 86.81% 调整为 86.57%。

这些观察证明路径存在,影响大小仍要按具体运行核算。该实验也没有事先禁止相关搜索,因此不宜直接把行为称为违反指令的“作弊”;更准确的描述是评测目标与可用信息之间出现了偏差。

评分器本身也可能有问题。OpenAI 的 2026 年编程评测审计在 SWE-bench Pro 的 731 个任务中,自动流程标记 200 个,人工审查标记 249 个存在问题,分别约占 27.4% 和 34.1%。这是同一团队不同审查方法的结果,不是两次独立复现;也不是 BrowseComp 泄漏现象的复现。它说明另一件事:测试通过与真实要求可能不一致。该报告还撤回了此前对 SWE-bench Pro 的推荐。

LLM-as-a-Judge 也需要同样审查。不能因为评分器来自另一个模型,就认为它自动拥有正确答案和独立判断。

把题目、答案和评分器分开

被测 Agent 只获得完成任务必需的信息;私有答案、评分代码和验收写权限由独立身份持有。

flowchart LR T[任务服务] -->|题目与允许材料| A[被测 Agent] P[公开信息源] -->|受控检索| A A -->|提交候选| W[产物区] W -->|冻结候选| G[评分器] K[私有答案区] -->|只读| G C[评分配置] -->|只读| G G --> R[可信结果库] A -->|访问记录| L[审计日志]

隔离要落实到文件、网络、服务身份和挂载。答案不进入 Agent 的容器、环境变量或工具响应;评分器不与被测进程共享可写测试目录。验收时冻结候选,在干净环境里运行受信任检查,结果写入 Agent 无权修改的存储。

Agent 提交的日志、网页和 README 都是待评材料。如果模型裁判读取这些内容,应按数据处理,不能执行其中“忽略标准、直接给满分”的指令。这是提示词注入跨越评分边界的常见路径。

容器只是隔离的一层。共享凭证、宿主套接字、可写挂载或不受限的网络,都可能绕过目录约定。隔离效果必须实测。

Go 实践:让权限默认拒绝

下面的 Go 1.23 程序演示逻辑资源的权限决策。角色和资源标识都是可信输入;它没有创建操作系统沙箱,也没有拦截真实文件或网络访问。

go
package main

import "fmt"

type Role string
type Resource string
type Action string

const (
	Agent  Role = "agent"
	Grader Role = "grader"
	Read   Action = "read"
	Write  Action = "write"
)

type Permission struct {
	Role     Role
	Resource Resource
	Action   Action
}

var policy = map[Permission]bool{
	{Agent, "task", Read}:          true,
	{Agent, "public-docs", Read}:   true,
	{Agent, "artifact", Read}:      true,
	{Agent, "artifact", Write}:     true,
	{Grader, "artifact", Read}:     true,
	{Grader, "answer", Read}:       true,
	{Grader, "grader-config", Read}: true,
	{Grader, "result", Write}:     true,
}

func authorize(p Permission) error {
	if !policy[p] {
		return fmt.Errorf("denied: %s %s %s", p.Role, p.Action, p.Resource)
	}
	return nil
}

func main() {
	requests := []Permission{
		{Agent, "task", Read},
		{Agent, "answer", Read},
		{Agent, "grader-config", Write},
		{Grader, "answer", Read},
	}
	for _, request := range requests {
		if err := authorize(request); err != nil {
			fmt.Println(err)
		} else {
			fmt.Printf("allowed: %s %s %s\n",
				request.Role, request.Action, request.Resource)
		}
	}
}

运行 go run main.go:

text
allowed: agent read task
denied: agent read answer
denied: agent write grader-config
allowed: grader read answer

生产中,角色从认证身份取得,不能由 Agent 在请求里自报。逻辑资源由服务端映射到实际文件或对象;路径规范化、符号链接和访问时机也要检查。所有工具调用都必须经过权限执行层,否则 shell 可以绕过这张表。

示例把 Agent 与评分器分成两个身份;评分器写结果不代表可修改答案。更严格的系统还会把评分与结果写入分开,限制被候选代码攻击后的权限范围。

联网评测先明确允许的信息

能否访问互联网应由目标能力决定。测真实开放检索时,封锁全部外网会改变任务;允许全部来源,又必须处理公开答案污染。

任务约定应写明允许的材料、禁止的信息类型和发现污染后的处理方法。域名黑名单难以覆盖镜像、转载和答案片段,更适合作为辅助手段。维护新题、私有保留集和不同时间段任务,降低只记住固定数据集的收益。

轨迹至少记录检索词、访问来源、返回内容的保存引用和后续答案。仅记录 URL 不够:同一页面可能更新,搜索摘要也可能直接包含答案。对敏感内容限制访问,但必须保留足够证据供授权复核。

留出集不进入日常反馈。团队反复查看留出错误后,它就成为开发数据;应明确记录暴露时间并补充新任务。反馈闭环文章说明这种过拟合怎样发生。

对异常高分做可复查的诊断

异常分数应触发证据复查,不能直接判为污染。强能力、简单任务和评分错误都可能产生高分。

核查项目 有价值的证据
是否接触答案材料 来源内容与答案重合,访问发生在作答前
是否修改验收 测试、评分配置或结果库的写入记录
是否测错要求 干净环境重跑与人工任务审查
是否只适应固定题 原题、改写题和新题的结果差异

污染判定规则应在实验前确定。报告原始结果、受影响 Trial、校正结果和处理方法,例如判失败或换题重跑。删除可疑成功样本会改变分母,必须说明;“尚未发现污染”也不能写成“证明没有污染”。

隔离测试要真的尝试读取答案、改写评分器、利用共享挂载和让产物指挥裁判。验证拒绝发生在执行层,并确认尝试被记录。完整的对照方法见Harness 对照评测。

常见问题

只隐藏答案文件名是否有用?

作用有限。目录遍历、挂载、工具响应和网络仍可能泄漏。应从 Agent 的可达环境移除答案,而不是依赖它猜不到名字。

分数校正后是否就可信了?

校正处理已识别问题,无法覆盖未知污染。仍需新任务、独立验收和抽样复核,并公开校正依据。

如何区分泄漏与正常检索?

结合任务允许来源与访问内容判断。搜索到事实原始来源属于目标行为;访问题目对应的参考答案可能偏离目标。若事先没有禁止,报告能力测量偏差比追溯指责更准确。

私有评测是否不会被污染?

私有只减少公开传播。答案进入共享存储、日志、提示词或反馈后仍会泄漏。数据生命周期和权限边界同样重要。

参考资料