Comments 50
То есть шутка про написать doom за вечер, становиться явью? Ничоси:)
Эту штуку разрабатывает Microsoft, а они разрабатывают windows. Подождите, то есть...
Для go Copilot умеет генерить пристойные заготовки функций или циклов. Порой подсказывает вызовы и параметры системных функций и алгоритмы.
На самом деле проблема го-о-о-раздо глубже.
Это же натурально, искуственный штрэйкбрехер!
Подобная система за пару лет способна заменить 95% ИТ-специалистов. И покончить с перманентным дефицитом оных.
Самое неприятное, поздно дергаться: сбиваться в профспилки, выходить на манифесты, запрещать или прятать свой код из репозиториев. Процесс уже необратим :(
Подобная система не способна заменить 95% ИТ-специалистов.
Что такое Copilot? Это по сути своей поиск похожего по тем решениям, что опубликованы в OpenSource, вашему с целью уточнить у вас "Слушай, я нашёл подобное. Может оно тебе подойдет, чтобы ты не писал сам?". И, слово "copilot" является производным от "co-pilot", которое в свою очередь переводится как "второй пилот".
Copilot в состоянии спокойно справиться с тем, что можно и самому написать без подсказок: базовые алгоритмы, функции, методы и тд. Неуверенно, но справится с чуть сложнее задачами, но со специализированными задачами - уже не справится вовсе.
И это не замена, так как искусственного интеллекта, который сможет самостоятельно и полноценно писать любой код нет и не будет ещё длительное время. А то, что выдают за ИИ, не более, чем "подсказчик" или "заточенный писать что-то определенное".
PS: Кстати, прятать код из репозиториев не надо, достаточно сделать его не публичным и с доступом только определенному кругу лиц :) И, в этом случае, если Copilot уже не будет использовать решение, которое было в данном репозитории, но будет искать похожее :)
"copilot" является производным от "co-pilot"
С моим слабым английским слышится "copy a lot".
более скажу, это именно так и работает :)
Откуда такая уверенность в том, как именно это работает?
Copilot это искусственный интеллект, который обучался на больших объемах тестовых данных.
Уверен, что Microsoft без зазрения совести скормила своей сеточке все имеющиеся репозитории не обращая внимания на лицензии!
Нейросеть нельзя обучать на плохих данных, а хороший код в паблике не лежит
Откуда такая уверенность, что заявление об использовании в обучении кода только из публичных репозитеориев это правда?
На самом деле проблема го-о-о-раздо глубже. Нет такой подлости на которую не пойдут люди за денюжку малую. И даже не за деньжку, а за запах денюжки. Еще не утих шум от травли Столмана (где активно принимали участие фонды спонсируемые MS), но есть люди для которых MS = символ прогресса, а люди выступающие против - лудиты, как минимум.
Кто-то же эту статью собранную на основе маркетингового булшита рекламных статей из песочницы вытянул.
Copilot, даже находясь в общественном достоянии, не способен заменить 95% программистов просто потому, что на 2000% он вашу эффективность не повысит. Каждый, кто сталкивался с новомодным Зеро-кодингом, понимает границы применимости подобных решений. Работа программиста не писать код, а думать!
НО, нахождение таких продуктов в закрытом доступе у корпоратов, позволит им манипулировать тем кодом, который пишете Вы. Игнорирование свободных лицензий пока только видимая верхушка айсберга.
Подобная система за пару лет способна заменить 95% ИТ-специалистов
Пока еще не может. Но даже если когда-то сможет, это не значит что 95% ИТ-специалистов потеряют работу. Это значит что у ИТ-специалистов станут требовать в 20 раз большей эффективности.
Как показывает реальная история с рухнувшим Боингом
Это лишь частный случай. Глобально человечество уже прошло бесчисленное множество кругов кратного повышения эффектиновсти в самых разных сферах, а потребность в работниках все никуда не пропадает, лишь меняются требования.
Тот же принцип работает с электроэнергией. Мы создаем все более и более эффективные приборы и источники энергии, но при этом потребность в их количестве не спадает, а наоборот растет, и уже достигла уровня "нам бы нужно еще вчера все то, что вы сможете сделать за год".
Да просто очередная экспертная система, которая подсказывает специалисту и помогает экономить время. Давно там IBM Watson заменил всех врачей и сам делает операции по RDP?
Подобная система за пару лет способна заменить 95% ИТ-специалистов. И покончить с перманентным дефицитом оных.
Вы гуманитарий? Или маркетолог?
Когда программисту лень писать какую-то часть кода, строк на 10, он открывает гугл, пишет там свой запрос, видит ссылку на github или stackoverflow, копирует пример оттуда и разбирается, подходит ли вообще эта хрень к его задаче или нет. Может этот код вообще не о том.
Ровно эту одну функцию программиста заменяет copilot. Точнее, живой программист сначала смотрит, подходит или нет, а уже потом копирует в программу эти 2-5-10 строк. А copilot копирует, а разбираться предлагает живому программисту.
Поинтересуйтесь, сколько производителей мебели или, хотя бы, столяров, заменила циркулярная пила. Подсказка: не 95%. И даже не 0,00095%
Потому что большие нейронки учатся на огромных датасетах, в которые неизбежно попадает куча проприетарщины, но при этом доказать, что в обучающий датасет попала вот именно ваша интеллектуальная собственность, в общем случае невозможно, даже имея на руках код и веса этой самой нейронки (а чаще всего оно доступно лишь в виде сервиса, и тогда анализ ещё более усложняется).
Мало того, если сейчас при взгляде на копию сразу понятно, что это копия, то нейронки позволяют очень быстро переработать копию хоть текста, хоть рисунка так, что становится очень сложно доказать факт копирования.
В итоге рано или поздно (и скорее рано) копирасты потребуют полного запрета на нейронки. И объявят пиратством использование любой нейросети, для которой разработчики не могут предоставить доказательство того, что она обучалась только на лицензионно чистом контенте, допускающем подобное применение.
Всё хитрее. Авторское право на творчество нейросетей не распространяется и пока эта сфера не определена в правовом поле. НО рано или поздно определенность наступит. И тут возможны варианты:
1. Признать творчество нейросетей общественным достоянием.
2. Признать собственностью владельца алгоритма нейросети
3. Признать собственностью разработчика определившего параметры нейросети для творчества.
Будет неприятным сюрпризом если соавтор-бот предъявит авторские права на совместно разработанный с Вами код, не так ли?
Не про этап творчества речь, а про этап обучения.
- Нейросеть обучается на огромном количестве проприетарщины, и с формальной точки зрения после этого вся нейронка является производным произведением, пользоваться которым нельзя без разрешения всех тех, чья интеллектуальная собственность использовалась для обучения. Вот только доказать, что конкретно ваша ИС была в датасете, практически невозможно.
- Что, если нейронка использует в качестве рефа-«затравки» чью-то ИС? Скажем, вы копируете кусок проприетарного кода и просите нейронку его дописать, потом начало выкидываете, оставляя только дописанное. Формально получается тоже производное произведение, но тут доказать нарушение копирайта ещё труднее.
- Нейронки вида «перефразировать текст», «перерисовать ту же картинку в другой стилистике» — это опять же создание производных произведений, причём ещё более близкое к плагиату. Но доказать факт плагиата опять же непросто, особенно если переделано достаточно сильно.
Думаю, в соответствии с лицензией использования нейросети или сервиса.
По нормальному, если ты платишь за сервис, то и продукт этого сервиса принадлежит тебе. Т.е. если это например сервис генерирующий логотипы, то в условиях использования должна быть какая-то такая огворка, что мол пользователь получает экслюзивное право на использование генерированного логотипа только в случае его юридической регистрации. Потому что сервис может в теории сгенерировать одно и тоже, либо очень похожее, двум разным людям. Чтобы тёрок потом у сервиса с пользователем не было.
А вот получить обратно данные которые были отправлены на обработку думаю нереально. Ведь в плане GDPR они в принципе не являются персональными данными.
меня больше волнует сколько багов в конечном продукте получится из этих кусков кода
Для этого напишем программе прямым текстом то, что мы от нее хотим: «multiply matrix A and B and return the result»
Теперь, вместо того, чтобы использовать библиотеку для работы с матрицами у нас будет куча копипасты? Еще и не известного качества
К слову, библиотеки Copilot предлагает тоже.
Зачем вам годами отлаживаемые и проверяемые библиотеки от Apache Foundation, вот вам наш проприетарный черный ящик, его выучили на миллиардах Laba1 пользователей гитхаба, теперь он будет писать код за вас. Фюче из нау, олд мэн.
Согласен. Все рутинные операции программистов решаются написанием универсальных библиотек и фреймворков. Если задача не решается библиотекой, то и нейронкой её скорее всего никак не решить.
Благо искусственный интеллект умеет выполнять рутинные действия в считанные секунды, не допуская при этом ни одной ошибки!!!
Абсолютный бред. Допускают приемлемое количество ошибок.
И насчет того, что не могло оставаться долгое время в свободном доступе - почему не может? Линукс может, Андроид может, даже Facebook, поиск Google и Gmail могут ли ещё десятки глобальных систем), а тут не может? Бред.
И про всякие цифры процентов кода и количества закоммиченных файлов - интересует не это, а только одно - насколько вырастает производительность, если вырастает вообще.
В общем MS захотела еще больше бабла.
Кроме шуток, будет продолжаться развитие средств полуавтоматизированного написания кода, и через несколько лет это безусловно окажет влияние на рынок. Уровень автоматизации примерно "Сири Copilot, проведи рефактор модуля X - раздели по обращению к другим функциональным компонентам на три модуля, неразрешенные зависимости выдели в отдельный прокси, с ним потом разберусь сам. Новые модули покрой простыми юнит-тестами." или "Посмотри десять видеозаписей сеансов работы с программой и сгенерируй набор сценариев для базового автоматизированного UI тестирования." достижим в горизонте лет десяти. Это не значит, что полностью отпадет нужда в программистах, тестировщиках и архитекторах, но в таком количестве они будут не нужны, - возросшая производительность оставшихся покроет потребности рынка.
PS. Кстати, можно сделать любопытный вывод о будущей переориентации программирования с уровня абстракции "исходный текст и файлы" на что-то другое, более общее.
Нет, в течении десяти лет такое недостижимо.
Да, работа с ast-деревом доступна уже сейчас. Сейчас большое количество софта именно на этом уровне с кодом и работает.
Но на горизонте 10 лет недостижимо даже адекватное понимание этих двух фраз-приказов: в текущем виде нейронки не мыслят, они статичны. А для понимания приказов нужно много работы: перевести в промежуточный язык, выделить сущности и связать их с кодовой базой, сформировать очередность команд, и т.п. Много абстрактной работы с контекстами. Это целый ворох технологий будущего, которых пока просто нет.
Даже у человека дойти до уровня этих приказов займет 3-5 лет.
10 лет - это типичное время развития одной не особо сложной технологии. А не букета сложнейших технологий.
Но на горизонте 10 лет недостижимо даже адекватное понимание этих двух фраз-приказов: в текущем виде нейронки не мыслят, они статичны.
А им и не нужно понимания в общем смысле этого слова. В том то и смысл нейронных сетей, что они позволяют оперировать неявными или вообще неопределенными зависимостями, находя взаимосвязи в данных на основе оценки на изменение параметров обратной связи. Конечно, такая сложная деятельность как оперирование программным кодом потребует большой работы, сложных архитектур сетей, скорее всего комплексных, но похоже, что это приниципиально реализуемые вещи, а значит, они и будут реализованы. Может быть, не через 10, а через 20 лет. Но может, и через 5. Вспомните прогресс в области AI за 10 лет.
Тем кто топит за копирайт. Ну так ведь программисты тоже являются нейросетями, они тоже могут запомнить проприетарный код, который они когда-то увидели и на основе него что-то писать. С другой стороны, нейросеть предлагает не точные куски, она тоже может "переваривать" свой опыт. Так что границы авторского права размываются.
С точки зрения применения методов машинного обучения, всё это выглядит довольно нелепым. Мы (точнее, разработчики) пытаемся взять некий бульон и на основании этого бульона построить (полу)автоматический решатель программистских задач. Бульон нужно предварительно подвергнуть тщательному препроцессингу, но тогда, боюсь, от бульона останется не так, уж, много кода.
Автоматизация программирования должна, прежде всего, должна учить архитектуре, дисциплине программирования, искусству достижения возможного. Хороший программист он как учёный (по Фрэнсису Бэкону) это не муравей, который тащит всё подряд, а пчела, которая действует избирательно. Вот в этой избирательности действий и заключается профессионализм в любой области.
Необходимо работать над проверкой этих гипотез чтобы делать наш мир лучше!
Да-да. Конечно!
Пишите нам и помните, что Microsoft компания всегда думает о том, как вас лучше сделать.
Многие комментаторы рассуждают как бабульки у подъезда с семечками, что то из серии "всё, программистам хана, копайлот всех уволит"))) Потестил этого друга и сам, на JS, неплохие подсказки выдает время от времени, где даже если знаешь что писать, он наперед предлагает уже готовый код, просто немного подредачить его под свои нужды, временами "говнокодит", но не принимай его предложения да пиши код дальше. Но по моему скромному мнению, чтобы нейронка писала весь проект с нуля, с идеальным кодом, который не нуждается в рефакторинге программистов-людей, включая дробление на отдельные модули и т.д. - далеко не в нашем веке)
Поправка: на данный момент copilot доступен только студентам, но не работникам образовательных организаций(
GitHub Copilot