ИИ изменил практически все аспекты индустрии программного обеспечения — от функциональности софта до его продажи. По сути, разработка приложений «на стероидах» — вот что такое AI-augmented Software Engineering. Она делает работу команды лучше для всех, будь то разработчик, ИТ-менеджер, эксперт по безопасности или QA-инженер.
Уже существуют инструменты для разработки с использованием ИИ (например, GitHub Copilot, CodeGPT, Amazon CodeWhisperer Cody и другие), и они получили неоднозначные отзывы. Одни говорят, что это отличный способ сделать код быстрее и дешевле, другие — что он получается сомнительного качества. В статье разберем, как эффективнее использовать ИИ в помощь инженерам-программистам.
Мы продолжаем рассказывать о перспективных технологиях из «Цикла хайпа» Gartner и сегодня разберемся с AI-Augmented Software Engineering и AI-Augmented Development.
Опыт разработчиков, или DevX
Аналитики Gartner подчеркивают, что расширение опыта разработчиков имеет решающее значение для компаний. И один из инструментов — AI-augmented software engineering — это использование технологий искусственного интеллекта, таких как GenAI и машинное обучение, для помощи инженерам-программистам в разработке, кодировании и тестировании приложений.
Разработка программного обеспечения с помощью ИИ повышает производительность труда разработчиков и позволяет командам удовлетворять растущий спрос на ПО для ведения бизнеса. Эти инструменты позволяют тратить меньше времени на написание кода, чтобы уделять больше времени более стратегическим видам деятельности, таким как разработка и создание привлекательных бизнес-приложений.
Как ИИ помогает в разработке ПО: рекомендации от аналитического агентства Gartner
В Gartner составили руководство, с помощью которого дальновидные инженеры-программисты могут начать использовать ИИ для критически важных действий на протяжении всего жизненного цикла разработки ПО
№ 1. Используйте генеративный ИИ для написания и понимания программного кода
Взаимодействуйте с ИИ-помощниками в исследовательской, разговорной манере, чтобы превратить смутную идею в программу.
Популярные нейросети для работы с кодом мы рассмотрели в статье «Нейросети для программирования: GitHub Copilot и 10 аналогов».
Также отмечают, что использование предложений по созданию больших языковых моделей (LLM), таких как ChatGPT и Google Bard, напротив, требует ряда компромиссов, которые многие предприятия сочтут неприемлемыми. Например, ваши промты и код могут включить в будущие обновления продуктов поставщика, что приведет к нарушению правил конфиденциальности данных и утечке критически важной интеллектуальной собственности.
№ 2. Развертывание генеративного ИИ в качестве инструмента модернизации приложений
Чатбот ChatGPT от OpenAI уже умеет переводить программный код с одного языка на другой, обеспечивая быстрый и простой автоматизированный способ преобразования и модернизации кода. Но в Gartner рекомендуют ограничить использование таких инструментов. Существует значительный риск неточного перевода кода, что может произойти в результате того, что решения генеративного ИИ внесут в код галлюцинации и другие фактические ошибки.
№ 3. Используйте генеративный ИИ для объяснения, обнаружения и измерения технического долга и его влияния
Технологический долг — это сумма, которую организация должна потратить, чтобы выполнить свои обязательства по расходам на цифровые технологии и продолжить ведение бизнеса. Технический долг — это сегмент, возникающий в связи с архитектурой, проектированием и разработкой программных приложений. Генеративный ИИ поможет справиться с этим бременем.
Чтобы эффективно расставить приоритеты, используйте генеративный ИИ для обнаружения и измерения источников технического долга и наглядно продемонстрируйте последствия, риски и уровень усилий, необходимых для устранения.
По мнению аналитиков Gartner, не стоит использовать продукты генеративного ИИ для исправления или отслеживания технического долга: это дорого и может привести к неточным результатам.
№ 4. Оправдайте ожидания пользователей в отношении продуктов и услуг, основанных на ИИ
Генеративный ИИ заставляет UX-дизайнеров оправдывать растущие ожидания пользователей от продуктов и услуг, основанных на ИИ. По мере распространения разговорных интерфейсов пользователи ожидают увидеть эту функцию в программных продуктах. Неспособность обеспечить ее хорошо приведет к тому, что юзеры будут недовольны.
№ 5. Используйте ИИ на протяжении всего жизненного цикла тестирования ПО
ИИ преобразует тестирование программного обеспечения, позволяя повысить эффективность и ускорить время выполнения цикла. ИИ дает преимущества в пяти областях тестирования ПО:
- Планирование и расстановка приоритетов при тестировании;
- Создание и сопровождение тестов;
- Генерация тестовых данных;
- Визуальное тестирование;
- Анализ тестов и дефектов.
Прогнозы Gartner для разработки программного обеспечения с помощью ИИ
Аналитики Gartner считают, что к 2027 году 70% профессиональных разработчиков будут использовать инструменты для написания кода, основанные на ИИ, по сравнению с менее чем 10% в 2023 году.
График Gartner в виде кривой показывает цикл развития каждой новой технологии. Он включает пять ключевых этапов, и AI-Augmented Software Engineering прешел от первой стадии (триггера инноваций) ко второй (пик завышенных ожиданий). Это период, когда о технологии начинают много говорить. При этом СМИ публикуют как истории успеха, так и неудач, и может наступать некоторое разочарование в работе инновации.
7 действий для тимлидов, которые хотят, чтобы разработчики приняли ИИ в качестве партнера
- Прививайте менталитет, ориентированный на ИИ. На старте проекта спросите, как методы ИИ (например, прогнозирование и автоматизация) могут улучшить работу приложений.
- Предоставьте разработчикам основу для демонстрации того, когда ИИ применим и необходим для достижения лучших результатов.
- Инвестируйте в специализированные решения на основе ИИ для поддержки ролей, задач и рабочих процессов в области разработки, тестирования и интеграции ПО.
- Расширьте работу над конвейером данных, чтобы использовать ИИ и создавать метаданные для работы интеллектуальных приложений.
- Разъясните, как должны взаимодействовать команды разработчиков и создателей моделей, чтобы избежать дублирования обязанностей и обеспечить бесперебойное развертывание приложений.
- Сотрудничайте с группами управления D&A и AI по всем элементам программы управления доверием, рисками и безопасностью ИИ (AI TRiSM).
- Повышайте квалификацию команды. ИИ — это часть будущего рабочего места для всех должностей. Особенно актуально это для инженеров-программистов, которым необходимо пополнить свой набор навыков.
Читать еще из рубрики «Цикл хайпа»:
Цикл технологического хайпа: читаем будущее инноваций
Защита от умника: как управлять моделями искусственного интеллекта по принципу AI TRiSM
Распаковывая черный ящик: как работает Causal AI
Нейросимволический ИИ: что будет, если объединить два антагонистических подхода к ИИ