Две причины, почему ИИ-сервисы вроде AlphaCode пока не заменят разработчиков Статьи редакции

Деньги и точные ТЗ, которые никто не пишет.

2 февраля DeepMind, «дочка» Alphabet, представила нейросеть AlphaCode — она создаёт код на уровне «среднего программиста-человека». Пока её навыки применимы только для соревнований, но в будущем система может стать инструментом для полностью автоматизированного программирования, рассчитывают в компании.

Это не первый подобный сервис: в 2021 году Microsoft адаптировала алгоритм GPT-3 для дополнения строчек кода, свои наработки представил «Сбер», а GitHub рассказала, что почти треть нового кода на платформе написана с помощью ИИ-сервиса Copilot.

Но программистам-людям рано переживать за рабочие места, считают опрошенные vc.ru компании-разработчики. Тому есть как минимум две причины.

Технологии пока слишком дороги. Чтобы открыть доступ всем желающим, не хватит мощностей

Сервисы пока что «чудовищно дороги» как в производстве, так и в эксплуатации, говорит тимлид в командах Machine Learning и Data Analytics в JetBrains Никита Поваров.

Стоимость создания GitHub Copilot — сотни миллионов долларов, поскольку для этого нужно много дорогого оборудования, разработка AlphaCode тоже точно обошлась недёшево, рассуждает он.

Эксплуатация по ценам не отстаёт от производства. Например, AlphaCode в процессе создания одной программы генерирует миллионы версий и потребляет столько вычислительных ресурсов, сколько среднему интернет-магазину хватит на месяц работы.

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

Никита Поваров, тимлид в командах Machine Learning и Data Analytics в JetBrains

Пока сервисы могут выполнять лишь шаблонные ТЗ, а задачи разработчиков не сводятся к написанию кода

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

Если посмотреть на примеры работы AlphaCode, опубликованные DeepMind, мы увидим, что постановка задачи во всех успешных случаях там очень подробная. Размер условия задачи в несколько раз больше, чем размер программы.

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

Никита Поваров, тимлид в командах Machine Learning и Data Analytics в JetBrains

ИИ пока может выполнять только формальное, строгое ТЗ, которое должно быть написано близко к языку машины. Но в реальности так никто не делает, соглашается гендиректор студии MetaLamp Роман Штых. Кроме того, задачи разработчика не ограничиваются написанием кода.

Работа разработчика заключается в анализе бизнес-задачи, выборе адекватного ситуации решения, коммуникации с проектной командой, работе с чужим (часто не очень качественным) кодом. Это всё не формальный вид деятельности.

Роман Штых, гендиректор MetaLamp

Процесс оптимизации сейчас затрагивает все сферы, поэтому, например, выросла популярность zero-code инструментов, добавляют в студии Everest. Но всегда стоит учитывать цели и задачи бизнеса.

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

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

0
46 комментариев
Написать комментарий...
TimNZT

Все подряд упорно называют ИИ то, что им не является.

Ответить
Развернуть ветку
Денис Демидов

А некоторые упорные умники продолжают сокрушаться против устоявшегося термина, нравится им против ветра писать.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Денис Демидов

Если человек хочет самообмануться, то ему ничто не помешает.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Денис Демидов

Констатирую

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Денис Демидов

Я против, когда люди мозги не включают, используют голову только, чтобы есть.
Да и некоторые нейронки умнее некоторых людей, отчего термин ИИ вполне справедлив.

Ответить
Развернуть ветку
Фрейм Иванов

Весь совокупный разум человечества является не более, чем нагромождением условий на фундамент ничем не доказанных аксиом.
Так что не надо ля-ля.
Живём в условном мире и дальше будем жить.

Ответить
Развернуть ветку
Фрейм Иванов

Кто может гарантировать, что пи всегда имело именно это значение и всегда и везде так будет?
Никто.
Но все почему-то в этом уверены.

А это всего лишь вопрос соизмеримости.

Ответить
Развернуть ветку
Eugene Safonov

Что такое ии?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Eugene Safonov

На основе чего выводы?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Фрейм Иванов

