Проведенный в июне 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% чувствуют себя увереннее, когда могут опереться на ботов и роботов.

Чаще всего на работе программисты вынуждены писать код или искать уязвимости в системе безопасности. Если эту область поручить ИИ, у специалистов останется больше времени на получение обратной связи от пользователей и изучение новых навыков. Хорошо от этого всем: разработчики избавляются от рутины, которая часто становится причиной выгорания, а пользователи получают более качественный программный продукт, учитывающий их мнение. Бизнес, в свою очередь, сокращает расходы.

Области применения ИИ

  1. Сравнение технических требований. Достаточно загрузить в базу ассистента технические требования и поручить проверку документации — ИИ вычислит расхождения в цифрах, оформлении, единицах измерения и других параметрах. 

  2. Прототипирование. ИИ создает сайты «под ключ». По сути, нужно ответить на несколько наводящих вопросов, составить краткое описание и наблюдать за роботом. По такому принципу работают Wix ADI и Leia. Есть и другое направление — улучшение существуюдего проекта (дизайна, безопасности, мобильной версии и т. д.). Здесь приведем в пример российский uKit AI.

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

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

  5. Анализ ошибок. Даже текстовый бот ChatGPT уже умеет искать ошибки в небольших кусках кода и объяснять «свою точку зрения». Что говорить о нейросетях, созданных специально для выявления неисправностей в программе и обученных на миллиардах ошибочных строк. 

  6. Тестирование. Тестировщикам теперь приходится конкурировать с искусственным интеллектом. Конечно, нейросети пока не способны полностью заменить человека, его интуицию и опыт. Но автоматизировать некоторые этапы проверки ПО — вполне.

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

5 полезных нейросетей для разработчиков

Приведем примеры нейросетей, которые помогают именно разработчикам программного обеспечения:

  1. Copilot. Лидер рынка, с которого мы начинали статью. По заверениям создателей, Copilot подходит для автодополнения кода, поиска шаблонов, генерации с нуля по текстовому описанию, перевода из одного языка программирования в другой и других задач. Но код все равно приходится перепроверять. Стоимость — $10 в месяц, оплатить с российских карт не получится. 

  2. Tabnine. Нейросеть обучается вашей манере написания кода и генерирует строки в похожем стиле. Подходит для простых функций, с более сложными уже возникают проблемы. Большой плюс — поддержка всех популярных IDE и редакторов кода. Стоимость — $12 в месяц для Pro-версии (есть бесплатная, но она сильно урезана).

  3. GigaChat, Kandinsky, GigaCode. GigaChat — универсальная нейросетевая модель от «Сбера». Изначально задумывалась как текстовый бот, но впоследствии GigaChat научился генерировать картинки и код. У инструмента есть два неоспоримых преимущества — полноценная работа на русском языке и бесплатный формат. Для работы над визуалом есть Kandinsky — мощная платформа по созданию картинок на основе текстового описания. Тоже от «Сбера». А еще в сентябре 2023 года был представлен специальный инструмент для кодеров — GigaCode на основе GigaChat. Сейчас им пользуются сотрудники «Сбера», но в ближайшее время инструмент станет доступен широкому кругу пользователей. Решение поддерживает популярные языки программирования (Java, JavaScript, Python, TypeScript, C/C++ и так далее) и среды разработки (IDEA, PyCharm, VSCode, Jupiter и другие). 

  4. Snyk Code. Специализированная нейросеть для поиска уязвимостей и ошибок в коде, одна из лучших в своем классе. Также она работает со сторонними фреймворками и библиотеками, а потому используется в крупных проектах. Бесплатная версия ограничена — 200 проверок в месяц. Платная стоит от $23 в месяц за одного разработчика и снимает все лимиты. 

  5. 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)


  1. nzeemin
    12.10.2023 08:52
    +1

    Как-то всё в кучу.

    Каким образом Kandinsky (генерация изображений по текстовому описанию) поможет мне писать код?


  1. mrfloony
    12.10.2023 08:52
    +6

    И заголовок не отражает корректную информацию. 70% опрошенных на StackOverflow, но не 70% всех программистов


  1. bungu
    12.10.2023 08:52
    +1

    Такое ощущение что автор сам или код не писал или не пользовался этими алгоритмами. Чтобы ИИ написал качественный код то ему необходимо качественно объяснить что надо сделать. В случае со сложной логикой ПО будет проще написать самому чем описывать боту что надо сделать.

    Так же не забывайте что ИИ обучает человек, и ошибки, которые он допустил при обучении так же будут всплывать и в сгенерированном коде. И что вы сделаете? Скажети ИИ исправить свой же код?

    И еще напомню - 70-80% времени у разработчика уходит не написание ПО, а на всевозможные сопуствующие задачи - проработку архитектуры, тесты, исправление багов и тп


  1. huaw
    12.10.2023 08:52

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

    Хорошая попытка(нет), но нет.


  1. dprotopopov
    12.10.2023 08:52
    +1

    Никогда такого не было ... и вот опять

    Скоро код будут писать алгоритмы?

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

    https://en.wikipedia.org/wiki/Turing's_proof


  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

    Вот статистика:

    Используют инструменты с элементами AI в разработке или около нее менее 44% опрошенных на SO
    Используют инструменты с элементами AI в разработке или около нее менее 44% опрошенных на SO


  1. Deirel
    12.10.2023 08:52
    +1

    А для начала можно научиться писать статьи так, чтобы:

    1. В них была полезная информация

    2. Было не так заметно использование нейросетей для написания статьи