Мы продолжаем рассказывать о будущем инноваций, опираясь на недавний «Цикл технологического хайпа» от Gartner. В этом материале — подробно о том, что из себя представляет автоматизированная генерация кода, сможет ли она заменить айтишников и чем она интересна для сотрудников из других сфер.
Что это такое?
Машинное обучение генерации кода, или Machine learning code generation, — это концепция обучаемой, которая обучается на примере различных языков программирования, а затем генерирует готовый код. Примером написания кода искусственным интеллектом является проект AlphaCode, созданный в рамках миссии DeepMind по решению проблем интеллекта.
Инструменты генерации кода машинного обучения используют облачные модели Machine Learning для подключения в средам разработки IDE, которые предлагают скрипт на основе описаний естественного языка или фрагментов кода.
В 2022 году Gartner выделил машинное обучение генерации кода одной из самых перспективных технологий, включив её в свой традиционный цикл технологического хайпа.
«Расширение внедрения искусственного интеллекта — важнейший способ развития продуктов, услуг и решений. Это означает ускорение создания специализированных моделей искусственного интеллекта, применение искусственного интеллекта для разработки и обучения моделей искусственного интеллекта и внедрение их в производство продуктов, услуг и решений», — отметили в Gartner.
Автономные системы позволяют обеспечить адаптивность и гибкость бизнес-процессов, которые сложно или почти невозможно достичь традиционными методами искусственного интеллекта. В ближайшем будущем подобные технологические решения будут применяться всё чаще, но уже сейчас искусственный интеллект отлично справляется с участием в ИТ-соревнованиях.
GitHub Copilot, AlphaCode и другие: код, который пишет код сам
Машинное обучение генерации кода помогает не только профессиональным разработчикам, но и может заменять некоторых сотрудников, если требуется найти однократное несложное ИТ-решение.
GitHub Copilot функционирует на основе OpenAI Codex и умеет работать с фреймворками и такими языками, как Python, JavaScript, Ruby, Go и TypeScript. Copilot способен как предлагать решения к уже написанному программистом коду, так и выдавать оригинальный, основываясь исключительно на текстовом запросе с критериями. Протестировать работу сервиса может любой человек.
AlphaCode это проект от DeepMind, позволяющий решать более сложные математические и программные задачи, чем их предшественники. Команда действительно смогла устранить большинство проблем, с которыми сталкиваются автоматизированные генераторы кодов, благодаря крупному массиву данных и качественной фильтрации. Подробно о том, как устроен AlphaCode рассказывают создатели на собственном сайте.
Windows Machine Learning’s code generator MLGen позволяет создавать интерфейсы (C#, C++/WinRT, C++/CX) с классами, скрывающими методы доступа к базам данных. MLGen можно использовать на устройствах Windows для оценки обученных моделей и решения задач с их помощью.
Технологии будущего
Технологии искусственного интеллекта и машинного обучения уже многие годы расширяют наши представления о диджитальных возможностях настоящего и будущего. Потенциал автоматизированной генерации кода, тем более постоянно обучающейся, невероятно велик.
«Результаты [моделей искусственного интеллекта] включают в себя более точные прогнозы и решения, а также более быстрое получение ожидаемых выгод. Роль людей же в большей степени будет сосредоточена на том, чтобы быть потребителями, оценщиками и надзирателями» — Gartner
Несмотря на то, что повсеместное внедрение системы машинного обучения генерации кода ожидается лишь через 5-10 лет, уже сейчас программы справляются со сложными задачами на уровне среднестатистического айтишника. И хотя сейчас подобные решения позволяют экономить время разработчиков, оставляя его для решения более сложных задач, вполне вероятно, что в ближайшем будущем, к технологиям ИИ будут прибегать, наоборот, для поиска новых решений.