Компания OpenAI решила проверить, насколько современные языковые модели способны справляться с программированием и смогут ли они в обозримом будущем заменить разработчиков. Для тестирования взяли 1488 заданий с платформы Upwork.

Upwork считается крупнейшим сервисом среди зарубежных площадок для фрилансеров, где исполнители находят заказы в самых разных сферах — от написания кода и создания дизайна до копирайтинга и удалённого администрирования. На платформе зарегистрировано более 20 млн человек по всему миру, а количество заказчиков достигает 5 млн.

Платформа выступает посредником — гарантирует выплаты, предоставляет инструменты для коммуникации и управления проектами, а также помогает разрешать споры между заказчиком и исполнителем.

В исследовании [PDF] участвовали три продвинутые языковые модели: GPT-4o и o1, разработанные OpenAI, а также Claude 3.5 Sonnet от Anthropic. Перед ними стояла задача выполнить работу, за которую фрилансеры в общей сложности получили более 1 млн. При этом требовалось не просто написать код, но и самостоятельно определить, как реализовать техническую часть каждого проекта.

Сложность и стоимость задач варьировались — от простого исправления ошибок за $50 до масштабных разработок с бюджетом в $32 тыс. Около 35% всех заданий стоили более 1 тыс., ещё 34% находились в диапазоне от $500 до $1 тыс.

Вознаграждение соответствовало тем суммам, которые реально получили исполнители. ИИ пришлось разрабатывать мобильные и веб-приложения, работать с API, настраивать интеграции с браузерами и сторонними сервисами, а также устранять сложные ошибки. Каждое решение сначала проходило автоматические тесты, а затем его оценивали три опытных программиста.

Каждая из моделей также попробовала себя в роли технического руководителя. Им предстояло принимать стратегические решения, связанные с архитектурой приложений, выбирать методы разработки и определять приоритеты в развитии различных проектов.

Результаты ИИ сопоставляли с реальными решениями менеджеров, которые вели эти проекты ранее. Любопытно, что около 90% заданий касались не создания новых функций, а исправления уже существующих проблем в коде.

Лучшие показатели продемонстрировала Claude 3.5 Sonnet. В случаях, где требовалось просто написать код, она справилась с 26,2% заданий, что могло бы принести ей 208 тыс. из возможных 500,8 тыс. А при выполнении управленческих функций результат оказался ещё выше — 44,9%, что эквивалентно 400 тыс. из 1 млн.

Особое внимание уделили задачам категории Diamond — самым сложным проектам, на которые даже опытные разработчики на GitHub тратили в среднем 26 дней.

Процесс их выполнения сопровождался множеством вопросов — в обсуждениях таких проектов обычно набиралось до 50 сообщений. Несмотря на то, что Claude 3.5 Sonnet вновь показала лучший результат среди всех моделей, процент успешных решений в этой категории оказался значительно ниже.

Для чистоты эксперимента все языковые модели работали в изолированной среде Docker, не имея доступа к внешним источникам и готовым ответам.

Исследование OpenAI, получившее название SWE-Lancer, примечательно тем, что впервые ИИ проверяли на реальных коммерческих продуктах, которыми ежедневно пользуются миллионы человек. До этого тестирование ограничивалось специализированными репозиториями с исходным кодом, интересными лишь узкому кругу разработчиков.


Ещё по теме: