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

29 июня 2021 года дочерняя компания Microsoft GitHub и OpenAI объявили о новом Copilot на базе искусственного интеллекта в качестве сервисного помощника для разработчиков 29 июня 2021 года, наслаждаясь славой непреходящей эксклюзивной функции AI-Pair Programmer.

Выступая в качестве идеального расширения для бета-пользователей, которое помогает программистам генерировать или автоматически дополнять свои коды, считает ли это надвигающейся гибелью разработчиков? Что продвижение GitHub Copilot означает для индустрии разработки программного обеспечения?

Подобно надстройке, которая помогает авторам курировать контент, Copilot позволяет разработчикам писать свой код, внося предложения. Copilot очень похож на функции автозаполнения в почтовых приложениях, таких как Gmail, и расширениях Google, таких как Google Docs. Заменит ли ИИ в конечном итоге разработчиков?

Генеральный директор OpenAI Сэм Альтман опубликовал твит примерно в середине июня 2021 года, в котором поделился своими взглядами.

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

Второй пилот не первый в своем роде; Tabnine и Kite ранее обеспечивали автодополнение кода с помощью искусственного интеллекта. С учетом Microsoft и OpenAI Copilot является быстро развивающимся рынком и с момента своего создания был эффективным инструментом.

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

Благодаря дальнейшим достижениям OpenAI адаптировала модель прогнозирования языка GPT-3 для компьютеризированного кода для модели под названием Кодекс, которая демонстрирует высокую производительность на наборе данных написанных человеком задач с уровнем сложности, сравнимым с легким.

Нельзя отрицать, что с дальнейшими улучшениями он будет улучшаться за счет значительного повышения производительности разработчиков и снижения стоимости производства программного обеспечения. Генеральный директор GitHub Нат Фридман заявляет, что этот код с помощью ИИ является третьим этапом в эволюции кодирования. Могут быть заявления, что он может заменить написание кода (программистов), но, безусловно, потребуется гораздо больше, чтобы заменить разработчиков в первую очередь. Итак, сводясь к реальному вопросу, заменит ли второй пилот GitHub разработчиков?

Заменит ли Github Copilot программистов?

Источник изображения

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

Существует общее требование по расширению разработчиков организации. По оценкам, с учетом сокращения на 11 700 выпускников СНГ в 2021 году и оценки BLS роста числа рабочих мест разработчиков программного обеспечения на 22%. Могут быть тысячи вакансий, оставшихся незаполненными или трудно заполняемыми. Ожидается, что к 2021 году рынок ИТ-аутсорсинга составит около 413,7 млрд долларов США.

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

Упрощая написание новой клиентской или серверной системы на Javascript, эта модель хорошо обучена, чтобы помочь сгенерировать правильный код. Модель будет хорошо обучена генерировать правильный код и создавать шаблоны и повторяющиеся шаблоны кода.

Вы можете бесплатно пользоваться Github Copilot в течение 14 дней, после чего с вас будет взиматься плата. Теперь, когда вы знаете, что он невероятно функционален, было бы несправедливо не рассказать вам о его недостатках и о том, обладает ли он интеллектом, чтобы заменить программистов или разработчиков?

Является ли GitHub Copilot угрозой?

Критические недостатки и проблемы безопасности GitHub:

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

Во многих публикациях на OpenAI сообщается, что Codex дает правильный ответ только в 29% случаев, но при этом пишет плохо рефакторинговый код. Разработчики, возможно, ожидали большего, учитывая, что Copilot обучен работе с огромным количеством репозиториев кода от лучших программистов мира. Это связано с тем, что Copilot предложит наиболее часто используемый код. Возможно, это не то, что подходит для вашего проекта.

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

Давайте попробуем сравнить его код с кодом обычного программиста, вставьте в него свои пять копеек, и вы сможете соединить точки. По сравнению со средним программистом, это намного хуже, так как он не компилирует код и не предлагает те, которые лучше всего подходят для ваших требований.

Даже делая то, что он должен делать, он не проверяет, работает ли он в соответствии с тем, что говорится в документе, путем оценки наилучшего соответствия спецификациям проекта.

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

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

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

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

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

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

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

Этично ли использовать Github Copilot?

Источник изображения

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

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

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

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

Стоит ли нам беспокоиться о GitHub Copilot?

Мы все знаем, что за ИИ будущее. Ясно как день, что машинное обучение скоро автоматизирует производство программного обеспечения и сгенерирует код, превратив разработчика программного обеспечения в эффективную архитектуру программного обеспечения.

Недалеко время, когда в большинстве кодовых баз 80% кода будет автоматически генерироваться аналогичными продуктами, такими как Github Copilot в вероятном будущем, которые в основном написаны на таких языках, как Javascript или Python, поскольку они имеют наибольшую долю рынка.

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

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

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