Top.Mail.Ru
Истории

Коллега или конкурент? Что разработчики думают об ИИ-помощнике Copilot от GitHub

Истории
Елена Лиханова
Елена Лиханова

Старший редактор RB.RU

Елена Лиханова

Copilot был создан на базе инструмента Codex OpenAI и гигантского архива программного кода GitHub, принадлежащего Microsoft, и уже впечатлил разработчиков всего мира. Код, предложенный Copilot, уже составляет более 35% нового кода Github на Java и Python. Как он изменит обучение программированию и работу программиста? Мнения и прогнозы — в переводе материала Protocol.

Коллега или конкурент? Что разработчики думают об ИИ-помощнике Copilot от GitHub

Технический консультант Ади Нгом нервно рассмеялся. Инструмент Github Copilot только что предугадал именно ту функцию, которую он хотел напечатать: классическую функцию Фибоначчи. Теперь он хотел ускорить ее, сохранив промежуточные значения в памяти. Copilot, установленный всего несколько мгновений назад, был на шаг впереди программиста.

«Может ли он слушать то, что я говорю? Возможно, так это и произошло», — пошутил Нгом в ноябре в прямом эфире LinkedIn, где он обсуждал Copilot с другими разработчиками.

Достаточно открыть хэштег #GitHubCopilot в Twitter, чтобы убедиться: у многих авторов публикаций был такой же удивительный, но несколько неприятный опыт. «Github #Copilot настолько полезен, что временами становится страшно, — пишет один пользователь в Twitter.

«Я действительно поражен потенциалом и безумием #GitHubCopilot. Я всерьез говорю, что это невероятно», — отмечает другой. Прямо сейчас Copilot доступен только отдельным зарегистрированным разработчикам.

Инструмент позиционируется как «партнер-программист с ИИ» и может рекомендовать строки или блоки кода прямо в редакторе. Он умеет автоматически заполнять повторяющийся код, предлагать списки потенциальных решений и превращать комментарии в код. При этом он не совершенен: UI-инженер из Франции Иван Галятин признает, что иногда это может быть похоже на программирование с ребенком.

Но за шесть месяцев, прошедших с момента запуска Copilot, его польза и возможности стали очевидны. GitHub говорит, что предложения Copilot составляют более 35% недавно написанного кода на таких языках, как Java и Python.

Любая новая технология, автоматизирующая значительную часть работы, всегда одновременно удивляет и пугает. С такой же реакцией сталкивается и команда Copilot. Грег Брокман, соучредитель и CTO OpenAI, прокомментировал изданию Protocol: «Мы хотим максимально увеличить количество причин для удивления и свести к минимуму причины для страха».

Copilot поднимает вопросы о будущем образования, труда и творчества в мире компьютерных наук. Споры только ужесточатся, если инструмент будет использоваться на рабочих местах.

«Мы видим, что многие люди требуют этого, — подтверждает Оэге де Моор, вице-президент GitHub, курирующий Copilot. — Это действительно большая победа».

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

ИИ, который может завершить код, не является чем-то новым. Многие разработчики используют подобные инструменты, такие как Tabnine и Kite. Но Copilot отличается от них из-за компании, которая развивает проект. На GitHub размещены архивы 73 млн разработчиков: это невероятный объем информации, на которой может тренироваться Copilot. Объедините это с охватом Microsoft и продвинутыми исследованиями ИИ OpenAI, и вы обречены на успех.

Брокман отмечает, что создание такого продукта очень облегчает догфудинг (англ. Dogfooding, Eating your own dog food) — так называют практику, которая подразумевает использование компанией самостоятельно разработанного ПО. Это помогает определять недостатки продукта. Команды OpenAI и GitHub хорошо знакомы с проблемами и техническими особенностями разработки, из-за чего им легче было оценивать Copilot в процессе его создания.

Цель состоит в том, чтобы заменить рутинную часть программирования. Вместо того, чтобы идти в Stack Overflow, Quora или Google, чтобы найти базовое решение для кода, можно использовать Copilot, и он сам предложит его. Вы нажимаете tab, чтобы принять его, или продолжаете печатать, чтобы проигнорировать его.

«Я могу делегировать некоторые задачи, которые я просто не хочу выполнять, — отмечает Галятин. — Это экономит много умственной энергии и времени».

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

