В 2018 году исследовательская компания Gartner прогнозировала, что уже в ближайшем времени команды, разрабатывающие программное обеспечение, начнут массово применять ИИ. Эксперты в точности предвосхитили будущий тренд. В 2023 году 41% кодовой базы был написан ИИ, в Google — более четверти. По состоянию на 2024 год ИИ сгенерировал уже 256 млрд строк программного кода.
По данным ассоциации «Руссофт», около 20% российских разработчиков ПО в 2024 году применяли искусственный интеллект. Этот показатель демонстрирует устойчивый рост с 7,9% в 2022 году до 15% в 2023 году. В Индексе готовности приоритетных отраслей экономики РФ к внедрению ИИ в 2024 году сектор информационно-коммуникационных технологий входит в число лидеров.
В мае 2024 года международная платформа Stack Overflow провела опрос среди более чем 65 тыс. разработчиков по всему миру. В разных сферах ИИ используется неравномерно: 82% применяют его для написания кода, 57% — для устранения багов, 40% — для создания документации, 27% — в тестировании, менее 5% — в развертывании и контроле за работой приложений. Самыми перспективными направлениями на ближайшее время респонденты назвали документирование (81%), тестирование (80%) и написание (76%) кода.
Сфера применения ИИ
Современные ИИ-инструменты меняют функционал каждого специалиста в команде разработки — аналитика, программиста, тестировщика. «Роль инженера смещается от рутинной разработки к управлению архитектурой и качеством проекта. А искусственный интеллект берет на себя задачи, которые можно быстро и просто автоматизировать», — отметил директор департамента прикладных решений компании «Ланит-Терком» Дмитрий Медведев.
Наибольший энтузиазм вызывает возможность генерации рабочего кода. «Это та область, в которой даже доказывать никому ничего не нужно, настолько всем очевидно, что ИИ ускоряет процессы, — констатировал руководитель практики Центра компетенций больших данных и искусственного интеллекта «Ланит» Владислав Балаев. — В среднем — на 50%, то есть разработчик уже сейчас может выполнять в два раза больше задач. Рутинные же операции (написание простых тестов или переструктурирование кода) почти полностью можно поручить генеративным инструментам».
«Если у вас стартап и есть четко определенный набор правил и требований, то, в принципе, искусственный интеллект может сгенерировать качественный проект от нуля до MVP (минимально жизнеспособного продукта. — «РБК Тренды»), — считает Дмитрий Медведев. — В дальнейшем, безусловно, потребуется подключение более опытных разработчиков, архитекторов для совершенствования и запуска продукта в эксплуатацию».
Существует целый ряд ИИ-инструментов, помогающих разработчику. Среди популярных зарубежных сервисов — Cursor, Windsurf, GitHub Copilot. Есть и российские продукты — GigaCode, SourceCraft Code Assistant, Kodify.
Александр Нозик, директор Центра научного программирования Института искусственного интеллекта МФТИ:
«Как правило, энтузиасты используют не какое-то одно решение, а сразу набор разных и сравнивают их эффективность. Без всяких ограничений есть open-source модели вроде llama или DeepSeek. Также доступными являются решения отечественных компаний, такие как GigaChat».
При этом сфера применения ИИ в разработке разнообразна, о чем свидетельствует, в частности, исследование, проведенное «Ланит — Би Пи Эм» в 2024 году. В компании рассказали, что ИИ-инструменты могут не только писать код на уровне junior-разработчика, но и объяснять алгоритмы, генерировать модульные тесты, тест-кейсы, документацию, расшифровывать записи встреч с заказчиками, отвечать на вопросы по проектной документации.
Александр Лутай, технический директор «Ланит — Би Пи Эм»:
«При разработке ПО появляется очень много информации: требования, конвенции, архитектурные решения, тестовые сценарии. Обычно команда ведет проектную базу знаний, в которой хранит эти данные. Новым участникам проекта бывает сложно во всем разобраться. Здесь на помощь приходят ИИ-инструменты по типу вопросно-ответных систем, которые подключаются к этой базе знаний. Новый разработчик может задать вопросы по требованиям и быстро получить ответ, не отвлекая коллег».
Александр Нозик обратил внимание: сейчас появляется все больше исследований, показывающих, что основная польза от ИИ возникает в поиске информации и решении второстепенных задач. «Например, программисты очень не любят писать документацию, а языковые модели (даже не большие, а локальные) отлично с этим справляются», — отметил он.
В прототипировании использование ИИ сокращает сроки создания MVP с нескольких месяцев до недель или дней, рассказал Дмитрий Медведев. Кроме того, ИИ может способствовать повышению качества кода: он анализирует исторические данные, выявляет уязвимости и прогнозирует потенциальные ошибки, что снижает количество багов и повышает надежность продуктов.
ИИ внедряют и в работу аналитиков: компании экспериментируют, ищут задачи, которые можно автоматизировать, подчеркнул Владислав Балаев. Нейроинструменты могут помочь аналитикам в протоколировании и суммаризации встреч, поиске по базе знаний и других рутинных процессах.
Один из таких инструментов — платформа Landev AI «Кремниевые помощники». Она позволяет локально развертывать большие языковые модели (LLM), включая модели для генерации кода, и использовать их как в режиме чата, так и в сложных пайплайнах обработки документов, аудио и изображений. Это дает сотрудникам возможность безопасно тестировать гипотезы и делиться идеями внутри команды.
Например, платформу можно использовать на этапе сбора и анализа требований заказчика, рассказывает Владислав Балаев: «Заказчик описывает свои идеи, ему задают вопросы. А потом из этого нужно сделать выжимку — и этот процесс за счет ИИ ускоряется в четыре раза, причем ИИ может работать сразу над несколькими проектами». Перспективное направление — оформлять результат в виде уже готовой спецификации, добавил Александр Лутай.
Использование ИИ имеет свои ограничения и недостатки. Нужно помнить, что модели обучаются на открытом существующем коде, в котором могут быть уязвимости, и, соответственно, воспроизводить их, предупреждает Александр Лутай. «Генерируемый ИИ код часто хрупок, ломается при небольших изменениях постановки задачи. Решение сложных заданий при помощи ИИ является гораздо более трудоемким, чем классические методы», — отметил Александр Нозик.
Владислав Балаев, руководитель практики Центра компетенций больших данных и искусственного интеллекта «Ланит»:
«Сложные проблемы, которые может решить лишь опытный эксперт, пока в большей степени на стороне человека и требуют очень большой валидации, если это делается через генерацию кода. Некоторые думают: появилась идея, и не надо ждать, пока разработчики ее воплотят в жизнь, спорить с ними, что-то им доказывать, а просто раз — и она реализовалась. Мы пока точно не в этой точке. Но подход к разработке действительно меняется, и в ближайшее время специалисты, особенно senior-уровня, смогут выполнять намного больше работы за счет ИИ-автоматизации».
Эксперты сходятся во мнении: ИИ полезен, так как освобождает сотрудников от выполнения типовых заданий и автоматизирует рутину. «Разработчик, конечно, должен сохранять экспертизу по созданию ПО, хорошо знать используемые в проекте языки программирования, уметь писать базовые конструкции, — заметил Александр Лутай. — Но если весь код писать руками, то это будет занимать слишком много времени. ИИ-инструменты могут выступать помощниками разработчика: у него освободится время для более креативных дел, которые добавят ценности компании, — улучшить продукт или придумать новый, отреагировать на обратную связь от пользователей».
Николай Костригин, руководитель отдела безопасности разработки программного обеспечения компании «Базальт СПО»:
«Применение технологий и инструментов ИИ может сократить затраты на реализацию цикла разработки за счет помощи в написании программ, обнаружения и устранения недостатков кода на ранних этапах. Однако важно учитывать риски, связанные с генерацией избыточного, неоптимального или требующего доработки кода. Применение LLM обеспечивает автоматизацию рутинных задач, модели могут быстро адаптироваться к изменяющимся условиям. Это даст возможность быстрее выпускать новые версии продуктов, повысив их конкурентоспособность».
Безопасность и возможные риски
Нейропомощники состоят из двух частей, объясняет Александр Лутай. Первая часть — среда разработки или интерфейс, куда можно интегрировать ИИ-ассистента. Вторая часть — это собственно большая языковая модель, которая может быть размещена либо в облаке, либо локально.
Взаимодействие с облачной моделью предполагает, что какая-то информация — запрос разработчика, кодовая база — будет уходить за периметр компании. «Для кого-то это неприемлемо. В случае с локально развернутыми LLM этот риск снимается, но требуются ресурсы. Модель с размерностью 8–14 млрд параметров можно развернуть на достаточно хорошем компьютере, для моделей большего размера надо покупать сервер. Это стоит денег», — отметил Александр Лутай.
«Есть хорошая фраза: «Нет никаких облаков, есть чужие компьютеры», — напомнил Николай Костригин. — Безусловно, для обработки служебной и тем более конфиденциальной информации лучше формировать собственную инфраструктуру, хотя это и дороже. Например, в случае исследований разработки безопасного программного обеспечения, когда обрабатываемые данные потенциально содержат информацию об уязвимостях в коде, хотя бы для гарантий сохранения эмбарго в период ответственного разглашения».
Впрочем, очевидно, что публичные ресурсы используются и будут использоваться впредь — как минимум для снижения затрат на разработку, добавил эксперт.
«Когда вы отправляете что-то вовне — вы рискуете: то, куда вы это отправляете, могут взломать, ваше сообщение могут перехватить посередине. Отдельный вопрос, что с точки зрения безопасности нашей страны вообще отправлять во внешние модели код, особенно в государственных проектах, просто нельзя», — подчеркнул Владислав Балаев. Это создает риски утечки интеллектуальной собственности и включения в код элементов, которые нарушают лицензионные соглашения: в сгенерированном коде может оказаться фрагмент, защищенный авторским правом, говорит Дмитрий Медведев.
Для чувствительной кодовой базы в корпорациях использование коммерческих сетевых больших моделей, как правило, вообще не рассматривается — крупные компании делают ставку на развертывание локальных моделей, отмечает Александр Нозик.
Внедрение ИИ: советы экспертов
Для предпринимателей и инвесторов все более широкое распространение ИИ означает фундаментальный сдвиг в подходах к созданию цифровых продуктов. «Если разработчики сейчас не научатся действовать с помощью больших языковых моделей, генерировать код, пользоваться теми или иными редакторами или плагинами для этого, то они станут просто неконкурентными уже в ближайшие месяцы, потеряют темп», — предупреждает Владислав Балаев.
При этом эксперты подчеркивают: важно правильно применять возможности ИИ. «Самая главная опасность тут — пытаться решить все задачи при помощи ИИ. Это обычно приводит лишь к увеличению издержек», — говорит Александр Нозик. Для успешного внедрения ИИ требуется провести исследование бизнес-процессов и найти достаточно простые задачи, которые можно ему доверить, отметил он.
Очень важно четкое понимание, где можно использовать искусственный интеллект, заметил Дмитрий Медведев: «ИИ не возьмет на себя все задачи. Вам все равно потребуются сотрудники для контроля результатов, и нужно четко определить сферу, где ИИ будет внедрен».
Эффективное применение ИИ требует умения перестраивать мышление, отмечают эксперты. «Первое — нужно понять, где проходят границы тех данных, которые можно отдавать во внешние сервисы, — советует Александр Лутай. — Дальше — инвестировать в обучение сотрудников правильному общению с моделями, написанию промптов. Можно пользоваться облачными LLM в тех вопросах, где комплаенс это позволяет. И таким образом нащупывать конкретно для себя те сферы применения, где LLM помогает быстрее решать задачи».
Из сценариев, которые показали себя эффективными, нужно формировать базу знаний, продолжает спикер: «Люди начнут их использовать. Потому что, если просто дать доступ к модели, большинству сотрудников будет сложно довериться этому инструменту и начать его использовать эффективно». А для тех данных, которые нельзя отдавать вовне, необходимо подобрать подходящую LLM, развернуть в периметре компании и далее на ее основе создавать более специализированные решения, добавил Александр Лутай. Во всей этой работе лучше всего обратиться за квалифицированным советом к профессионалам, подчеркивают эксперты.
Перспективы
Искусственный интеллект уже стал неотъемлемой частью процесса разработки ПО, меняя традиционные подходы и повышая эффективность команд. «Сейчас уже это не просто новый тренд, а стабильная и результативная работа в продуктовой среде, — отметил Дмитрий Медведев. — Думаю, в ближайшее время роль ИИ будет только возрастать».
Будущее за гибридными решениями, где нейросети дополняют человеческие навыки. «Искусственный интеллект — это инструмент поддержки, а не замена профессионального опыта разработчика, — подчеркнул Дмитрий Медведев. — ИИ не заберет все функции. Он поможет в генерации кода, в относительно простых задачах. Но если разработчик, программист, сотрудник не будут понимать, что сгенерировал ИИ, это очень быстро приведет к кризису в проекте».
«Я думаю, что по мере того, как инструменты будут становиться массовыми, а ажиотаж по их поводу будет падать, ИИ станет такой же повседневной данностью, как IDE (интегрированная среда разработки. — «РБК Тренды») или статические анализаторы кода, — считает Александр Нозик. — Open-source модели постепенно догоняют проприетарные по качеству, так что и проблема с безопасностью в смысле закрытого контура тоже будет решена».
➤ Подписывайтесь на телеграм-канал «РБК Трендов» — будьте в курсе последних тенденций в науке, бизнесе, обществе и технологиях.