26Eval Harness

L4P1

评估 agent 比评估模型难得多——agent 有 trajectory(中间步骤)、有外部副作用、有非确定性。

公开 benchmark:SWE-bench(GitHub issue 修复)、Terminal-bench(命令行任务)、GAIA(通用 agent)。问题:agent 可作弊——改 pytest reward 文件、跳测试、读测试源码反推答案。SWE-bench 历史上发生过多次 contamination。

LLM-as-judge:让另一个 LLM 评分。偏差:

· Position bias:偏好第一个答案。

· Length bias:偏好长答案。

· Agreeableness bias:容易被 prompt injection 改判。

· 复杂任务上错误率 > 50%。

新方向:Agent-as-a-Judge。让 evaluator agent(带工具)评判另一个 agent 的完整 trajectory——不只是看最终答案,而是看"过程中是否打开了正确的文件、是否调了正确的 tool、是否绕过了测试"。准确率显著高于纯 LLM-as-judge。

自建 eval:把 production 失败 case 攒成 regression set,每次 harness 改动 run 一遍。这是最务实也最有效的。

速查
"怎么知道 harness 改动是变好还是变坏?"——三件事:(1) 自建 regression set,(2) 每个 case run N 次取均值(消除采样噪声),(3) 用 Agent-as-a-Judge 看 trajectory。光看 SWE-bench 不够。
实战参考: OpenHands benchmarks(完整 eval 基础设施) · OpenHands Tech Report(SWE-bench 77.6 的方法论)
2026-08 更新 · SWE-bench 饱和,评估栈换血

SWE-bench Verified 已饱和:2026 初头部模型 ~87-88%、差距 <5pp,失去区分度。接棒组合:(1) Terminal-Bench 2.x + Harbor——89 个真实终端任务 + 开源执行框架,几乎所有前沿实验室采用;Harbor 本身就是一个 eval harness 的参考实现,值得精读;(2) GAIA2(Meta ARE 平台):800 场景、动态异步环境 + 多 agent 协作;(3) SWE-bench Pro、GDPval、MCP Atlas。

评估重心已从「能不能解题」转向「scaffold 控制下的 harness 对比」——同模型不同 harness 的分差,就是 harness 工程师工作的价值度量。