GitHub Copilot: краткий обзор помощника по программированию

GitHub Copilot Программирование и разработка

В качестве помощника GitHub Copilot должен самостоятельно предлагать и дорабатывать код. ИИ GitHub в настоящее время все еще находится на стадии тестирования и подвержен ошибкам. Однако со временем он должен работать гораздо эффективнее.

Что такое GitHub?

Чтобы понять, что такое GitHub Copilot и что он должен делать, важно сначала взглянуть на GitHub. GitHub — это совместный контроль версий, американский издатель которого принадлежит Microsoft с 2018 года. GitHub предназначен для того, чтобы большие команды могли работать вместе и независимо над кодом. Все версии сохраняются, и изменения могут быть объединены по мере необходимости.

Что такое GitHub Copilot?

С 2021 года компания предлагает некоторым пользователям GitHub Copilot. Инструмент AI — это интеллектуальный помощник, призванный помогать разработчикам создавать код. Первоначально это работает через автозаполнение. Когда пользователь начинает вводить код, GitHub Copilot предлагает различные варианты того, как этот код может выглядеть целиком. Второй пилот получает информацию из общедоступного кода, например, из различных репозиториев. GitHub AI идет гораздо дальше и знает множество языков интернет-программирования, таких как Go, Java, JavaScript, Python, Ruby и TypeScript. Искусственный интеллектсо временем становится умнее, а затем предлагает лучшие предложения.

И наоборот, это также означает, что GitHub Copilot в настоящее время по-прежнему очень расширяем. Сама компания также указывает, что предложенный код еще не идеален. Кроме того, процент попаданий предложений до сих пор был очень четким. Поэтому пользователи должны исходить из того, что код еще не является исполняемым и что в некоторых случаях даже предлагается что-то непригодное для использования. Однако второй пилот в Git уже предлагает первые полезные подсказки или действительно полезные предложения.

GPT-3 — основа для GitHub Copilot

Основой для GitHub Copilot является система производства языка GPT-3. Это было опубликовано OpenAI в 2020 году и использует стратегии глубокого обучения для завершения человеческих текстов или для написания ваших собственных текстов. ИИ использует для этого различные алгоритмы, собирает огромные объемы данных и использует их для создания нового контента, который практически не должен отличаться от текстов авторов-людей. Опять же, чем больше «кормят» ИИ, тем лучше будут его результаты. С помощью GPT-3 уже были предприняты попытки создать код на основе изученных структур. Затем Microsoft вложила значительные средства в OpenAI и GPT-3, чтобы полученные знания можно было использовать для GitHub Copilot.

Как включить GitHub Copilot?

GitHub Copilot в настоящее время недоступен в свободном доступе. В настоящее время только группа избранных тестировщиков имеет возможность протестировать ИИ, внести предложения и, таким образом, улучшить инструмент. Цель состоит в том, чтобы рано или поздно превратить GitHub Copilot в коммерческую программу, которую разработчики смогут использовать для своей повседневной работы над новым программным обеспечением. Однако пока неизвестно, когда ИИ будет готов. На этапе обучения и тестирования заинтересованные пользователи могут получить только первое представление. В настоящее время поддерживаются Visual Studio Code, Neovim и IDE JetBrains, такие как PyCharm и IntelliJ IDEA.

Читайте также:  Интеграция QML с C++ и JavaScript - исчерпывающее руководство для разработчиков

Насколько хорошо работает ИИ?

Первые отчеты многообещающие, но GitHub Copilot, похоже, еще далек от того, чтобы быть готовым к выходу на рынок. В целом, процент попаданий не особенно высок, и качество предложений также может быть значительно улучшено. Большая часть кода еще не используется и во многих случаях приводит к ошибкам. Качество будущего коммерческого релиза будет сильно зависеть от того, насколько хорошо ИИ обучается, и от качества предоставленного ему исходного кода. GitHub Copilot в настоящее время принимает ошибки в исходном материале так же невинно, как и нечистый синтаксис. После этапа обучения результаты также должны улучшиться.

Какие проблемы есть у второго пилота GitHub?

В дополнение к проблемам, упомянутым с неуместными предложениями или расширяемым синтаксисом, также ведутся дискуссии об основной подверженности ошибкам кодов, которые в настоящее время создаются с помощью GitHub Copilot или могут быть созданы в будущем. Поскольку основа, на которой ИИ должен учиться, часто ошибочна или, по крайней мере, непроверена, конечный результат слишком часто бывает неопределенным. Отмечается, что все входные данные, предоставленные ИИ, должны быть проверены; однако, по крайней мере, сомнительно, может ли это привести к реальному преимуществу в повседневной работе в долгосрочной перспективе. В предыдущих тестах код GitHub Copilot часто работал плохо.

Некоторые разработчики также опасаются, что использование Copilot в Git потенциально может привести к нарушению авторских прав, если ИИ просто возьмет на себя целые блоки кода. Существуют различные правила добросовестного использования; вопрос о том, подпадают ли под это успехи ИИ в обучении, как минимум спорный. Это тем более верно, если GitHub Copilot можно будет использовать и в коммерческих целях в будущем. В самой компании поясняют, что лишь несколько исходных кодов уже принимаются полностью или частично без изменений. При большей успешности обучения это значение должно уменьшаться еще больше.

Кому полезен ИИ GitHub?

GitHub Copilot в настоящее время все еще является уловкой, добавленная стоимость которой очень управляема. Однако, как только ИИ узнает больше, это может отнять у разработчиков много работы. С одной стороны, можно было бы показать альтернативные решения и предоставить подходящие примеры синтаксиса без длительного поиска в различной документации. С другой стороны, в конечном итоге он должен добавлять отдельные блоки кода независимо друг от друга и, таким образом, вносить трудоемкие строки. Хоть это и облегчит работу, но для разработки все же потребуются определенные базовые знания. Вероятно, пройдет много времени, прежде чем ИИ начнет писать код самостоятельно.

Читайте также:  Руководство для новичков по работе с строками в .NET

Заключение

GitHub Copilot — это очевидная идея, которая в какой-то момент может прийти в голову при работе с исходным кодом. Идея внимательного помощника, который берется за более мелкие задачи и указывает на возможные ошибки, весьма перспективна. Однако на данный момент ИИ еще далеко до этой роли. Текущая фаза тестирования является лишь первым шагом в этом направлении, поэтому, как и ожидалось, частота ошибок высока. Пока невозможно достоверно сказать, когда GitHub Copilot действительно будет доступен для всех заинтересованных сторон. Тем не менее, первый шаг был сделан на этапе испытаний.

Оцените статью
Блог о программировании
Добавить комментарий