Pull to refresh

Comments 31

В связи с тем, что ии пишет лучше человека, определить что это ИИ не представляется возможным. Openai для изображений вставляет копирайт через стеганографию. В тексте/коде же этого нет.

Есть информация как именно Openai для изображений вставляет копирайт? Это скорей всего до первого преобразования, многие платформы переконвертируют изображения в свой формат.

https://help.openai.com/en/articles/8912793-c2pa-in-dall-e-3

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

Это не хитрый болт, а стандартные данные, которые практически любой редактор изображений умеет просматривать и удалять. Консольный imagemagick, к примеру, или приложение GIMP.

В тексте могут быть невидимые символы шириной 0 пикселей.

https://vas3k.club/post/23858/

Что будет если их вставить в код, в комментарии, в редакторе кода — неизвестно.

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

По вашей же ссылке ниже указано, что добавляются метаданные, которые легко могут быть удалены, а вовсе не стеганография. Даже название статьи об этом явно говорит: «C2PA in DALL·E 3C2PA standard, OpenAI's implementation, and C2PA metadata ». Не вводите в заблуждение.

Забавно. Основная претензия к коду ИИ - это не то, что в этом коде возможна самая дикая хрень, а вопросы копирайта...

От людей постоянно идёт хрень, к этому уже привыкли. А вот от судов отбиться уже сложнее.

Как разберутся полностью с правовыми извращениями, скорее всего запрет либо отменят, либо закроют глаза.

А как обладатели авторских прав на код будут обнаруживать плагиат? Ведь для этого нужен исходник возможного плагиата, а легко ли получить его исходник?

Ну взять случай, когда оракл обратился в суд на гугол, из за какого то однострочного метода в java API. Мол этот метод, признак того, что гугол скопировал исходный код для своей реализации под андроид. Потом судились хз сколько, да по моему до сих пор судятся из за чего то подобного.

Так теоретически можно в любых исходниках найти сходства, потому как некоторый код просто по здравому смыслу по другому не напишешь. Ну попрошу я сгенерировать ИИ парсинг к примеру VIN номера автомобиля. Вполне стандартная структура получится, в чём как раз ИИ и силен. А для меня тупая, кропотливая работа.

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

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

Ведь для этого нужен исходник возможного плагиата, а легко ли получить его исходник?

Есть софт для композиционного анализа (SCA), который в том числе может анализировать исходники на предмет заимствования фрагментов из других проектов, проверять совместимость лицензий и т.п. В некоторых случаях алерт может прилететь даже из-за одной строчки когда.

Этот софт принципиально иначе работает и приводит ссылки на место заимствования. Например, я загружаю свой открытый код и вижу ссылки на свой же гитхаб, как и ожидалось. Есть множество public domain проектов, из которых код брать можно (скажем, SQLite), и наличие ссылки именно на этот исходный код критично (а не на скопированные оттуда строки в проекте с ограничительной лицензией). А вот чатгпт и прочие код берут неведомо откуда, так что потенциальные проблемы очевидны. Добавят пруфы и возможность задавать ограничения на использование только public domain кода и проблема решится.

У GitHub copilot есть несколько режимов работы. Он может давать подсказки на основе вашего же кода. Здесь риски минимальные. Очень удобно при рефакторингах.

Его можно также попросить сгенерировать код по текстовому описанию. Тут есть риски. Невозможно для миллионов пользователей сгенерировать какую нибудь сортировку пузырьком миллионом уникальных способов. Решения неизбежно станут повторяться. Кто-то из первопроходцев залицензирует и остальных обвинят в плагиате.

Переиспользование только своего кода это слишком большое ограничение и так невозможно научиться чему-то новому. Есть же public domain коды, в книгах опубликованные, специально лицензированные так авторами и так далее, оттуда можно и нужно использовать, с указанием источника. Вероятно, если провести масштабный аудит закрытого кода, то там будут качественные куски надерганного из паблик домен плюс уйма трэша, написанного собственноручно. То есть большой вопрос, а есть ли там что-то ценное и уникальное, а если и есть, можно переписать на других языках в другом стиле (что нейросети вполне по силам).

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

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

Нарушение - явное копирование кусков. Согласен.

ИИ же не копирует явные куски? Ведь нет?

а потом, впечатлившись красотой, по памяти напишу код для bsd, это будет нарушением?

Иногда да, поэтому во многих компаниях есть требования к разработчикам даже не приближаться к некоторому коду (GPL например или уж тем более не читать утёкшие проприетарные исходники), а также не искать и не читать патенты конкурентов (потому что случайное создание чего-то запатентованного -- это меньшее нарушение, чем осознанное)

И еще вопрос. Как модераторы определяют, руками я написал метод, или сгенерировал с помощью ИИ?

Никак, просто среди джентльменов принято доверять друг другу.

Эти правила созданы не для того, что выискивать ии код. А для страховки: когда кто-то подаст иск/докажет, что кусок иишный, то они смогут сказать, что автор нарушил правила и все вопросы к нему.

Грустно это все как-то. Авторские права, точнее возня с ними, чаще всего приносят лишь что-то плохое, часто доводя вещи до абсурда! Зато отнимают нервы и время.

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

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

Ну я не то, что напишу код используя AI, он лиш его дополняет, убирает чисто муторную составляющую, примерно как дополнение текста в телефоне.

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

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

К примеру есть массив с ключами, мне нужно в бд вставить каждый ключ, его значение, здесь код шаблонный, одинаковый,

Раз они "шаблонные", то и никаких ынтелектов не нужно, нужен шаблон. Потому уже лет пятнадцать использую для шаблонных операций FAR и его макросы.

"Машина должна работать, человек — думать" (c)

Возможно не так описал шаблонность, что словил отрицание. Но имел ввиду к примеру случай, когда мне нужно с помощью PDO вставить данные. Сразу я пишу строку, примерно такого вида: $query = 'insert into table test (val1, val2, val3, ..., valN) Values (?, ?, ?, , ..., ?)', пишу с телефона, поэтому сильно упростил форматирование.

После мне нужно будет передать эту строку в вызов prepare, а уже после передать массив с данными в функцию execute.

Вот как раз эти данные, массив данных, придется записывать как:

$arr[] = $someobj->val1;

$arr[] = $someobj->val2;

...

$arr[] = $someobj->valN;

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

Насчёт Far, к сожалению не знаю о чем речь, у меня ассоциация лишь с Far Manager. Если можете, скиньте пожалуйста ссылку на информации об этой штуке. Если это помогает, то буду очень благодарен!

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

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

Насчёт Far, к сожалению не знаю о чем речь, у меня ассоциация лишь с Far Manager.

Он самый. В нём можно делать макросы, Вы в курсе?

И вот эти самые макросы восхитительно ускоряют описываемые неким повторящимся паттерном действия.

Sign up to leave a comment.

Other news