Не так давно Microsoft выкатил в публичный доступ ИИ Copilot. Он обучен на базе GitHub и помогает разработчикам дополнять код в зависимости от контекста. С нуля пока ничего не создает, но некоторые функции может написать целиком без участия программиста. И возникает вопрос — а не близок ли тот день, когда искусственный интеллект полностью заменит разработчиков, и, например, заставит их переквалифицироваться в бизнес-аналитиков. Мы побеседовали со специалистами по ИИ и Data Science, чтобы оценить реальные перспективы искусственного интеллекта. А еще спросили разработчиков, героев наших прошлых статей, что они думают об ИИ и не боятся ли потерять работу из-за технического прогресса. Приходите в комментарии и тоже делитесь своим мнением. Вообще в разработке много задач, автоматизированных и без искусственного интеллекта. Те же библиотеки или фреймворки для frontend-разработки — уже автоматизация, и никакого ИИ тут не нужно.  lead ML-инженер и хозяин канала про нейросети «Что касается применения именно ИИ, или точнее Machine Learning, его уже давно используют в статистическом анализе кода. Плюс раньше пытались сделать умный автокомплит с помощью нейросетей, например, Deep TabNine. Они тогда не получались, но нынешний GitHub Copilot по факту отличается от них только количеством данных и ресурсов, потраченных на обучение. Пока искусственный интеллект лучше всего справляется с задачами, которые уже кто-то решал. Если в обучающей выборке есть нужные фрагменты кода — он их воспроизведет. Например, по этой причине Copilot так хорошо решает задачи из leetcode. Но в настоящей разработке таких задач не слишком много». aka scitator «Сейчас AI, как бы это смешно ни звучало, шире всего используется именно для автоматизации разработки AI. Если мы корректно ставим задачу машинного обучения, выбираем датасеты и метрики, математически формулируем функциональные ограничения, то сама задача поиска лучшего решения — это задача оптимизации, и мы решаем ее методами машинного обучения. Хорошие пример тут — Neural Architecture Search и AutoML, инструменты для автоматизации перебора NN-архитектур под конкретные задачи. Google таким способом „придумал“ архитектуру EfficientNet, которая адаптирована под вычисления на мобильных девайсах. У нас в Catalyst.Team тоже есть простая команда catalyst-dl tune, которая позволяет автоматизировать перебор архитектур и их гиперпараметров. То есть с точки зрения автоматизации разработка ML-решений движется семимильными шагами. И ML-разработчикам, которые думают о своей работе как о переборе моделей, стоит задуматься — их ИИ вполне может заменить». Сейчас разработчики склонны рассматривать ИИ не как своего врага или замену, а скорее как помощника. И многие рутинные задачи из своей работы они бы с радостью отдали на автоматизацию. Copilot уже помогает не искать готовые решения в сети. Но есть и другие задачи, с которыми ИИ потенциально мог бы справиться. aka scitator «Я все жду, когда автоматизируют тестирование интерфейсов, как web/mobile, так и чатовых. Первичная проверка интерфейсов мне не кажется сложной задачей, которая меняется каждый раз, так что ее должно быть просто оптимизировать. Но я здесь не эксперт и подозреваю, что важнее проверять бизнес-логику под интерфейсами, и тут задачи уже могут сильно варьироваться. А вот проверка чат-интерфейсов — это интересное направление. Например, ИИ могут проверять, что все ответы носят нейтральный характер, или что диалоги проходят по заказанному сценарию. Я лично хотел бы автоматизировать тесты и написание документации. Было бы здорово, если бы Copilot развивался в этом направлении — например, по сигнатурам методов предлагал, как их тестировать. Написание кода — меньшая из проблем, а вот тесты и документация — это сложно и часто рутинно». Senior Software Engineer в Uber, постоянный герой наших статей «Я жду, когда ИИ научится назначать задачи саппорта в нужные команды/проекты. Чтобы от техподдержки приходили баг репорты, а ИИ сам пинговал нужную команду и назначал им задачу». Вокруг Copilot уже возникла небольшая истерия — якобы благодаря нему некоторых разработчиков можно уволить, потому что работы для них теперь нет. Но это кажется преувеличенным. Вот что о «полной замене людей» думают специалисты по ИИ: aka scitator «Когда люди видят успехи очередного AI, который „почти как человек“, они сразу бросаются менять и оптимизировать текущие процессы. Но есть нюанс — для реального использования ИИ вместо человека нужна примерно 100% точность, а пока это недостижимо. Особенно для задач, который носят последовательный характер — генерации текста или кода. Здесь малейшая ошибка в начале приводит к значительному отклонению в конце. Плюс важно понимать, что задача разработчика — не просто написать код. Куда больше времени занимает понимание задачи, перевод ее в техническую постановку. И для этого нужен человеческий опыт и умение понимать друг друга. С этим люди-то не всегда справляются, что уж говорить об AI. Все нынешние решения по автоматизации — это красивые обертки вокруг стандартных инструментов, и в ближайшее время это вряд ли изменится. Некоторые боятся, что ИИ заменит неопытных разработчиков, джуниоров. Но на самом деле понятие „джуниор“ и набор требуемых скилов для него все время меняется, специализируется, пока область работы становится сложнее. Часть навыков джуна просто отомрут, а часть наоборот, добавятся. Однако базовые вещи всегда будут с нами: математика, линейная алгебра, статистика, C++ ​». lead ML-инженер и хозяин канала про нейросети «ИИ однозначно изменит требования к разработчикам. Способность заучивать алгоритмы и решать leetcode-стайл задачи перестанет быть актуальной. На первый план выйдут задачи, связанные с проектированием высокоуровневой архитектуры и взаимодействия компонентов. Это то, что сейчас называют system design. Но о полной замене программистов на ИИ говорить однозначно рано. Даже если это и случится — это будет означать технологическую сингулярность. В этом случае потеря работы — меньшее, о чем нам предстоит беспокоиться». Разработчики, которых мы опросили, тоже не видят в ИИ угрозы для себя. Никто не боится, что искусственный интеллект отберет у них работу, а на перспективы развития смотрят довольно скептически: веб-разработчик из нашей истории о карьерном росте «Сейчас ИИ помогает „по аналогии“ решать уже сделанные задачи, и обучать его надо на базе исходников. Но индустрия программирования устроена так, что для большинства бизнес-условий нужно писать что-то специфическое, и исходников для этого нет. Типовой код в нашей индустрии принято выносить в библиотеки. И там, где ИИ мог бы помочь, его помощь обычно не нужна — мы просто используем эти библиотеки. Ассистенты по типу Copilot помогают на среднем уровне — там, где функция еще не внесена в библиотеку, но уже достаточно популярна. Но я считаю это небольшим улучшением, а не „заменой программиста на ИИ“. По сути программист переводит результаты работы аналитика (или анализирует сам) в формальное логически непротиворечивое описание. И вот эта работа с произвольным текстом задания, понимание контекста, погружение в логические противоречивости — с этим ИИ в обозримом будущем не справится. Может быть, постепенно программисты станут кем-то вроде аналитиков, то есть будут общаться с источником требований и переводить их в описание, понятное ИИ.  А полная замена программистов — это уже общий искусственный интеллект, понимание причин и следствий мира. Это точно не горизонт ближайших десятилетий. К этому моменту, пожалуй, большая часть человеческих профессий будет автоматизирована. И само понятие работы будет восприниматься как-то по-другому». Senior Software Engineer в Uber, постоянный герой наших статей «Для того, чтобы ИИ смог написать программу, кто-то должен сказать ИИ, что должно быть сделано, а это и есть программа.​ На самом деле в долгосрочной перспективе всё возможно, но это не произойдет так быстро, чтобы мы успели перестать быть нужными. ИИ нуждается в тренировке, калибровке и проверке прежде, чем сможет работать самостоятельно. Это уже не говоря о том, что пока что никто не написал/не обучил ИИ до какого-никакого приличного уровня. Возможно, со временем меньше людей станет обучаться программированию. Ближайшая аналогия — самоуправляемые автомобили. Вряд ли они прямо сейчас станут единственным доступным транспортом — кто-то не захочет пересаживаться, кто-то не сможет их себе позволить, на каких-то дорогах они не могут ездить. А значит, процесс перехода займет некоторое время, и профессия водителя изживет себя медленно. Люди успеют приспособиться». python-разработчик из нашей истории о Таллине «Я считаю, что достижимый максимум — это симбиоз программиста и AI. Программисты будут придумывать, что сделать, создавать заготовки, а ИИ — оптимизировать их и писать по шаблонам. Пока мы уже на пороге явления, когда наращивать вычислительные мощности не получится. Уже делают микросхемы по техпроцессу 2нм. А на таких размерах включаются квантовые эффекты. Если соберут рабочий квантовый компьютер, возможно, что-то и получится, но только при условии колоссальных затрат на поддержание его работы. На написание мелких программ его не пустят. Поэтому пока компьютеры не сравнятся по сложности и мощности с мозгом, без работы мы не останемся». Закончим уже баянистым комиксом, который видели, наверное, все: Он в целом довольно точно отражает суть. Даже если когда-нибудь ИИ сможет полноценно писать код с нуля, ему нужно будет ставить задачи. И люди, которые будут ставить задачи, останутся нужны. Может быть, это будут не программисты в нынешнем понимании, но вырастут они скорее всего именно из разработчиков. P.S. Собираем для вас классные вакансии в телеграм-боте: на удаленке или с релокейтом в США и Европу, и с открытыми зарплатными вилками. Добавляйте себе @g_jobbot.