Проведенный в июне 2022 года опрос на платформе Stack Overflow показал, что 77 % программистов положительно оценивают перспективы искусственного интеллекта в разработке, а 70 % уже применяют «роботов-ассистентов» либо планируют их освоить во второй половине года. Масштабное исследование GitHub только подтвердило тенденцию: в США почти 92 % разработчиков пользуются инструментами ИИ-кодинга либо на работе, либо дома при создании авторских проектов. При этом 70% опрошенных уверены, что владение «ботами» — это их конкурентное преимущество на рынке труда.
Сегодня мы разберемся, как искусственный интеллект стал обыденностью для разработчиков, и какие перспективы это открывает перед IT-компаниями.
Зачем программистам искусственный интеллект
2022 году оказался по-настоящему прорывным в сфере искусственного интеллекта. Это связано, в первую очередь, с выходом в свет Midjourney и ChatGPT — генеративных нейросетей, способных придумать любой текст или картинку по вашему запросу. О них слышали даже те, кто мало интересуется сферой высоких технологий. Но также летом 2022-го произошло другое событие с не менее впечатляющим потенциалом — 21 июня из предварительного тестирования вышел проект Copilot, совместный продукт GitHub и OpenAI для разработчиков. Copilot позволяет автоматизировать написание кода — настоящая находка для тех, кто пишет на Python, JavaScript, TypeScript, Ruby и Go.
На конференции под председательством GitHub, проведенной в июне 2023-го, аналитики компании представили свой прогноз: при повсеместном применении искусственного интеллекта в разработке мировой ВВП может вырасти на $1,5 трлн. Для справки, в 2022 году мировой ВВП составлял ориентировочно $101,5 трлн. На этом же мероприятии озвучены и другие интересные цифры:
ИИ ускоряет разработку на 55 %;
ИИ-ассистенты повышают производительность разработчиков на 30 %;
20 000+ компаний уже используют ИИ-решения в своем бизнесе;
генеративные инструменты способны добавить в мировую экономику мощность, эквивалентную 15 млн разработчиков.
Получается, первая причина использования ассистентов на базе искусственного интеллекта — повышение скорости написания кода. Вторая касается психологии программирования. Тот же GitHub приводит следующие факты:
41% разработчиков считают, что ИИ помогает им справляться с эмоциональным выгоранием на работе;
81% утверждают, что ИИ положительно влияет на сплоченность команды;
75% чувствуют себя увереннее, когда могут опереться на ботов и роботов.
Чаще всего на работе программисты вынуждены писать код или искать уязвимости в системе безопасности. Если эту область поручить ИИ, у специалистов останется больше времени на получение обратной связи от пользователей и изучение новых навыков. Хорошо от этого всем: разработчики избавляются от рутины, которая часто становится причиной выгорания, а пользователи получают более качественный программный продукт, учитывающий их мнение. Бизнес, в свою очередь, сокращает расходы.
Области применения ИИ
Сравнение технических требований. Достаточно загрузить в базу ассистента технические требования и поручить проверку документации — ИИ вычислит расхождения в цифрах, оформлении, единицах измерения и других параметрах.
Прототипирование. ИИ создает сайты «под ключ». По сути, нужно ответить на несколько наводящих вопросов, составить краткое описание и наблюдать за роботом. По такому принципу работают Wix ADI и Leia. Есть и другое направление — улучшение существуюдего проекта (дизайна, безопасности, мобильной версии и т. д.). Здесь приведем в пример российский uKit AI.
Кодинг. Нейросети пишут код по текстовому описанию. Как показывают практика, только 30% написанного таким образом кода принимаются программистами без существенных исправлений. Но это уже большой шаг вперед.
Перевод из одного языка программирвоания в другой. В перспективе адаптация ПО под разные платформы может занимать считанные часы и дни — все благодаря ИИ. Более того, нейросеть способна «умнеть» в процессе работы, пополняя базу данных, и изучать совершенно новые для нее языки.
Анализ ошибок. Даже текстовый бот ChatGPT уже умеет искать ошибки в небольших кусках кода и объяснять «свою точку зрения». Что говорить о нейросетях, созданных специально для выявления неисправностей в программе и обученных на миллиардах ошибочных строк.
Тестирование. Тестировщикам теперь приходится конкурировать с искусственным интеллектом. Конечно, нейросети пока не способны полностью заменить человека, его интуицию и опыт. Но автоматизировать некоторые этапы проверки ПО — вполне.
Управление проектами. Интересно, что впервые о применении ИИ в управлении проектами заговорили еще в 1987 году. Тогда ученые NASA изучали, насколько это реально. В современных условиях технических возможностей больше. Искусственный интеллект налаживает связь между руководителем и исполнителями, ищет дополнительные данные, оптимизирует бюджет, предоставляет шаблоны документации, просчитывает риски и дает советы.
5 полезных нейросетей для разработчиков
Приведем примеры нейросетей, которые помогают именно разработчикам программного обеспечения:
Copilot. Лидер рынка, с которого мы начинали статью. По заверениям создателей, Copilot подходит для автодополнения кода, поиска шаблонов, генерации с нуля по текстовому описанию, перевода из одного языка программирования в другой и других задач. Но код все равно приходится перепроверять. Стоимость — $10 в месяц, оплатить с российских карт не получится.
Tabnine. Нейросеть обучается вашей манере написания кода и генерирует строки в похожем стиле. Подходит для простых функций, с более сложными уже возникают проблемы. Большой плюс — поддержка всех популярных IDE и редакторов кода. Стоимость — $12 в месяц для Pro-версии (есть бесплатная, но она сильно урезана).
GigaChat, Kandinsky, GigaCode. GigaChat — универсальная нейросетевая модель от «Сбера». Изначально задумывалась как текстовый бот, но впоследствии GigaChat научился генерировать картинки и код. У инструмента есть два неоспоримых преимущества — полноценная работа на русском языке и бесплатный формат. Для работы над визуалом есть Kandinsky — мощная платформа по созданию картинок на основе текстового описания. Тоже от «Сбера». А еще в сентябре 2023 года был представлен специальный инструмент для кодеров — GigaCode на основе GigaChat. Сейчас им пользуются сотрудники «Сбера», но в ближайшее время инструмент станет доступен широкому кругу пользователей. Решение поддерживает популярные языки программирования (Java, JavaScript, Python, TypeScript, C/C++ и так далее) и среды разработки (IDEA, PyCharm, VSCode, Jupiter и другие).
Snyk Code. Специализированная нейросеть для поиска уязвимостей и ошибок в коде, одна из лучших в своем классе. Также она работает со сторонними фреймворками и библиотеками, а потому используется в крупных проектах. Бесплатная версия ограничена — 200 проверок в месяц. Платная стоит от $23 в месяц за одного разработчика и снимает все лимиты.
Documatic. Бот генерирует документацию к коду, анализируя использованные классы, функции, переменные и комментарии разработчика. Также он улучшает ранее составленные документы, отвечает на вопросы и дает рекомендации. Documatic бесплатен для индивидуальных программистов и открытого кода, в остальных случаях нужно связаться с администрацией — вам составят КП.
Никто не запрещает применять сразу несколько роботов. Например, Copilot напишет свой вариант кода с нуля, Tabnine внедрит доработки по вашим примерам, GigaChat подскажет идеи и на русском языке объяснит некоторые функции, Snyk Code найдет уязвимости, а Documatic составит документацию. Итог — экономия времени и нервов специалиста.
No-Code и Low-Code
В сфере разработки сайтов, мобильных, веб-приложений, ботов и других IT-продуктов есть понятия No-Code и Low-Code. По сути, это знакомые многим конструкторы, позволяющие «собирать» конечное ПО из готовых блоков и шаблонов. Только No-Code — это разработка без единой строчки кода, а Low-Code все-таки предполагает программирование, хоть и в значительно меньших объемах. Зарубежные эксперты предполагают, что к 2025 году около 65% всех приложений будут создаваться по принципам «ноукод» — просто потому, что это быстро, легко и дешево (по сравнению с полноценной разработкой).
Минусы, конечно, есть:
программирование «без кода» не подходит для проектирования сложного по архитектуре ПО;
могут возникать проблемы при масштабировании до десятков тысяч пользователей;
скачать код проекта, скорее всего, не получится — он будет храниться на конкретной ноукод-платформе с ежемесячной подпиской.
Среди зарубежных платформ популярны Airtable, Bubble, Glide, Adalo. Но и в России есть наработки. Например, Albato — сервис для интеграций, помогающий «связать» разное ПО между собой. Directual, интерфейс для сборки MVP, услугами которого пользовались ПИК и МТС, тоже создавался российскими разработчиками — Павлом Ершовым и Никитой Навалихиным.
Заключение
В начале 2023 года мы узнали, что ChatGPT стал самым быстрорастущим приложением в истории: аудиторию в 100 млн пользователей бот набрал всего за два месяца. Для справки, предыдущему рекордсмену TikTik для этого потребовалось девять месяцев. Очевидно, что наступает время нейросетей и искусственного интеллекта. И разработка — одно из тех направлений, где ИИ проявляет свои преимущества в полную мощь. Это не означает, что уже завтра код начнут писать роботы, но ИИ-ассистенты вроде Copilot, Tabnine и GigaChat становятся незаменимыми помощниками 9 из 10 разработчиков.
Комментарии (7)
mrfloony
12.10.2023 08:52+6И заголовок не отражает корректную информацию. 70% опрошенных на StackOverflow, но не 70% всех программистов
bungu
12.10.2023 08:52+1Такое ощущение что автор сам или код не писал или не пользовался этими алгоритмами. Чтобы ИИ написал качественный код то ему необходимо качественно объяснить что надо сделать. В случае со сложной логикой ПО будет проще написать самому чем описывать боту что надо сделать.
Так же не забывайте что ИИ обучает человек, и ошибки, которые он допустил при обучении так же будут всплывать и в сгенерированном коде. И что вы сделаете? Скажети ИИ исправить свой же код?
И еще напомню - 70-80% времени у разработчика уходит не написание ПО, а на всевозможные сопуствующие задачи - проработку архитектуры, тесты, исправление багов и тп
huaw
12.10.2023 08:52Сбер пытается заманить использовать свою поделку из г и палок, чтобы всю инфу сливать потом "кому надо".
Хорошая попытка(нет), но нет.
dprotopopov
12.10.2023 08:52+1Никогда такого не было ... и вот опять
Скоро код будут писать алгоритмы?
Учите матчасть ... не существует единого алгоритма, который безошибочно давал бы правильный ответ "да" или "нет" на каждый случай задачи
IVNSTN
12.10.2023 08:52+1сбер (нет пруфлинка) -> 3d news (нет пруфлинка) -> the verge (нет пруфлинка) -> блог CEO SO (нет упоминаний исследования)
В оригинале на the verge есть упоминание без ссылки "Annual survey".
Вот ссылка на исследование, раздел про AI: https://survey.stackoverflow.co/2023/#ai
Вот статистика:
Deirel
12.10.2023 08:52+1А для начала можно научиться писать статьи так, чтобы:
В них была полезная информация
Было не так заметно использование нейросетей для написания статьи
nzeemin
Как-то всё в кучу.
Каким образом Kandinsky (генерация изображений по текстовому описанию) поможет мне писать код?