Обучение новых программистов

Де Моорнадеется, что Copilot привлечет больше людей к профессии программиста, помогая технологическим компаниям решать распространенную в отрасли проблему найма персонала. Высококвалифицированные разработчики могут избавиться от рутины и заняться более интересными проблемами. Новички или низкоквалифицированные разработчики могут использовать второго пилота в качестве отправной точки.

ноутбук, программирование, написание кода

Фото в тексте: Unsplash

«Люди, которые еще недостаточно овладели языком программирования или лишены преимущества образования в области компьютерных наук, смогут начать работу гораздо быстрее», — объясняет де Моор.

Не все согласны с тем, что Copilot хорош для начинающих.

«Я являюсь наставником джуниор-разработчиков и прошу их держаться подальше от Copilot, — говорит Нгом. — Очень важно сначала получить четкое представление о практике программирования».

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

Copilot имеет смысл для разработчиков среднего и продвинутого уровня, считает Нгом. «Я не против того, чтобы копировать и вставлять код, если вы понимаете, что копируете и вставляете».

Но Брокман полагает, что инструменты на базе ИИ, такие как Copilot, могут стать реальной «демократизирующей силой» в образовании в области компьютерных наук. Он упоминает удобную экспериментальную функцию, которая объясняет строки кода простым языком, сравнивая ее с персональным репетитором, который может дать необходимую обратную связь и инструкции.

Вспомогательный инструмент или самостоятельный разработчик?

Очевидные опасения вызывает то, что Copilot подавляет оригинальность. Кроме того, существует экзистенциальная проблема, связанная с тем, что инструмент полностью заменяет разработчиков. Всемирный экономический форум прогнозирует, что к 2025 году ИИ заменит 85 млн рабочих мест во всем мире, хотя отмечает также, что одновременно будет создано 97 млн рабочих мест.

Хотя некоторые обеспокоены тем, что ИИ отнимет у них работу, собеседники Protocol пока этого не делают. По крайней мере, пока нет. Copilot не может сравниться с человеческой интуицией, и работа разработчиков выходит за рамки написания кода. Де Моор и Брокман, как и ожидалось, также отказались от своих опасений.

«По-настоящему творческая часть программирования заключается в том, чтобы принять решение, что должна делать программа, — отмечает де Моор. — Я не думаю, что в будущем Copilot будет создавать полезный код без участия человека. Я вижу здесь возможность бесконтрольного человеческого творчества, которое больше не сдерживается несущественными деталями».

«Я на самом деле думаю, что ИИ не забирает работу, а скорее берет на себя всю рутину, — говорит Брокман. — У нас есть эти инструменты, которые просто улучшают возможности человека».

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

Во-первых, использовать для создания коммерческих продуктов инструмент, обученный на публичном коде, неоднозначно как с этической, так и юридической стороны. Споры на эту тему еще идут.

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

Суман Хансада, SaaS-инженер из Индии, использует Copilot для личных проектов, но не может применять его на своей работе. Copilot, а также, как следствие, GitHub и Microsoft, обучаются на коде своих пользователей. Это недопустимо для компаний, полагающихся на то, что клиенты платят за их код. «У вашей компании может быть проприетарный код, который она не захочет видеть в общественном достоянии», — пояснил Хансада.

Тем не менее, по мере совершенствования Copilot и кодекса OpenAI Брокман считает, что внедрение инструмента на рабочих местах неизбежно.

«Вы умножаете преимущества производительности для всех ваших разработчиков, — говорит он. — Я думаю, что мы увидим эти инструменты на рабочем столе каждого программиста».

Источник.

Фото на обложке: Roman Samborskyi / Shutterstock

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 Держать код при себе: как обезопасить ИТ-инфраструктуру в условиях ограничений рынка
  2. 2 Программирование 2.0: как ИИ-ассистенты упрощают разработку
  3. 3 Минцифры предложило вместо создания аналога GitHub использовать сервис одного из участников рынка
  4. 4 Как геймдев-стартапам сократить расходы и сроки за счет опенсорса
  5. 5 7 советов, которые помогут вендору грамотно организовать поддержку партнеров
FutureFood
Кто производит «альтернативную» еду
Карта