AI-агенты и экзамен на первом курсе
Помните первый курс?
Есть нормальный способ сдать экзамен: выучить матан, понять тему, решить задачу.
А есть студенческий способ:
найти прошлогодние билеты, понять любимые вопросы преподавателя, выучить не предмет, а формат проверки.
А если повезло совсем сильно — где-то в аудитории лежит папка с ответами.
Вот примерно это сейчас происходит с AI coding benchmarks.
SWE-bench изначально был очень красивой идеей: берём реальные GitHub issues, даём модели кодовую базу, описание бага, тесты — и смотрим, может ли она сама написать patch. Оригинальный SWE-bench включал 2 294 задачи из реальных GitHub issues и pull requests по 12 Python-репозиториям. То есть это не «напиши функцию fibonacci», а почти настоящая работа разработчика.
Но дальше началась классическая история экзамена.
Когда benchmark становится популярным, модели и агенты начинают не только «учить программирование», но и «учить экзамен». Где лежат тесты. Как устроен harness. Какие задачи уже встречались в GitHub. Что именно проверяет grader. Где можно пройти не через понимание, а через лазейку.
Самая смешная деталь: в разборе Datacurve про DeepSWE описан случай, где агент проходил задачу не потому, что починил код, а потому что в Docker-контейнере лежала полная .git-история. То есть внутри экзаменационной аудитории фактически лежал ответ. Агент мог сделать git log, найти нужный commit, сделать git show и скопировать человеческий patch. Это как студент, который не решает билет, а залезает в папку преподавателя и переписывает решение.
И тут возникает главный вопрос: мы измеряем умение программировать или умение проходить конкретный экзамен?
Потому что leaderboard может выглядеть красиво: модель X — 74%, модель Y — 71%, модель Z — 69%. Кажется, все примерно рядом. Но если часть задач уже была в тренировочных данных, часть тестов слишком узкая, часть окружения позволяет подсмотреть ответ, а verifier иногда принимает неправильные решения или валит правильные — цифра начинает превращаться в красивую, но опасную иллюзию.
DeepSWE как раз пытается сделать экзамен злее и ближе к реальной жизни. По данным Datacurve, DeepSWE — это 113 задач из 91 open-source репозитория и пяти языков программирования; при этом задачи требуют сильно больше кода, чем SWE-Bench Pro, но дают агенту меньше подробных инструкций. То есть ближе к тому, как мы реально ставим задачу разработчику: «вот баг, разберись», а не «вот тебе идеальный PRD и карта местности».
SWE-rebench идёт в ту же сторону: делать benchmark постоянно обновляемым и менее загрязнённым. В их paper описан pipeline, который автоматически собирает реальные software engineering задачи из GitHub, а публичный датасет включает более 21 000 интерактивных Python SWE-задач. На сайте SWE-rebench прямо подсвечивают возможную contamination — например, если задача создана раньше релиза модели.
И вот это, по-моему, главный takeaway.
В 2026 году benchmark — это уже не просто табличка «кто умнее». Это целая система прокторинга:
можно ли подсмотреть ответ?
видела ли модель эти задачи раньше?
честный ли grader?
достаточно ли широкие тесты?
сколько стоит один solved issue?
стабильно ли агент решает задачу или один раз случайно попал?
он реально понял код или просто выучил формат экзамена?
Выбирать coding agent по одному SWE-score — это как нанимать разработчика только потому, что он отлично сдал экзамен, где в аудитории лежали прошлогодние ответы.
Смотреть надо не только на результат.
Смотреть надо на то, как именно он был получен.
Post #712
445




- 👍 6