Руководство по использованию GitHub Copilot для более быстрого написания кода.

Что такое GitHub Copilot?

Согласно GitHub, «GitHub Copilot — это программа для создания пар ИИ, которая помогает писать код быстрее и с меньшими затратами труда. GitHub Copilot извлекает контекст из комментариев и кода и мгновенно предлагает отдельные строки и целые функции».

Он работает на OpenAI Codex, системе искусственного интеллекта, созданной OpenAI. В настоящее время он доступен для VSCode, Neovim и набора IDE JetBrains.

Как работает GitHub Copilot?

OpenAI Codex обучался на общедоступном исходном коде и естественном языке, поэтому он понимает как программирование, так и человеческие языки. Он поставляется как расширение для IDE и может предлагать код на основе ваших комментариев и кода редактора.

Лучше всего это работает, когда код разделен на более мелкие одноразовые методы с описательными именами для функций, а также с параметрами функций, чтобы ИИ мог генерировать код из максимально возможного контекста.

Также следует знать, что GitHub Copilot не гарантирует создание лучшего или даже работающего кода. Он может предложить код, который не всегда работает или даже имеет смысл. Человеческое усмотрение всегда должно присутствовать, а код должен быть надежно протестирован.

Начало работы с GitHub Copilot

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

После регистрации вам будет предложено присоединиться к списку ожидания. Эта функция медленно развертывается, поэтому вам, возможно, придется немного подождать, чтобы получить ее.

Вы получите уведомление, как только GitHub Copilot будет активирован для вас. Нажмите на ссылку «Установить GitHub Copilot», чтобы установить его в свою IDE.

Установка Copilot

Следующие шаги, упомянутые здесь, относятся к комплекту IDE JetBrains. Вы можете выполнить шаги для VS Code здесь и NeoVim здесь.

Перейдите в Настройки на вкладке Intellij, чтобы перейти к Jetbrains Marketplace. Найдите GitHub Copilot и установите плагин. Вам будет предложено перезапустить IDE, чтобы изменения вступили в силу.

После перезапуска среды IDE в меню «Инструменты» появится возможность войти в систему второго пилота.

Теперь вы получите возможность связать свою учетную запись GitHub со своей IDE. Войдите на веб-сайт GitHub, чтобы добавить код устройства.

После добавления устройства GitHub запросит разрешение на авторизацию Copilot для написания кода от вашего имени. Нажмите «Авторизовать плагин GitHub Copilot», чтобы предоставить необходимые разрешения.

После завершения авторизации вы получите подтверждающее сообщение.

Поздравляем, все готово!

Теперь ваше устройство подключено.

ИИ за рулем

Мы начнем с Copilot с простого стартового проекта. По традиции начнем с простого метода Hello World.

Все, что нам нужно сделать, это написать комментарий как «Метод Hello World». Об остальном позаботится ИИ.

Интересная вещь происходит, когда мы опережаем метод Hello World. При нажатии на ввод AI предлагает мне другой метод Hello World Method с именем.

При попытке переместить методы в менеджер ИИ автоматически предлагает интерфейс для реализации менеджера.

Попробуем создать контроллер для сервиса.

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

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

Станет ли Copilot Скайнетом для разработчиков?

ИИ может быть довольно пугающей идеей для некоторых людей. Тем не менее, он все еще находится на очень ранней стадии. Copilot в его нынешнем состоянии можно рассматривать только как дополнение к некоторым из уже существующих помощников кодирования, таких как Intellisense и Kite.

По-прежнему разработчик очень крепко держит бразды правления (пока 😛). И как разработчик, вы всегда должны использовать эти технологии в качестве помощников и не слишком полагаться на них.

Влияние на будущее

Каким будет будущее влияние этих технологий? Будет ли он достаточно зрелым, чтобы заменить среднего разработчика? Короткий ответ: не в обозримом будущем. Программная инженерия — это гораздо больше, чем написание фрагментов кода.

Но одним из последствий этих технологий будет то, что они позволят повысить уровень автоматизации в области разработки программного обеспечения. Это может привести к сокращению избыточных рабочих мест, которые могут быть автоматизированы, но в конечном итоге это приведет к общему повышению квалификации разработчиков, поскольку у них будет больше уровней абстракции.

Поздравляем! Не стесняйтесь рассказывать о технологиях или любых интересных проектах в Twitter, GitHub, Medium, LinkedIn или Instagram.

Спасибо за прочтение!

Ссылки

Больше контента на plainenglish.io