Регистрация

Создан помощник программистов, который будет писать за них код

30 июня 2021 395 0

Источник: CNews.

Виртуальный коллега-программист

Корпорация 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 г. стало известно, что Amazon запустила сервис Honeycode для создания приложений без необходимости написания программного кода. Проект полностью бесплатный, и использовать его могут как обычные потребители, так и крупные компании. К примеру, Slack, разработчик одноименного мессенджера, уже заявила о готовности к использованию Honeycode в своей работе.

Нажимая на кнопку "Подписаться", Вы соглашаетесь с условиями Политики в отношении обработки персональных данных и даете согласие на обработку персональных данных