Две причины, почему ИИ-сервисы вроде 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. Но всегда стоит учитывать цели и задачи бизнеса.

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

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

16
46 комментариев

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

9
Ответить

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

1
Ответить

Что такое ии?

Ответить

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

Ответить

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

8
Ответить

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

2
Ответить

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

2
Ответить