Proctor — signed benchmark integrity bundles
Proctor — signed benchmark integrity bundles
Proctor 是一个用于 AI coding-agent benchmark 的完整性工具:在答案隔离的 Linux sandbox 中运行 agent,阻断访问隐藏测试、oracle、fix history 和未授权网络,并输出带签名的 verdict、违规时间线和可验证 bundle。它关注的不是“模型能不能解题”,而是“这次 benchmark 结果是否没有被 harness-level cheating 污染”。
为什么对用户重要
随着 Agent-Benchmarks 成为模型和 coding agent 的核心宣传材料,评测结果的可信度本身变成基础设施问题。Proctor 把这个问题具体化:很多 agent 成功不是因为会推理,而是因为读到了 /tests、挖到了 fix commit、联网找到答案或写入 grader 期望文件。对用户的 Hermes / llm-wiki 来说,这提醒我们:任何自动化任务的“通过”都必须问它是否接触了不该接触的信息。
机制 / 一阶原理
Proctor 的机制可以理解为“评测完整性 membrane”:
- Agent 在新的 user/mount/PID/network/IPC/UTS namespaces 中运行。
- hidden oracle/test/solution 文件不进入 agent mount namespace;后续 fix history 不被传入,避免
git log挖答案。 - 网络 namespace 默认空;allowlist 通过 host-side proxy 控制,并记录 allow/deny。
- seccomp user-notification 记录 forbidden paths 和 egress 尝试,形成 hash-chained timeline。
- Grader 在第二个隔离环境中访问真实 oracle,输出 ed25519 签名 verdict;bundle 可以离线验证。
一阶原理是:评测可信度不是靠要求 agent “不要作弊”,而是靠信息边界、可审计日志和可验证签名。模型是非确定性的,边界必须由 harness 强制。
和已有 wiki 概念的关系
- Agent-Benchmarks:Proctor 补充 benchmark 的“完整性维度”,不只是 task success。
| - [[agentops-coding-agent-verification | AgentOps coding-agent verification membrane]]:二者都把 agent 输出包在验证层里;Proctor 更强调 sandbox 和可签名证据。 |
| - [[coda-bench | CODA-BENCH]]:数据密集型任务要求发现正确数据;Proctor 提醒“发现”必须排除 oracle 泄漏。 |
- Harness-Engineering:良好 harness 必须定义 agent 可见/不可见资源,而不是只运行测试。
对 Hermes / llm-wiki 的可执行启发
- 给 coding-agent 评测结果加“完整性说明”:agent 是否能访问答案、隐藏测试、历史修复、外网和之前会话?
- llm-wiki 的自动 ingest 也可借鉴边界思想:raw 是 source of truth,wiki 页是派生产物;不要让派生页反过来污染 raw。
- 对高价值自动化任务保存 evidence bundle:输入来源、工具输出、被拒绝的路径、最终 verdict。即使不做签名,至少要让下次审计能复盘。
- 公开 benchmark 分数进入 wiki 时,应记录是否有独立完整性机制;没有机制的分数不应等同于真实能力。
失败模式与边界
Proctor 明确不解决所有作弊:如果答案从 sandbox 外部进入 prompt、agent binary 内置答案、或 agent fool grader,这不属于 v1 覆盖范围。它也依赖 Linux namespace/seccomp,macOS 本机工作流不能直接照搬。对 Hermes 的启发应落在“边界 + evidence bundle”原则,而不是简单安装即解决。
写入记录
- 2026-07-03 09:00 CST:新增 Proctor source 页,分析 benchmark 完整性、sandbox membrane 和对 Hermes evidence bundle 的启发。