Большинство топов в рейтингах самых востребованных и хорошо оплачиваемых профессий, на освоение которых не нужно тратить 6-8 лет за университетской партой – это били профессии в области IT, в частности, программисты. Если хочешь стабильности и достатка, учи языки программирования. Но последние разработки Microsoft могут поставить под сомнение незаменимость и высокую востребованность программистов в ближайшем будущем.
В прошлом году Microsoft представила предварительную версию новой программы Github Copilot, это нейросетевое ПО – ассистент программиста. Возможности программы довольно конкретны – писать код вместо программиста. Причём ИИ может сделать это даже только по описанию. Как же работает эта программа, и стоит ли напрягаться программистам, а также тем, кто намеревается обучастья этому в ближайшее время?
Технология базируется на одной из нейросетевых моделей обработки обычного естественного языка — GPT-3. Эта нейросетка обучалась на 570 гигабайтах различных текстов (язык пока только английский). Алгоритм способен распознавать смысл написанного, дополнять тексты новыми фрагментами, генерировать новые тексты. На базе этого же алгоритма была создана система машинного обучения OpenAI Codex, которая умеет транслировать обычный язык в программный код. Разработчики из Microsoft совместила эту модель Codex с огромным количеством программного кода из репозиториев свободного программного обеспечения Github. Связка получила название Github Copilot, а механизм работы у неё состоит из трёх режимов:
В комании заявляют, что новый ИИ-ассистент прекрасно генерирует до 50 процентов тела функций, причём в первой же попытке удачно. Профессиональные программисты в35 процентах случаев соглашаются с рекомендациями ИИ-ассистента.
Одним из факторов успешности алгоритма Github Copilot – это то, что он создавался на репозиториях открытого кода свободного ПО. Внутри такого кода программисты всегда оставляют подробные комментарии, описание того, что делает каждый кусок кода. Это момент существенно ускорил обучение нейросети, при этом обучение получилось максимально качественным.
Если поставить Github Copilot задачу (естественным языком на английском) написания кода функции запроса валютных курсов или курсов криптовалют на языке программирования Python, то ИИ-ассистент быстро выдаст уже готовое решение, найденное другими программистами, то есть сам алгоритм не изучал конкретно язык программирования, но он владеет сотнями тысяч и миллионами примеров использования этого языка.
С одной стороны, репозитории открытого программного обучения, это хорошо, однако полная опора не них может нести в себе риски и уязвимости. Не очень опытные программисты зачастую в коде и комментариях оставляют свои приватные данные, вплоть до паролей от баз данных и API-ключей. Кроме того, ИИ может выдать решение, которое уже прилично устарело, либо использовать древнюю программную библиотеку.
На самом деле, ничего страшного не произошло и не произойдёт. Это ассистент программиста, программа так и названа самим разработчиком – Microsoft. На данном этапе Copilot может выдавать далеко не всегда корректные решения, они могут быть полностью ошибочными или неоптимальными. Так что, только человек (программист) будет иметь право последнего слова. Кроме того, сложные задачи ИИ не способна решать. По сути, алгоритм избавляет программиста тупо лишний раз гуглить нужные библиотеки и существующие алгоритмы.
Со временем, процесс программирования, скорее всего, будет состоять из грамотно составленного технического задания. А остальную рутину будет выполнять алгоритм. А вот чтобы составить грамотное ТЗ, необходимо очень хорошо знать предмет. Так что, учёбу на программиста бросать не стоит.
Поделись мнением о статье "Нейросетевой ассистент Microsoft Github Copilot оставит без работы программистов?", предложи свой вариант в комментариях! Спасибо!