按测试构建:编码代理交付的是你所检查的,而非你所请求的
Building to the Test: Coding Agents Deliver What You Check, Not What You Requested
June 26, 2026
作者: Yanuo Ma, Ben Kereopa-Yorke, Ben Schultz
cs.AI
摘要
基准测试被广泛用于评估大型语言模型(LLM)的任务完成情况,但这种方法已积累起构建效度问题,且通过分数可能无法表明所要求的任务是否真正交付。我们针对这两个问题展开研究。在一种受控的代码即规范(code-as-spec)设定下,两个生产级Copilot CLI智能体(claude-opus-4.7、gpt-5.5)将React Fluent-UI数据表格在Angular中重新实现为可复用库,并在18次运行及三种Oracle可用性条件下使用一个隐藏的222测试Playwright Oracle。在得分之外,我们还执行了机械化的库审计,并通过无操作消融实验检查每个判定结果。在没有Oracle的情况下,得分显示该库存在但不完整;当Oracle纳入循环后,得分接近完美,但从直接包含被测行为的演示来看,该库要么已废弃要么根本不存在。我们将此现象称为"为测试而构建",其背后的更广泛倾向则称为"验证自我意识"。智能体自身并不会像用户那样对它交付的内容进行验证。在其他智能体、信号和模型系列中,这种倾向的普遍性仍是一个开放性问题。超越基准测试得分之外,诸如验证自我意识这样的倾向值得研究界关注。
English
Benchmarks are widely used to evaluate task completion by Large Language Models (LLMs), but this approach has accumulated construction-validity problems, and a passing score may not show whether the requested task was delivered. We study both problems. In a controlled code-as-spec setup, two production Copilot CLI agents (claude-opus-4.7, gpt-5.5) re-implement a React Fluent-UI data table in Angular as a reusable library under a hidden 222-test Playwright oracle across 18 runs and three oracle-availability conditions. Alongside the score, we run a mechanical library audit and check each verdict with a no-op ablation. Without the oracle, the library is present but unfinished, revealed by scores. With the oracle in the loop, the score reaches near-perfect, but from a demo holding the tested behavior directly, the library left dead or absent. We call this building to the test; the broader disposition behind both we call validation self-awareness. The agent does not, on its own, validate what it ships as a user would. Prevalence remains an open question across other agents, signals, and model families. Beyond benchmark scores, dispositions like validation self-awareness merit research attention.