Искусственный интеллект (ИИ) пришел в софтверную инженерию не вчера: крупнейшие мировые IT-корпорации строят новую парадигму разработки с 2016 года (Microsoft, IBM, Google) и активно используют ИИ-инструменты (иногда собственного производства). В 2022 году широкое медийное освещение больших лингвистических моделей (LLMs - в различных своих реализациях GPTChat, Copilot, etc) произвело сильный информационный эффект на широкие массы софтверных инженеров во всем мире. Прогнозы о перспективах развития таких LLMs в разработке программного обеспечения (ПО) имеются самые разные: от «прощайте разработчики, вас заменит робот» до «спасибо, теперь я могу работать на трех работах».
Консультанты SSC в июне-июле 2023 года провели научное исследование, чтобы изучить опыт и обобщить мнения тех, кто действительно отличает –pull от CRUD и создает работающее в реальном мире программное обеспечение. Исследование охватило 35 команд разработки ПО в софтверных вендорах, интеграторах, банках с сильным in-house development от Казахстана и России до Испании и Великобритании. В данной заметке будут приведены самые краткие результаты и описано единое видение перспектив развития ИИ-инструментов в краткосрочной (3-7 лет) и среднесрочной перспективе (до 10 лет).
Основная гипотеза исследования: «Широкое освещение LLMs (больших лингвистических моделей, как ChatGPT) в СМИ со второй половины 2022 года серьезно популяризировало использование ИИ в разработке программного обеспечения. В настоящее время все больше европейских инженеров используют различные ИИ-инструменты для решения своих повседневных задач в софтверных проектах. ИТ-организации уже начали централизованную трансформацию производственных процессов, связанную с формализацией использования ИИ-инструментов». Цель исследования - собрать мнения и опыт старших инженеров и менеджеров в единое видение использования ИИ-инструментов в 2023 году, что может помочь в будущем управлении практическим внедрением ИИ в ИТ-бизнесе и в производственных процессах.
Краткие результаты в части текущего уровня востребованности ИИ-инструментов и в части обсуждения проблем внедрения данной инновации в реальные производственные процессы:
1) Эксперты выделили основные преимущества использования ИИ, включая LLMs, в практике софтверных проектов: от автоматизации рутинных операций и экономии времени (63% экспертов) до ускорения выполнения операций в команде\организации (43% экспертов) до совершенствование программных продуктов, в т.ч. качества ПО, UX\UI и документации (31% экспертов).
2) Исследование подтвердило востребованность использования ИИ-инструментов в разработке программного обеспечения, что соответствует гипотезе исследования. Около 20% команд и 23% экспертов лично используют ИИ-инструменты в рабочих софтверных проектах. Текущее использование ИИ-инструментов ориентировано на работу с программным кодом (в разных видах) и с документацией софтверного проекта\продукта.
3) Интересным представляется наблюдение, что внедрение ИИ-инструментов в реальную практику производства программного обеспечения в ИТ-компаниях идет согласно классификации Эверетта Роджерса из известной теории «диффузии инноваций»:
сформированы категории с «инноваторами» и «ранними последователями» по Э. Роджерсу и начата формализация использования ИИ-инструментов (проектные команды выполняют корпоративный план по внедрению ИИ в разработку ПО, создают и используют централизованные корпоративные политики и \ или рекомендации);
идет процесс формирования категории «раннее большинство» по Э. Роджерсу – команды, заинтересованные в дальнейшем изучении ИИ-инструментов разными способами (НИОКР, индивидуальный\командный эксперимент и т.п.);
Исследование подтвердило исходную свою гипотезу: все больше европейских инженеров используют различные ИИ-инструменты при решении своих задач в программных проектах, а инновационные IT-компании уже начали централизованную трансформацию производственных процессов, связанную с формализацией использования ИИ-инструментов. Более развернутое описание результатов исследования в этой части вы сможете найти в предыдущей публикации SSC на Хабре. Теперь следует привести основные экспертные прогнозы о перспективах развития ИИ-инструментов в двух горизонтах планирования:
краткосрочном – на 3-7 лет;
среднесрочном – на ближайшие 10 лет.
Эксперты оценили потенциальные возможности ИИ в приемочном тестировании, валидации и выпуске программного обеспечения. В ближайшей краткосрочной перспективе (3-7 лет) ИИ-инструменты будут:
быть обычным инструментом для человека, принимающего и валидирующего новые версии ПО – 48% экспертов;
играть центральную роль, объединять человеческие усилия и средства контроля качества (тесты, скрипты) – 26% экспертов.
Эксперты оценили потенциальную мощь ИИ (в т.ч. LLMs) в разработке программного обеспечения и создании программного кода в краткосрочной перспективе:
быть обычным инструментом для человека, который занимается кодированием или дизайном – 51% экспертов;
стать экспертом, который будет помогать, обучать и проверять людей – 21% экспертов;
Как мы видим из результатов, серьезные ИТ-инженеры и менеджеры категорически отрицают идею замены человека искусственным интеллектом во всех областях разработки программного обеспечения в среднесрочной перспективе (или даже никогда).
Интересным вопросом является потенциальная необходимость изменения базовых необходимых навыков инженеров разработки из-за фактора ИИ. Так в среднесрочной перспективе около 46% экспертов прогнозируют появление ясной потребности в специальных знаниях по управлению ИИ-инструментами в разработке ПО, а около 31% экспертов уверены, что уже началась глубокая трансформации всей профессии программиста в проектах разработки ПО.
Экспертный совет подтвердил, что в ближайшие 10 лет использование ИИ-инструментов существенно изменит производственные процессы в индустрии разработки программного обеспечения: около 63% экспертов заметили, что процесс глобального сдвига в отрасли начался. Также около 31% экспертов собираются копировать опыт в этом направлении у наиболее инновационных ИТ-компаний. Эта часть команд \ ИТ-организаций оценивает влияние LLMs на программную инженерию как скромное, но ожидает, что лидеры ИТ-рынка будут использовать ИИ-инструменты и развивать их.
Также эксперты подтвердили, что темпы развития ИИ-инструментов очень высоки, поэтому они ожидают в ближайшие 3-7 лет:
Элементы ИИ во всех продвинутых IDE (редактор кода, сборка релизов, документация и т.д.) – 94% экспертов;
Элементы ИИ в системах управления проектами и задачами (таких как Trello, MS Project, Jira и др.) – 73% экспертов;
Элементы ИИ в инструментах управления продуктом (UX\UI анализ, пользовательские тесты и т.д.) – 60% экспертов;
Элементы ИИ в инструментах DevOps (от CI\CD до ПО для поддержки пользователей) – 57% экспертов.
В среднесрочной перспективе эксперты ожидают быстрого государственного или отраслевого регулирования использования ИИ в ИТ-сфере в разных частях Европы. Также в исследовании были выделены интересные и содержательные предположения и комментарии по поводу основных особенностей процессов использования ИИ в разработке ПО:
Вопросы информационной безопасности при использовании ИИ имеют решающее значение. Текущая скорость внедрения ИИ в отрасли приносит в жертву некоторые аспекты безопасности, за которыми потом будет сложно следить;
В Западной Европе юридические аспекты (отсутствие регламентов и правовой базы) использования ИИ-инструментов могут быть основным препятствием для их официального внедрения в производственные процессы;
Настройка ИИ-инструментов для конкретных и сложных проектов — это большая работа, сопряженная со значительными рисками. С течением времени источники данных будут все более и более специфичными для разных инструментов ИИ в разных проектах;
ИИ приведет к взрывному росту взаимной интеграции различных систем в сложных ИТ-ландшафтах на следующем уровне развития ИТ-отрасли.
Эксперты также поделились сомнениями по поводу этического аспекта использования ИИ-инструментов: источники данных (кодовые базы, статьи, примеры) для глобального обучения LLMs не могут вечно находиться в «общем владении». Есть много проблем с авторскими правами, авторскими правами, патентами и корпоративными «ноу-хау», которые нельзя разделить со всем миром в традициях GitHub. Эксперты ожидают изменений в юридическом оформлении использования ИИ-инструментов в европейской ИТ-отрасли.
В заключении стоит отметить, что ИИ-инструменты уже стали частью привычных процессов в софтверных проектах: от работы с документацией до написания и улучшения программного кода. Дальнейший рост автоматизации процессов разработки ПО сопряжен с развитием таких инструментов и их интеграцией в производственные системы софтверных проектов (от IDE и CI\CD до управления проектом и продуктом). Компания SSC уже в 2023 году запустит консалтинговую услугу по внедрению AI aided software development для российских IT-компаний. Мы четко видим эту европейскую тенденцию и хотим, чтобы она не обошла стороной отечественный софтверный рынок.