Microsoft запустила сервис Copilot, представляющий собой виртуального помощника программиста на базе искусственного интеллекта. Он изучает код и комментарии к нему и предлагает разработчику функции и целые строки для добавления в этот код. Такой подход ускоряет процесс написания программ и отказаться от поиска решений в интернете. К тому же в процессе работы Codex обучается и с каждым разом становится все умнее. Инструмент полностью бесплатный.
Виртуальный коллега-программист
Корпорация Microsoft разработала нейросетевого помощника программиста, который позволит упростить процесс написания кода. Проект получил название Copilot (второй пилот – англ.), и в его основе лежат технологии искусственного интеллекта стартапа Open AI.
Copilot развернут на базе GitHub, одного из крупнейших в мире Git-репозиториев. С 2018 г. он принадлежит Microsoft. Open AI тоже имеет определенные связи с корпорацией. Как сообщал CNews, в 2019 г. она вложила в этот стартап $1 млрд.
Виртуальный помощник программиста обучен взаимодействовать с различными фреймворками (средами разработки). Он понимает несколько языков программирования, но на момент публикации материала Copilot был заточен в первую очередь под JavaScript, Go, Python, Ruby и TypeScript.
Со слов главы GitHub Нэта Фридмана (Nat Friedman), Copilot – это именно помощник программиста, а не его заменитель. Это находит свое отражение и в названии проекта.
Copilot, утверждает Фридман, даст разработчикам возможность писать более качественный код. Он даже может позволить ускорить этот процесс за счет быстрого поиска решения возникших в ходе написания кода проблем. Другими словами, Copilot может заменить программистам поиск решений в интернете.
Как работает Copilot
В основе системы Copilot лежит система искусственного интеллекта Codex за авторством специалистов OpenAI. Для ее обучения были задействованы ресурсы самого GitHub, то есть миллионы строк кода в файлах, хранящихся в открытых репозиториях.
В теории, Copilot можно сравнить с коллегой-программистом, который постоянно смотрит в чужой монитор и дает советы. Система изучает код, над которым в данный момент идет работа, и заодно комментарии в нем. Также она следит за положением курсора и знает, над какой строчкой трудится программист.
На основе этих данных Copilot начинает предлагать добавить в код одну или несколько строк или функций в зависимости от выполняемой работы. Разработчик сам решает, последовать совету искусственного интеллекта или отклонить его.
Решения программиста тоже влияют на обучение Copilot. Чем больше он взаимодействует с системой, тем быстрее она обучается программированию на различных языках, и тем более полезными становятся ее советы. Как следствие, процесс программирования при наличии постоянно набирающегося знаний помощника, пусть и виртуального, постепенно ускоряется.
На момент публикации материала Copilot был доступен в виде дополнения (плагина) к бесплатному редактору Microsoft Visual Studio Code. Также он работает и через любой современный в браузер в GitHub Codespaces. Оценить возможности Copilot сможет любой разработчик, без каких-либо ограничений.
Классическое программирование уходит в прошлое
Крупные компании делают все возможное, чтобы процесс программирования стал проще, быстрее и понятнее. Их действия также направлены на снижение порога входа в эту сферу, чтобы начать писать код мог почти каждый.
Новое в СХД
Немалую роль в этом играет и сама Microsoft. За месяц до запуска Copilot она создала инструмент для написания ПО без развитых навыков программирования. Проект получил название Microsoft Power Apps, и он пригодится тем, кто пишет на языке Power Fx.
С его помощью пользователи смогут разрабатывать программы в формате диалога с компьютером. Например, при разработке приложения в сфере электронной коммерции можно будет описать в диалоге желаемую цель на естественном английском языке: «find products where the name starts with ‘kids» («найти продукты, название которых начинается со слова «детский»» — англ).
После этого Power Apps задействует алгоритмы искусственного интеллекта и предложит варианты преобразования этого запроса в формулу Microsoft Power Fx. Пользователю же останется только выбрать наиболее подходящий вариант, например «Filter(‘BC Orders’ Left(‘Product Name’, 4)=»Kids»)».
В октябре 2020 г. Microsoft выложила в открытый доступ приложение Lobe для создания готовых моделей машинного обучения. Lobe дает возможность создавать такие модели даже тем, кто не умеет программировать — от пользователей нужно лишь загрузить в нее данные, а всю работу программа выполнит сама.
Lobe полностью бесплатна. Результат ее работы затем можно использовать в сторонних ПО и устройствах.
Но дальше всех пошла компания Amazon. Пока Microsoft развивает помощников программиста, Amazon продвигает сервис, полностью заменяющий разработчика.
В июне 2020 г. CNews писал, что Amazon запустила сервис Honeycode для создания приложений без необходимости написания программного кода. Проект полностью бесплатный, и использовать его могут как обычные потребители, так и крупные компании. К примеру, Slack, разработчик одноименного мессенджера, уже заявила о готовности к использованию Honeycode в своей работе.