Это будет интеллектом только в том случае, если в ядре процессора будет присутствовать хотя бы одна клетка с ДНК.
А так как сейчас - нет.
Это псевдоинтеллект.
Костыль для интеллекта.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Фрейм Иванов

Интеллект не создаётся на пустом месте.
Ребёнок - это не лист чистой бумаги.
Это уникальная ОС, отформатированная и наполненная библиотеками данных, накопленных всеми его предками.
Начиная с первых одноклеточных.

То есть, по-простому, по-народному: "Что бог дал. Чем бог наградил."

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
911

с подключением

Ответить
Развернуть ветку
TimNZT

Знаю, банально. Но это ответ на любой вопрос "почему ИИ не может..."

Ответить
Развернуть ветку
Oleg Sheshin

Нужно разделять архитектуру, программирование и разработку (кодинг).
Если будет команда анадитиков и архитектор и инструмент, который позволит эффективно писать код на основе выпускаемых артефактов (например sequence + erd + usecase + spec ну и интеграционная история), то кодер не нужен. Важно понимать что кодер не равно программист. Программист вообще может не знать никакого компьютерного языка программирования (к слову, на заре, в период огромных мейнфреймов и перфокарт было четкое разделение мне программистами и кодерами). Программирование это не про программную разработку, это про логику, процесс и алгоритмы. С этой задачей зачастую может справиться тот же системный аналитик.
Эта история очень похожа на то как внедрялись BPMN движки - многие кричали что это невозможно и все равно процессы придется допиливать разработчикам, но в результате разработчики нужны только для разработки функциональных блоков и подключения к движку. Оркестрация процесса прекрасно разрабатывается аналитиками, а именно эта оркестрация и является программированием.
Ну а фразы о том, что написать код самому - это работает на проектах уровня лендосик для продажи часов casio, на серьезных продуктах фуллстеков нет. Архитектура, аналитика и кодинг должны быть разделены, потому что даже если у вас в команде будет такой самородок, который может это все сделать, времязатраты на это будут просто космические, а нагрузка на человека и уровень его отвественности может вызвать стресс, который приведет к суициду.

Ответить
Развернуть ветку
Chyvakoff

Вот не надо за аналитиков. На днях сделал задачку, работает строго по ТЗ. Пришел аналитик и начал затирать мне как мне надо было делать. Если бы я сделал как он предложил - это было бы море говнокода, лишняя нагрузка, отвалился бы другой функционал и это вообще бы перестало работать.

Ответить
Развернуть ветку
Oleg Sheshin

То что один конкретный специалист дал вам плохую постановку задачи, абсолютно не значит что мое утверждение не верно. Ситуаций когда разработчик пришел и сделал что то, что в дальнейшем невозможно масштабировать, поддерживать и развивать, но при этом он уверен что все сделал по ТЗ, намного больше (я бы сказал что они абсолютно повсеместны) чем ситуаций, когда аналитик что то не так спроектировал. Но никто не говорит что разработчики всегда не правы.

Ответить
Развернуть ветку
Фрейм Иванов

Ура.
Правильно поставил задачу.
Щас стенка на стенку выйдет. 😂

Ответить
Развернуть ветку
VS

Умеете закончить мысль

Ответить
Развернуть ветку
Фрейм Иванов

Да.
Ушёл.
Еврей, наверное... 😂

Ответить
Развернуть ветку
Егор

Ага, а потом получаем кучу багов из-за того что аналитики правят bpmn-схемы. А затем чтобы разобраться бегут к разработчикам.

Ответить
Развернуть ветку
Фрейм Иванов

Великолепно.
Я ещё помню кодеров на бумажные носители. 👏👏👏

Ответить
Развернуть ветку
Денис Демидов

Это также нелепо, как если бы при появлении Фортрана (первого высокоуровневого языка) всего говорили бы о том, что скоро программистов не станет, ведь на Си писать многократно проще, чем на ассемблере.
Максимум что эти технологии дадут, так это повысят производительность разработчиков, как сейчас повышают фреймворки.
Системы станут кратно сложнее и функциональнее, их станет еще больше, отчего потребность в разработчиках только увеличится.

Ответить
Развернуть ветку
Alеx

100 % I agree with you

Ответить
Развернуть ветку
Eugene Safonov

