В стремлении упростить процесс программирования и привлечь в эту сферу новых специалистов Microsoft вместе с OpenAI запустила систему GitHub Copilot, сообщает CNBC. Нэт Фридман, глава GitHub, описывает ее как виртуальную версию «парного программирования», когда два разработчика пишут исходный код сообща. Copilot смотрит на строчки кода и комментарии в файле, а также на положение курсора и вносит предложения. По мере того, как программист принимает или отклоняет их, модель учится и становится все более полезной.
Программирование состоит из поиска решений, как выполнить какую-то задачу, и применения их, и со второй частью проблемы Copilot справляется хорошо, сказал Грэг Брокман, сооснователь и технический директор OpenAI.
По словам Кевина Скотта, технического директора Microsoft, Copilot может спасти от необходимости продираться сквозь кучу документации, чтобы найти нужный инструмент. «Не могу сказать, сколько часов я потратил, пытаясь придумать правильный способ выполнить относительно прозаическую задачу», — сказал он. Но Copilot предназначен не только для ветеранов программирования — он может стать инструментом, который существенно облегчает сам процесс написания кода.
Copilot не просто повторяет код, который видела раньше. Система анализирует то, что написал программист, и генерирует новый код, включая специфические функции. Среди примеров на сайте проекта — автоматическое написание кода для импорта твитов, рисования диаграмм или импорта рейтинга.
Модель Codex, лежащая в основе GitHub Copilot, близкая родственница GPT-3, мощной модели генерации текстов, которую разработали в OpenAI. Инженеры скормили Codex многие терабайты кода из открытых источников, чтобы научить ИИ разбираться в языках программирования и используемых решениях для получения того или иного результата, пояснил Фридман.
Сначала GitHub Copilot появится в Visual Studio Code, открытом продукте Microsoft, а в будущем компания планирует интегрировать его в платный Visual Studio.
Еще один пример полезного применения алгоритма GPT (только второго, а не третьего поколения) — инструмент TabNine. Он дописывает за программистом строчки кода, поддерживает более 20 языков программирования и может быть интегрирован в большинство популярных редакторов.