Суть проблемы: шум вместо сигнала
OpenAI опубликовала результаты детального аудита SWE-Bench Pro — одного из самых авторитетных бенчмарков для оценки способностей AI-агентов к написанию кода. Исследование показало, что в наборе данных из 731 задачи публичного сплита около 30% являются «сломанными». Это означает, что результаты тестирования на этом датасете могут не отражать реальные способности моделей, а лишь их умение обходить некорректные тесты или угадывать скрытые требования.
Проблема не нова: ранее OpenAI уже выявляла фундаментальные изъяны в SWE-Bench Verified, но SWE-Bench Pro позиционировался как улучшенная версия с более реалистичными задачами. Однако аудит показал, что автоматизированная генерация задач из истории pull-реквестов вносит системные ошибки.
Методология: как искали ошибки
Для проверки качества данных OpenAI использовала гибридный подход, сочетающий автоматизированные пайплайны и человеческий контроль:
- Автоматический фильтр: проанализировал инструкции, попытки моделей решить задачу и логи сбоев. Он выявил 286 потенциально проблемных задач.
- Агентный аудит: модели на базе Codex (investigator agents) проводили глубокую проверку, запуская тесты и анализируя код репозиториев. Они отметили 200 задач (27,4%) как сломанные.
- Человеческая аннотация: группа из пяти опытных инженеров независимо оценила каждую задачу. Они выявили 249 проблемных задач (34,1%).
Люди-эксперты были более строги, чем агенты, особенно в выявлении задач с низким покрытием тестами. Согласие между методами составило 74%.
Четыре типа критических ошибок
Аудит классифицировал проблемы на четыре основные категории. Самая распространенная — слишком строгие тесты, которые требуют конкретной реализации, не указанной в задании. Также часто встречались недостаточно специфицированные промпты (скрытые требования) и вводящие в заблуждение инструкции.
| Категория ошибки | Описание проблемы | Пример из отчета |
|---|---|---|
| Overly strict tests | Тесты требуют конкретных деталей реализации, не указанных в промпте, отбрасывая функционально верные решения. | Тесты ожидали два ведущих пробела в строке, хотя в примере промпта был указан один пробел. Модель, следовавшая инструкции, проходила тест. |
| Underspecified prompts | Промпт опускает требования, которые скрытые тесты проверяют и которые нельзя логически вывести. | Недостаточно информации для однозначной реализации функции. |
| Low-coverage tests | Тесты проверяют слишком мало аспектов, позволяя проходить неполным или неверным исправлениям. | Человеческие эксперты выявили это в 9,4% задач (против 4,1% у агентов). |
| Misleading prompt | Инструкция направляет модель к неверному поведению или противоречит требованиям тестов. | Противоречие между описанием задачи и ожидаемым результатом. |
Почему это важно для индустрии
Результаты SWE-Bench Pro использовались для сравнения моделей и принятия решений в рамках OpenAI Preparedness Framework. Если 30% данных некорректны, то рост производительности моделей с 23,3% до 80,3% за восемь месяцев может быть частично объяснен не улучшением алгоритмов, а адаптацией к шумным данным.
OpenAI рекомендует разработчикам моделей тщательно проверять результаты на этом бенчмарке. Проблема усугубляется тем, что задачи генерируются автоматически из истории разработки ПО, где тесты часто пишутся для проверки конкретного коммита, а не как универсальный стандарт решения задачи. Это делает бенчмарки «сигналом с шумом», а не чистым измерением способностей AI.
Источник: OpenAI ↗
