Применение генеративного искусственного интеллекта означает более быстрое кодирование, но также и большее количество кода, которым необходимо управлять, наряду с бóльшими ожиданиями со стороны бизнеса, отмечают опрошенные порталом ZDNet эксперты.
Потенциал значительного повышения производительности благодаря инструментам генеративного ИИ, таким как ChatGPT или GitHub Copilot, очевиден, но не усложнит ли их применение работу технологических специалистов?
Сейчас эти инструменты помогают людям выдавать код по запросу на множестве языков, от Java до Python, вместе с полезными рекомендациями. 95% разработчиков в недавнем опросе Sourcegraph сообщили, что используют Copilot, ChatGPT и другие инструменты генеративного ИИ.
Но автоматическая генерация нового кода решает лишь часть проблем на предприятиях, которые уже поддерживают громоздкие кодовые базы, и требует высокого уровня согласованности, подотчетности и безопасности.
Для начала, задачи обеспечения безопасности и качества, связанные с работой над ПО, не собираются исчезать в ближайшее время. «ChatGPT и другие большие языковые модели помогают программистам и инженерам-разработчикам создавать код практически на любом языке, — говорит Энди Турай, аналитик компании Constellation Research. — Однако бóльшая часть сгенерированного кода уязвима с точки зрения безопасности и может не соответствовать корпоративному уровню. Поэтому, хотя ИИ может помочь ускорить процесс кодирования, необходимо позаботиться об анализе кода, поиске уязвимостей и их устранении, что съест часть повышения производительности, о котором говорят поставщики ИИ».
Далее — разрастание кода. Аналогия с внедрением генеративного ИИ в кодирование — это внедрение облачных вычислений, которые при развертывании казались упрощением способа приобретения приложений, а теперь представляют собой клубок сервисов, которыми нужно управлять.
Относительная простота генерации кода с помощью ИИ будет способствовать постоянному расширению кодовой базы — то, что авторы исследования Sourcegraph называют «большим кодом». Большинство из 500 разработчиков, принявших участие в опросе, озабочены управлением всем этим новым кодом, а также разрастанием кода и его вкладом в технический долг. Почти восемь из десяти заявили, что за последние три года — еще до освоения генеративного ИИ — их кодовая база выросла в пять раз, и еще столько же испытывают трудности с пониманием существующего кода, созданного другими.
Таким образом, перспективы генеративного ИИ в программировании неоднозначны. ИТ-командам, занимающимся обслуживанием и поддержкой ПО, ИИ, скорее всего, больше поможет, чем усложнит их жизнь, отмечает Турай. «ИИ также может помочь специалистам по реагированию на инциденты, инженерам по надежности объектов и сотрудникам службы поддержки, — говорит он. — Они могут использовать ИИ для выяснения прецедентов, способов устранения неполадок, возможности их автоматизации, чтобы они не повторились, а также для автоматизации некоторых рутинных исправлений, чтобы избежать постоянных оповещений и траты многих часов на устранение элементарных неполадок. В клиентском сервисе он может помочь персонализировать обслуживание для отдельных людей на основе их потребностей, проблем, с которыми они столкнулись, и возникших последствий».
Более быстрая доставка кода также приводит к большим ожиданиям со стороны бизнеса в отношении приложений, быстрее адаптирующимся к меняющимся требованиям. «Мы развиваемся в сторону подхода, основанного на моделировании, и уходим от кодирования на основе правил „if-then-else“, — говорит Прити Лобо, директор по практике бизнес-интеграции и автоматизации компании Apps Associates. — Современные приложения должны быть более интуитивно понятными и создаваться с учетом индивидуальных особенностей пользователя, а не как общий опыт для всех. Генеративный ИИ уже позволяет достичь такого уровня персонализации, а в будущем бóльшая часть кодирования будет осуществляться ИИ».
Тем не менее, люди необходимы в ключевых точках цикла для обеспечения качества и соответствия запросам бизнеса. «Традиционные разработчики должны будут курировать обучающие данные, которые используют модели ИИ, и изучать любые несоответствия или аномалии», — добавляет Лобо.
Рост разработки кода с помощью ИИ также требует, чтобы технологические менеджеры и специалисты взяли на себя более широкие функции в бизнесе. «Можно ожидать, что ИТ-специалисты будут носить ряд новых шляп», — говорит Лобо.
Этот рост ответственности распространяется на такие роли, как «инструктор по этическому ИИ, инженер машинного языка, специалист по анализу данных, стратег и консультант по ИИ, а также специалист по обеспечению качества», — говорит она. Кроме того, технологические специалисты должны будут заниматься «созданием стратегических дорожных карт ИИ, а также выявлением аномалий в структурах данных и результатах».
По словам Лобо, генеративный ИИ также ставит на первое место обработку естественного языка (NLP). «Профессионалы должны стремиться овладеть такими языками программирования, как Python, Java и C++, и узнать больше о таких библиотеках и фреймворках, как NumPy, Keras, TensorFlow, Matplotlib и Seaborn, — говорит она. — Но они также должны стремиться развить сильные навыки анализа, решения проблем и критического мышления, а также лингвистики. Подобные навыки могут оказать неоценимую помощь в мире NLP, которая является основополагающим фактором при работе с ИИ».
Еще одна дополнительная роль, которую возьмут на себя профессионалы в области технологий, — это обучение и поддержка большего числа людей в разработке и внедрении собственных приложений. «В прошлом искусство возможного было ограничено техническими возможностями или возможностями ИТ-отделов, — говорит Турай. — Теперь совершенству нет предела. Любой человек может придумать способ повысить доход или прибыль любого бизнеса, который можно реализовать с помощью ИИ, чтобы улучшить бизнес так, как он себе представляет, и быстрее, чем вы себе представляли.»