Я не верил, что искусственный интеллект станет будущим программирования. И оказался прав.
С появлением искусственного интеллекта (ИИ) мы узнали, что эта технология может помочь программистам стать более эффективными. Однако мы также услышали множество предостережений о том, что ИИ может привести к потере работы. Однако, как показывают многочисленные исследования, ИИ пока не приносит такой пользы в разработке программного обеспечения, как ожидалось. Давайте разберемся, почему.
Как и многие другие, я несколько разочарован в искусственном интеллекте. Качество генерируемых текстов оставляет желать лучшего, проверка фактов тоже не впечатляет, а создание изображений не вызывает восторга. Однако, что делают компании? Они просто увеличивают размер своих моделей! Это похоже на физику элементарных частиц: если что-то не работает, пробуем снова, но уже с большим масштабом.
Однако есть одна сфера, где, как мне рассказывали, ИИ действительно может быть полезен — это написание компьютерного кода. Однако недавно было опубликовано несколько исследований на эту тему, и новости оказались не самыми приятными. Давайте посмотрим, что было выявлено.
В последние годы я слышал, как многие инженеры-программисты говорили, что будущее разработки программного обеспечения за программированием на английском языке. Молодым людям не нужно будет учиться программировать, и теперь все станут разработчиками программного обеспечения.
Когда я впервые услышал об этом, я был настроен скептически. Я думаю о компьютерном коде как о математике, а не как о разговорном языке. В коде есть строгие правила и точные определения, и если вы объедините много кода и загрузите его в большую языковую модель, это все равно что предоставить изысканный рецепт сети быстрого питания. Вы знаете, что результат будет жареным во фритюре.
Это происходит потому, что такие модели усредняют наше использование слов, каждое из которых имеет немного отличающееся значение. В результате они создают общий шаблон, который объединяет всех нас и приводит к посредственным результатам.
Мне всегда казалось странным, что можно преобразовать такой многогранный и неоднозначный язык, как человеческий, в код.
Но я не инженер-программист! И я увидел несколько демонстраций, которые, честно говоря, произвели на меня впечатление. Я также лично знаю людей, которые сказали мне, что ChatGPT экономит им кучу времени за счет генерации кода на Python, который они могут просто скопировать и вставить. И у меня нет причин сомневаться в них. Так что это было для меня настоящим "тревожным звоночком".
Всего несколько недель назад группа ученых-компьютерщиков опубликовала результаты исследования, в котором "оценивалось влияние генеративного ИИ на производительность разработчиков программного обеспечения". Они провели три случайных контролируемых испытания, в том числе одно в Microsoft.
Вкратце, они говорят, что использование генеративного искусственного интеллекта в разработке программного обеспечения повысило производительность на 26 процентов.
Но когда вы смотрите на статью более внимательно, оказывается, что под производительностью они подразумевают количество "запросов на извлечение". Это звучит как неприятный разговор со стоматологом, но это означает, что изменение или дополнение к коду готово для "включения" в основной проект.
Причина, по которой они упоминают эту задачу в аннотации, заключается в том, что, как они объясняют в статье, "только влияние на количество запросов на извлечение является статистически значимым при обычных уровнях значимости". Если вы разделите это по младшему и старшему уровням, то на старшем уровне практически нет достижений. И это один из лучших выводов.
Другое недавнее исследование от Uplevel проследило за 800 разработчиками с января по апрель этого года. Они не обнаружили существенных изменений в эффективности, но количество ошибок увеличилось на 41 процент.
В другом исследовании GitClear говорится, что наиболее заметное изменение, которое они увидели, — это резкое увеличение операций копирования и вставки и большее количество ошибок в коде, которые позже придется исправлять.
И более раннее исследование показало, что программисты, использующие ИИ, пишут менее безопасный код в основном потому, что они слишком доверяют ИИ. Звучит не так уж здорово.
Итак, что это значит сейчас? Вероятно, есть некоторые задачи кодирования, для которых хороши большие языковые модели, но, похоже, они встречаются намного реже, чем мы хотели и надеялись. Текущие модели полезны для введения новичков в курс дела, и это хорошо.
Но помимо этого, они в основном предоставляют продвинутые шаблоны, которые необходимо корректировать, часто настолько сильно, что опытным программистам лучше просто делать это самим. Это не меняет правила игры, как это было задумано.
Одним из наиболее вероятных приложений, вероятно, является дизайн веб-сайтов со стандартными элементами. Этот тип приложений уже существует. Просто для вашего развлечения.
Этот «механический» результат использования генеративного ИИ в программировании лишь подтверждает сомнения, которые были высказаны в некоторых отчетах ранее в этом году. В этих отчетах говорилось, что экономическое влияние ИИ в ближайшем будущем было сильно преувеличено, а значит, большинство компаний, занимающихся ИИ, сейчас переоценены. Эти новые исследования вряд ли успокоят инвесторов.
Я всё ещё считаю, что в ближайшем будущем возможности искусственного интеллекта (ИИ) значительно возрастут, и мы можем достичь интеллекта человеческого уровня довольно быстро. Однако на данный момент использование ИИ похоже на применение бензопилы для разрезания масла. Она выполняет свою работу, но кто-то после такой работы должен наводить порядок.
✯ РАДИО 24\7 - https://myradio24.com/astrax 📡
✯ Telegram - https://t.me/radioastrax
✯ Космический ДАЙДЖЕСТ - https://dzen.ru/radioastrax
✯ Подкаст "Ночь на Астре" - https://radioastrax.mave.digital/