Возможности и ограничения языковых моделей в разработке программного обеспечения

Крупные языковые модели (LLM) внесли значительные изменения в сферу разработки программного обеспечения, однако компании должны тщательно обдумать, стоит ли полностью заменять человеческих инженеров на такие модели. Несмотря на заявление генерального директора OpenAI Сэма Альтмана о том, что модели способны заменить «низкоуровневых» инженеров, реальность оказывается сложнее.

Тестирование моделей на реальных задачах

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

Для эксперимента были выбраны три модели: GPT-4o и o1 от OpenAI, а также Claude-3.5 Sonnet от Anthropic. Им предложили 1 488 задач с платформы Upwork, общая стоимость которых составила $1 миллион. Задачи разделили на две категории:

  1. Индивидуальные задачи — исправление ошибок и реализация функций.
  2. Управленческие задачи — модели выступали в роли менеджеров, выбирая лучшие предложения для решения проблем.

Результаты показали, что даже самые передовые модели не справляются с реальными задачами на уровне, достаточном для полной замены человека.

Как создавался тест SWE-Lancer

Исследователи вместе с сотней профессиональных разработчиков отобрали задачи с Upwork и, не изменяя их формулировок, поместили в Docker-контейнер. Это позволило создать набор данных SWE-Lancer, изолированный от интернета и GitHub, чтобы исключить возможность использования моделями внешних ресурсов.

Задачи включали:

  • Исправление ошибок (от 15 минут до недели).
  • Реализацию новых функций.
  • Анализ предложений фрилансеров и вакансий.

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

Результаты тестирования

Ни одна из моделей не смогла заработать полный 1 миллион. Лучший результат показала Claude 3.5 Sonnet, заработавшая 208 050 и решившая 26,2% индивидуальных задач. Однако большинство её решений оказались ошибочными, что подчеркивает необходимость повышения надёжности.

Ключевые выводы

  • Скорость vs. Качество. Модели быстро находят источник проблемы, но часто не понимают её глубинных причин.
  • Ограниченное понимание. Модели редко анализируют, как проблема затрагивает несколько компонентов или файлов.
  • Управленческие задачи. Модели справляются лучше, когда требуется оценить технические предложения.

Будущее языковых моделей в разработке

Хотя модели способны решать некоторые «низкоуровневые» задачи, они пока не могут полностью заменить инженеров. Они тратят время, допускают ошибки и не всегда находят корень проблемы. Однако исследователи отмечают, что ситуация может измениться в ближайшем будущем.

Таблица: Сравнение результатов моделей

МодельЗаработано ($)Решено задач (%)
Claude 3.5 Sonnet208,05026.2
o1150,00020.1
GPT-4o120,00018.5

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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

14 − десять =

Прокрутить вверх