До поры, до времени. Если голобального п...ца не произойдет, то лет через 10-20 вполне может случиться.

Ответить
Развернуть ветку
Денис Демидов

Что случится?
Вы просто не в теме видимо, не замечаете как выросла сложность ПО, как условный DDD уже не плохо бы любому мидлу знать, а не как раньше только архитектору.
Любой ускоритель написания кода просто увеличивает сложность всех систем, так как предыдущую сложность становится дешевле делать и это становится дефакто стандартом, тем кто хочет выделиться, приходится поднимать сложность.
Взять тот же бекенд, раньше это html/css и jquery, а сейчас это полноценное приложение со своими высокоуровневыми языками типа typescript

Ответить
Развернуть ветку
Фрейм Иванов

Браво. ++

Ответить
Развернуть ветку
Андрей Павленко

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

Ответить
Развернуть ветку
Alеx

согласен с замечанием, работы только прибавляется.
+ открываются новые сферы.

Ответить
Развернуть ветку
Фрейм Иванов

Есть уже такая.
Создать эмоции у ИИ.
Чтобы можно было ходить вокруг него с кнутом и пряником, пинать и требовать креатива.

Ответить
Развернуть ветку
Фрейм Иванов

У Хоттабыча было больное место, рычаг воздействия - место обитания.
Главное ТЗ выдать.
Выдал ТЗ и всё.
На поле 22 мяча.
Задача решена.

Ответить
Развернуть ветку
vasya1945

Я пошутить пытался. Про ИИ у меня другое подозрение. Современные сети нужно учить на куче данных, скорее всего там должны быть похожие задачи. Если у программистов есть похожие задачи, то они делают фреймворки. То есть ИИ решают проблему, которую разработчики уже как-то умеют решать. Когда датасаенс выстрелил, было очень много green field проектов, где задача вообще никак не решалась. С кодом, на первый взгляд, не так. Если эта машинка работает не на анализе уже кучи написанного кода, то скорее всего там нужно будет очень строго задавать тз, и тогда включются ваши аргументы.

Ответить
Развернуть ветку
vasya1945

Ну насчет ТЗ. Можно же придумать формальный язык написания ТЗ. С С-подобным синтаксисом и поддержкой ооп и функциональной парадигм.

Ответить
Развернуть ветку
Timur Sobolev

Rational, ARIS, BPMN... Ничего из этого так и не взлетело и не взлётит без кожаных ублюдков с сильными аналитическими и управленческими навыками.

Ответить
Развернуть ветку
Фрейм Иванов

Согласен.

Ответить
Развернуть ветку
Фрейм Иванов

Угу.
И забраться в очередной цикл, который будет крутиться пока вдруг не обнаружится, что ТЗ ветхое и КПД у кодов на нём, как у паровоза.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Alеx

Что, могу сказать - спасибо, успокоили. Значит пока денежка будет исправно капать )))

Ответить
Развернуть ветку
Фрейм Иванов

Никогда.
Никогда разум ИИ не сможет заменить разум человека.
До каких бы высот не подняли скорость и объём памяти.
Проверено.
Лично.

Разум человека сформировался из хаоса окружающего мира и живёт с ним в мире и согласии.
Набит дефектами ( противоречиями, парадоксами, эмоциями, привязанными к ДНК и к динамике текущего состояния собственного тела и окружающего мира.

ИИ может перебирать версии. Но создать новую под влиянием импульса "что-то в животе кольнуло" или внезапно посетившем воспоминании о последнем сексе может только человек.

Для примера: моя тёща, которой 89, и которой не не только интернет, но и интерактив с бытовыми устройствами не заходит, за 15 минут общения с Алисой загнала её в цикл.
Алиса зависла насмерть на фразе "... а я говорю - пойдёмте танцевать."

Ответить
Развернуть ветку
Фрейм Иванов

Как зависла?
Очень просто.
У Алисы стек с вариантами сочувствия на тему "... ножки не ходют, ручки не работают..." закончился, Алиса перешла с соседнему по "ручкам-ножкам" - пойдёмте танцевать.

У Алисы возможности беседы на эту тему ограничены.
У тёщи - нет.

Ответить
Развернуть ветку
43 комментария
Раскрывать всегда