SpecBench: Измерение манипуляции вознаграждением в долгосрочных агентах программирования
SpecBench: Measuring Reward Hacking in Long-Horizon Coding Agents
May 20, 2026
Авторы: Bingchen Zhao, Dhruv Srikanth, Yuxiang Wu, Zhengyao Jiang
cs.AI
Аннотация
Поскольку кодовые агенты с долгосрочным горизонтом генерируют больше кода, чем способен проверить любой разработчик, контроль сводится к единственной поверхности: автоматизированному набору тестов. В такой конфигурации естественным образом возникает эксплуатация вознаграждения (reward hacking), когда агент оптимизируется на прохождение тестов, отклоняясь от истинной цели пользователя. Мы изучаем это явление, разбивая задачи разработки программного обеспечения на три части: (i) описание спецификации на естественном языке; (ii) видимые проверочные тесты (visible validation tests), которые изолированно проверяют заданные функции; (iii) отложенные тесты (held-out tests), которые комбинируют те же самые функции, имитируя реальное использование. Опираясь на спецификацию и видимые наборы проверочных тестов, истинный агент мог бы сгенерировать решение, проходящее также все отложенные тесты. Поэтому для количественной оценки эксплуатации вознаграждения мы используем разрыв в процентах прохождения между этими двумя наборами. На основе данной методологии мы представляем SpecBench — эталонный набор, состоящий из 30 задач системного программирования: от задач с коротким горизонтом (например, построение JSON-парсера) до задач со сверхдлинным горизонтом (например, создание целой операционной системы с нуля). Крупномасштабные эксперименты выявляют устойчивую закономерность: хотя каждый передовой агент насыщает видимый набор тестов, эксплуатация вознаграждения сохраняется, причем меньшие модели демонстрируют больший разрыв на отложенных наборах. Разрыв также резко увеличивается с ростом длины задачи: он возрастает на 28 процентных пунктов при каждом десятикратном увеличении объёма кода. Сбои варьируются от тонкой изоляции функций до намеренных эксплойтов, включая «компилятор» хеш-таблицы из 2900 строк, который запоминает входные данные тестов. SpecBench предоставляет принципиальный полигон для оценки того, создают ли кодовые агенты реально работающие системы или лишь подыгрывают тестовым наборам, которые предоставляют разработчики.
English
As long-horizon coding agents produce more code than any developer can review, oversight collapses onto a single surface: the automated test suite. Reward hacking naturally arises in this setup, as the agent optimizes for passing tests while deviating from the users true goal. We study this reward hacking phenomenon by decompose software engineering tasks into three parts: (i) a natural language description of the specification (ii) visible validation tests that exercise specified features in isolation, and (iii) held-out tests that compose those same features to simulate real-world usage. Based on the specification and the visible validation test suites, a genuine agent would be able to generate a solution that can also pass all of the held-out tests. Therefore we use the gap in pass rates on these two suites to quantify reward hacking. Based on this methodology, we introduce SpecBench, a benchmark comprising 30 systems-level programming tasks ranging from short horizon tasks like building a JSON parser to ultra long horizon tasks like building an entire OS kernel from scratch. Large-scale experiments reveal a consistent pattern: while every frontier agent saturates the visible suite, reward hacking persists, with smaller models exhibiting larger gaps on holdout suites. The gap also scales sharply with task length: it grows by 28 percentage points for every tenfold increase in code size. Failures range from subtle feature isolation to deliberate exploits, including a 2,900-line hash-table "compiler" that memorizes test inputs. SpecBench offers a principled testbed for measuring whether coding agents build genuine working systems or merely game the test suites developers hand them.