Бенчмарк MirrorCode, разработанный вместе с METR, проверяет ИИ-модели на длинных задачах программирования. Вместо точечных фиксов багов или мелких функций модели должны переписать целую программу с нуля, не видя исходного кода. При этом сгенерированное решение обязано совпасть с оригиналом по выводу на end-to-end тестах, включая скрытые. Всего в MirrorCode 25 программ: утилиты Unix, инструменты для сериализации данных и запросов, биоинформатика, интерпретаторы, статический анализ, криптография и сжатие.
Существующие бенчмарки обычно ограничивают расходы на инференс суммой в $1–10. У MirrorCode бюджет серьёзнее: одна из самых больших задач стоила $2600 за один прогон, и ИИ работал над ней 19 дней без участия человека. Такие задачи сложны даже для людей: инженер без ИИ, по оценке авторов, потратил бы на самые сложные задачи месяцы. Но задачи честные — в них достаточно информации для решения.
Дизайн бенчмарка защищён от читерства. Модели работают в песочнице без интернета, без доступа к оригинальному коду и без возможности обойти задачу. End-to-end тесты, которые модели не видят при разработке, не позволяют просто заучить ответы.
Некоторые длинные задачи ИИ уже решает. Например, Claude Opus 4.7 полностью переписал gotree — биоинформатический инструментарий примерно на 16 000 строк Go и с более чем 40 командами. Человеку без ИИ на такое понадобилось бы от 2 до 17 недель. Opus 4.7 справился за 14 часов, потратив $251.
Есть оговорка про загрязнение данных. Поскольку задачи MirrorCode строятся на открытых программах, модели могли видеть исходники при обучении. Это способно завысить результаты. Но ИИ успешно справился с программами, которые прошли проверку на запоминание, и провалил те, где следы запоминания находили. Значит, результаты вряд ли определяются памятью. Авторы ожидают, что измеренные способности переносятся и на незнакомый код.
Полностью MirrorCode пока не решён. На лидерборде публикуется показатель MirrorCode (ML, +Private, 2L): это 15 программ из категорий Medium и Large, Small не учитывается. Каждую программу запускают на двух языках (обычно Go и Ada), получается 30 задач. Каждую задачу прогоняют трижды с бюджетом 10 миллиардов токенов и семью днями на попытку.
Авторы выложили в открытый доступ свой скэффолд и 22 из 25 программ MirrorCode — это 132 задачи на шести языках программирования. Оставшиеся три программы придержали как приватный тестовый набор. Бенчмарк делали вместе с METR при поддержке гранта от METR. Авторы — Tom Adamczewski, David Owen и David Rein; дополнительные программы добавили Florian Brand, Giles Edkins, Allen Hart и Daniel O'Connell, а Rasmus Faber-Espensen занимался инфраструктурой.