В GitHub представили предварительную версию GitHub Copilot, виртуального помощника для Visual Studio Code с элементами искусственного интеллекта, который подставляет строки кода или функции целиком по мере набора программного кода.

Созданное в сотрудничестве с OpenAI расширение GitHub Copilot анализирует ранее написанный разработчиком код и предлагает строки или целые функции, помогая находить эффективные способы решения проблем, писать тесты или изучать новые API и избавляя от необходимости поиска ответов на вопросы в Интернете.

Представленное в июне расширение GitHub Copilot адаптируется к индивидуальным особенностям написания кода конкретным программистом и помогает ему быстрее выполнять свою работу. Инструмент, обученный на миллиардах строк общедоступного кода, опирается на систему искусственного интеллекта OpenAI Codex, более подходящую для задач генерации кода по сравнению с языковой моделью GPT-3 (Generative Pretrained Transformer).

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

Компоненты GitHub Copilot доступны в виде расширения Visual Studio Code и работают везде, где функционирует Visual Studio Code – как на машине разработчика, так и в облаке GitHub Codespaces. В настоящее время доступ предоставляется ограниченной группе тестировщиков; желающие опробовать Copilot могут зарегистрироваться в списке ожидания.

GitHub Copilot поддерживает широкий набор языков и платформ, но, как отмечают его создатели, особенно хорошо предварительная версия инструмента работает с JavaScript, Python, TypeScript, Ruby и Go. В GitHub предупреждают, что формируемый Copilot код не всегда будет идеальным, а в отдельных случаях он и вовсе может оказаться неработоспособным. Как и любой другой программный код, он должен быть просмотрен, проверен и протестирован.