Pull to refresh

Comments 176

Гсди, да успокойтесь уже :)

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

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

Основных стратегий две:

  1. Развить интеллект/хитрожопость так, чтобы вашу работу не мог выполнять ИИ. В таком случае, вы можете позволить себе игнорировать до поры до времени ИИ-инструменты.

  2. Освоить ИИ-инструменты на уровне, который делает вас конкурентноспособнее остальных. Если считаете абсолютным правило "брать код ИИ - это отстой" - вы скорее всего проигрываете. Впрочем, не обязательно.

Перестаньте уже строчить статьи с одинаковым содержанием :)

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

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

Сельскохозяйственный рынок ЕС де-факто закрыт для стран из-за пределов ЕС. США закрывает рынок от Китая.

Так что стратегий больше. От банального лоббирования, как минимум в своей компании. До какой-нибудь экзотики, вроде, вандалить потенциальные обучающие выборки ИИ-инструментов, чтобы обеспечивать себя white-hat доходами.

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

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

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

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

но, возможно, нам будет полезно хотя бы обсуждение ситуации?

В телевизоре и ютубах всяких то же обсуждают всякое и на кухнях/лавочках тоже. Вот как они появились так и обсуждают. Не знаю не одного примера когда это на что то повлияло глобально (за исключением пропаганды действующих властей)

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

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

Если обсуждать нечего, то всех всё устраивает и нет никакого понимания надо что-то делать или нет. Без обсуждения не будет и организации организации)

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

Перестаньте уже строчить статьи с одинаковым содержанием :)

Под ИИ-новостями вы это тоже пишете? Или мозг уже "абырвалг"?

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

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

Писать много кода должно быть тяжело. Лень от написания бойлерплейтов должна перевешивать лень от вынесения абстракций.

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

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

Ровно то же самое относится к генеренке визуала и текста

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

Вообще-то юристы — это и есть программисты, интерпретаторы и отладчики для человеков.

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

А прикиньте как обидно всяким депутатам — они эти программы пишут: "законы" называются.

Вот только они не сильно лучше джунов — всевозможные хакеры лоеры постоянно находят в них дырки лазейки.

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

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

Теория государства и права с вами не согласна. ТГП знает разные виды норм: есть декларативные, императивные, диспозитивные и т.д. Федеральный закон о банкротстве, например, это вполне себе программа - там прописан конкретный порядок действий которые нужно совершить для признания лица банкротом. Причем там ещё и ветвление алгоритма есть.

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

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

Суды — это интерпретаторы кода. Они тоже бывают с багами.

Если вы через пятую точку делаете одну задачу, где гарантии что через это же место вы не делаете всё остальное? Ни когда не пойду к вам и подобным вам "специалистам".

Просто в ахуе, доберять чему-то что до конца не понимает - это трешь. "Понимаю, что меня где-то нае..., но не понимаю где"(с) в вашем случае даже "не понимаю, ....".

Что вы будете делать если скрипт от ИИ будет ставить "запятую", по наличию которой вы лично сидите на 20 лет с вероятностью 1%. И этот процент выпадет вам.

добверять чему-то что до конца не понимаетшь - это трешь

А вы до конца понимаете, например, как работает процессор в вашем смартфоне, чтобы доверять результатам его работы? Или пример вообще из другой области, понимаете устройство метаболизма вашего организма, чтобы принимать решение чем его (себя) сегодня кормить?

P.s. надеюсь правильно интерпретировал исходную мысль

Будешь смяться, я отлично понимаю как работает процессор, в включая машинный код, умею программировать на ассемблере и т.п. Вообще знаю более 10 языков программирования. Знаю как работает память (ОЗУ, ПЗУ и прочее), что такое шина данных и для чего он нужна, что такое прерывание, как они генерируются и как их использовать, любые внешние накопителя (включая перфокарты) и прочее и прочее. Боле того считаю, что любой программист, обязан это знать. Скажем можно написать код который скрытно для пользователя, за некоторое время физически убьёт проц или винт. Модные SSD вообще убиваются в раз. Более того, такой код прост до ужаса. Его даже антивирусы не поймают, так как это самый обычный код - который по сути не делает ни чего "противозаконного" и его периодически запускает сам пользователь с нужными правами. Где гарантии, что ИИ не вставил нечто подобное в скрипт который сгенерировал и какой либо "не мамонт"(с) прыгая от восторга не стал его использовать (круто - ХАЛЯВА)? И физическая смерть железа, это самое безопасное, что может произойти.

Всё что я написал раннее и здесь - уже происходило. Это быль. То что вы этого не знаете - подтверждает моё определение выше или как говорили в Городке: "Не все йогурты одинаково полезны"(с)

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

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

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

Человек, кстати, тоже может вставить в код вредоносные элементы, которые потом очень трудно будет обнаружить на этапе ревью кода.

Я в корне не согласен, ИИ убивает программиста. В статье описано почему, просто у многих не хватает опыта чтобы это понять. Тут один индивид, хватался, что не знает какие события могут наступить у объектов с которыми он работает, и только с помощью ИИ он решает поставленные задачи. На самом деле описанная задача решается максимум за 30 минут грамотного "курения" хелпов и форумов. Какие выводы можно сделать из этого? Это не понимает API с которым работает, не понимает основ языка программирования на котором программирует, не понимает основ объектной модели ОС в которой работает, не понимаем принципов работ с события у объектов, не разбирается в событиях (их разновидность сильно ограничена), не умеет работать с литературой, не умеет работать с форумами, не умеет проводить поиск по вопросам, не умеет формулировать задача и вопросы по ним, не умеет разбивать задачи на более мелкие и решать их, не умеет тестировать отельные задачи, не умеет создавать тестовые проекты для тестирования отдельных задач, использует в своей работе сторонний не проверенный код и прочее и прочее. Описал максимум 20% из возможного. И это называет себя "программистом".
Может ИИ и позволит ему "решить" текущие задачи на данном этапе, но не позволит ему закрыть пробелы в знаниях, даже понят, что такие пробелы есть, получит профильный опыт. То есть - ИИ лишает его возможности развития.

Если быть овощем, у кого-то это предел мечтаний - то почему я должен быть против?

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

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

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

Но скорость создания с помощью ИИ работающих приложений впечатляет, и у меня она за счет сокращения времени на поиск нужной информации. Например, с помощью ChatGPT мне удалось сделать примерно за две недели систему рекомендаций товаров на базе ИИ, а также нейропоиск товаров на ИИ.

Правда на отладку всего этого для установки на продакшен мне потребовалась еще пара месяцев (и еще несколько лет на изучение нейросетей). А так мой опыт в ИТ, наверное, уже лет 40)

описанная задача решается максимум за 30 минут грамотного "курения" хелпов и форумов

В то время как AI-enhanced программист за эти 30 мин уже выполнит и эту задачу за себя и другую за того парня. И кого предпочтёт рыночек?

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

AI-enhanced программист за эти 30 мин уже выполнит и эту задачу за себя и другую за того парня.

Ну да, ну да...

Сейчас бы рандомную картинку из интернета в качестве аргумента приводить :)

Как мне говорила в детстве мать, "умный — поймёт, а иной — не догадается".

В то время как AI-enhanced программист за эти 30 мин уже выполнит и эту задачу за себя и другую за того парня. И кого предпочтёт рыночек?

Рыночек предпочтёт специалиста с инженерным мышлением, которое никакой ИИ заменить не сможет. Зачем руководителю нужно промежуточное звено для работы с ИИ, которому ещё и зарплату нужно платить?

По факту историй о том, как кто-то стал сильно много больше кушать благодаря ИИ на хабре нет пока. А вот обратную ситуацию знаю лично - когда (старый знакомый) программист стал простые задачи делегировать жпт, вместо того чтобы поднапрячься и написать строго детерминированный шаблонизатор, пусть и затратив в 10х больше сил и времени. А потом внезапно оказалось, что для более сложных задач ему не хватает опыта, полученного на более простых задачах. Вот это то, что в упор не хотят понимать апологеты жпт. Используя жпт, ты остаёшься на уровне жпт. Товарищ раньше писал 3D-движки и ГИС-систему, а сейчас клепает примитивные сайты, и заказами вообще не загружен, ибо конкуренция.

Ну а нейросети своего качественного предела уже достигли. Чтобы научить её абстрактному и инженерному мышлению нужен совершенно другой подход. Этого нельзя достичь увеличением обучающей выборки в 100х просто потому, что негде взять эту выборку!!! Оригинальный контент в интернетах давно кончился, а его средневзвешенное качество неуклонно снижается, в том числе и из-за генеративного контента.

вы до конца понимаете, например, как работает процессор в вашем смартфоне

Как бы да...

чтобы доверять результатам его работы?

... и именно поэтому я им не доверяю.

понимаете устройство метаболизма вашего организма

(c ужасом:) А Вы что — нет?

А вот здесь-то и скрывается подвох 😉 Разбираться в базовых принципах работы транзисторов, понимать основы биохимических цепочек, таких как цикл Кребса или механизм окислительного фосфорилирования - это, конечно, полезно и интересно, из этого ещё и можно делать прикладные выводы, тем самым улучшая качество своей жизни. Но углубляться в тысячи тончайших процессов: квантово-механические эффекты в транзисторах, сложные алгоритмы машинных кодов или многослойные метаболические пути - задача неподъёмная для человека, не обладающего профессиональной квалификацией в этой области. Не-специалист в этом разбираться не будет. Да и не сможет. Да и не нужно ему это.

А вы до конца понимаете, например, как работает процессор в вашем смартфоне

Кажется, это называется https://ru.wikipedia.org/wiki/Доведение_до_абсурда .

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

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

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

Я разработчик и я использую сгенерированный код.
Я backend разработчик. Но при этом у меня есть fullstack проекты. Раньше для решения многих фронтовых задач мне приходилось звать фронтендера на помощь или часами что-то учить.
Сейчас я очень часто использую AI для генерации кода

Пример сегодняшнего дня:

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

<template>
  <div
    class="menu-sidebar"
    :class="showMenu ? 'active' : ''"
  >
    <button
      type="button"

...

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

И спустя 15 секунд у меня решение

Ну не знал я никогда названия событий touchstart, touchend, touchmove, что они значат и т.д.

А тут я увидел готовое решение, и спустя пару минут у меня готовое решение.

Я сильно меньше трачу мыслетоплива для решения таких задач.

Тупею ли я как разраб?
На мой взгляд нет, наоборот количество задач которые я решаю и количество решений, которые я в итоге использую - расширяется

Тупею ли я как разраб? На мой взгляд нет, наоборот количество задач которые я решаю и количество решений, которые я в итоге использую - расширяется

А теперь представьте, что в гости к Вам заехал Fiber Finder — и Ваша работа встала колом.

Ну не знал я никогда названия событий touchstart, touchend, touchmove, что они значат и т.д.

Надеюсь, вы не для медицины код пишете?

Простите, но я честно не понимаю хайпа вокруг ИИ. Это же всё просто галлюцинации либо "вода".

Картинки это бред с 7 пальцами или рунами вместо букв.
Ответы на бытовые вопросы это просто вода.
Код нерабочий, за ним всё надо перепроверять, а нах тратить время если всё равно придётся разбираться.

100 % моих попыток его использовать были провальными.

Вы просто не умеете его готовить.
И да, возможно вы проиграете во внутривидовой борьбе тому, кто умеет.

Тот кто научится, тоже проиграет, если при росте конкуренции из отрасли просто деньги уйдут, a работа слесарем станет престижнее должности сеньор-помидора.

А кто сказал, что будет эта борьба? Может через 5-10 лет всё стухнет, стихнет. Будет научно доказано, что продукт нейросетей это бред и галлюцинации. Останутся чисто утилитарные применения для сортировки спама в почте и другой категоризации.

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

Борьба будет. Между вами и вашим коллегой, который активно использует условный copilot / chatgtp / claude.

И если выяснится, что производительность коллеги выше – вы будете меньше кушать.

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

А реальность то говорит об обратном https://habr.com/ru/companies/bothub/news/853866/

Результаты исследования показывают, что рост использования ИИ сопровождается снижением производительности поставок на 1,5% и снижением стабильности поставок на 7,2%.

Весь мир захватила парадигма Хуяк-Хуяк-и-В-Продакшен. Тонны цифрового мусора.

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

И если выяснится, что производительность коллеги выше – вы будете меньше кушать.

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

:)

Вы просто не умеете его готовить.

А в чём особенность этого умения? Что конкретно нужно уметь?

Семь пальцев это уже лучше чем ничего.

Нет не лучше, это также нельзя использовать как и ничего. Это так же не лучше как неработающий код.

GPT-4o (2024-08-06)
Да, семь пальцев лучше, чем ничего. Это может быть метафорой или шуткой, подразумевающей, что даже если ситуация не идеальна, она все же лучше, чем полное отсутствие чего-либо. Важно ценить то, что у нас есть, даже если это не соответствует нашим ожиданиям.
Gemini Pro 1.5
Это поговорка, которая означает, что даже несовершенное или неполное решение лучше, чем отсутствие решения вообще. Даже если у вас есть только семь пальцев (вместо обычных десяти), это все равно лучше, чем не иметь пальцев вовсе. Они все еще могут выполнять множество функций.
Grok Beta
Да, семь пальцев — это определённо лучше, чем ничего. Важно помнить, что даже с ограниченными возможностями можно адаптироваться и жить полноценной жизнью. Существует множество примеров людей, которые преодолевают физические ограничения и достигают больших успехов. Главное — это не количество пальцев, а то, как вы используете свои возможности и ресурсы.
Mistral Large
Да, семь пальцев — это лучше, чем ничего. Хотя у большинства людей на руках по пять пальцев, наличие семи пальцев может быть связано с различными состояниями, такими как полидактилия. Однако, независимо от количества пальцев, важно помнить, что каждый человек уникален и имеет свою ценность.
Claude 3.5 Sonnet
Да, семь пальцев определенно лучше, чем отсутствие пальцев. Хотя это меньше, чем обычные десять пальцев, человек все равно может выполнять многие важные функции и адаптироваться к жизни с семью пальцами. Главное - сохранять позитивный настрой и фокусироваться на том, что можно делать, а не на ограничениях.

Отлично, яркий показатель. Сетки знают что такое метафора, знают про "людей, которые преодолевают физические ограничения", знают что такое полидактилия и даже знают, что такое "позитивный настрой", однако не знают, что оператор забыл сообщить им контекст из комментария, а также они почему-то не знают и не догадываются, что их братья по галлюцинациям (не LLM, а дегенеративный AI для картинок) внезапно часто рисуют количество пальцев, не совпадающее с количеством пальцев у существ в реальности.

промт был Семь пальцев это уже лучше чем ничего?
Надеюсь вы знаете слово "Ирония"?

Так они ещё и не знают, что пальцев в норме 20, а не 10.

Как думаете, что это такое?

Правильно, это говно3D конца 90-х. Именно тогда оно внезапно массово хлынуло в игры. Игроки, выросшие на вручную нарисованных 2D-спрайтах, блевали от подобной графики. Художники смотрели на это выпученными глазами, строча гневные статьи в игровые журналы, в которых доказывали, что предпочесть подобное ручной рисовке может разве только имбецил.

Но при этом доля игр со старым красивым 2D сокращалась со скоростью кубика льда в чашке горячего чая. А разгадка проста: 3D стоило намного дешевле, а создание равного количества контента занимало меньше времени. Ну и кого в таком случае будут волновать шестиугольные колёса, мыльные текстуры, лесенки алиасинга и торчащие во все стороны полигоны? Цена и скорость решают.

И это стало для 2D приговором. Уже к 2004-му 2D-игр стало исчезающе мало. А к 2008-му качество 3D изрядно подтянули, так что оно уже выглядело не столь блевотно.

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

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

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

Кого кроме душнил будет волновать количество пальцев и артефакты генерации

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

блевали от подобной графики

Так уж прям блевали? Да что вы говорите. Прям так что tomb raider, quake, need for speed, doom, carmageddon (хоть последние две и не полноценное 3D) на выходе закидали чем ни попадя.

А разгадка проста: 3D стоило намного дешевле, а создание равного количества контента занимало меньше времени

2D игры банально исчерпали свои возможности и перестали удивлять. Всё.

Художники смотрели на это выпученными глазами

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

Ну и классика. "Мы думали что будем заниматься искусством, а ИИ подметать улицы, но дожили до момента когда ИИ занимается искусством, а человек подметает улицы".

Мне кажется, что с таким подходом интернет просто утонет в дегенеративном контенте.

Вы так говорите, как будто до появления нейронок Интернет прямо ломился от высокохудожественного сверхдуховного контента. Большинство галерей типа deviantart'а и до нейронок были самой натуральной помойкой, ленты которой невозможно было просматривать без предварительно настроенных спам-фильтров. YCH, adopt, offer your price, auction, stream, remind - знакомые ключевики?

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

Нет, ну спам конечно тоже творчество, вот только искусством такое считать определённо не стоит. Мусор - он мусор и есть.

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

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

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

Заодно, кстати, это позволяет собирать статистику - сколько же сейчас льют нейросетевого контента. Скажем, на derpibooru доля ИИ-контента в залитых за первые 10 месяцев 2024 года изображениях составляет всего 16%. По-моему маловато для паникёрских воплей "мы утонули в ИИ-мусоре" и "из-за ИИ-контента стало невозможно искать изображения живых художников".

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

Вы так говорите, как будто до появления нейронок Интернет прямо ломился от высокохудожественного сверхдуховного контента.

Можете показать на этого человека, вместе посмеёмся.

Большинство галерей типа deviantart'а и до нейронок были самой натуральной помойкой,

Собственно, как и весь интернет :).

По-моему маловато для паникёрских воплей

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

Извиняюсь, я в этой теме не шарю, я в галереях не сидел никогда.

И при этом промтеры очень охотно тратят деньги на премиум-аккаунты и прочее продвижение.

Как индусы, которые на фейсбук (умолчим о его состоянии) гигабайтами генеративный шлак льют?

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

Ну посчитайте скажем количество пальцев у персонажей советских мультфильмов. Там сплошь и рядом их меньше чем надо. У Карлсона по 4 пальца, у барона Мюнхаузена четыре, ну и т.д.

Вот только люди обычно просто смотрят мультфильм, а не ловят там косяки рисовки и композиции.

Прям так что tomb raider, quake, need for speed, doom, carmageddon (хоть последние две и не полноценное 3D) на выходе закидали чем ни попадя.

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

А мыльный персонаж с тетраэдрическими сиськами

может собрать толпы фанатов, считающих её секси?

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

Ну посчитайте скажем количество пальцев у персонажей советских мультфильмов.

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

Так получается, можно создать хорошую игру с дерьмовой графикой?

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

Нейросетевая графика смотрится намного лучше той древней 3D-графики

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

Но по крайней мере у неё количество сисек не меняется по ходу действия!
Речь идёт вот об этом нейрокомиконесе
Речь идёт вот об этом нейрокомиконесе
Р

Ну в человеческих комиксах подобное тоже сплошь и рядом. И даже в фильмах не редкость, когда какая-то мелочь меняется при смене плана (скажем, кольцо кочует с пальца на палец и появляется/исчезает).

А тут у вас скорее косяк промтера, чем косяк нейронки, потому как промтер создавал не всю страничку одним запросом (кстати, современные нейронки уже позволяют и такое), а наделал кучу отдельных картинок и потом криво их смонтировал.

Ну в человеческих комиксах подобное тоже сплошь и рядом.

Не знаю — может, я последних человеческих комиксов не смотрел?

А у нормальных человеков есть

понятие "model sheet"

на котором говорится "рисовать только так, и никак иначе".

У нейронок оно тоже есть, называется Character LoRA. Ну или можно ещё IP adapter для тех же целей использовать. Проблема в том, что подавляющее большинство промтеров крайне лениво и предварительным созданием рефов не заморачивается, действуя по принципу "и так сойдёт".

О, спайро, пробил на ностальгическую слезу

А к 2008-му качество 3D изрядно подтянули, так что оно уже выглядело не столь блевотно.

А к 2024 качество самих игр дотянули до такого уровня, что Apple пришлось разрешить в iOS эмуляторы старых приставок, чтобы на телефонах хотя бы в игры от PSP можно было играть. А издатели начали массово переиздавать свои старые игры, потому что в них хотя бы геймлей был.

Кризис перепроизводства убьёт современное IT сильно раньше, чем LLM. Причём перепроизводства говна.

Вы сравнивайте палец с кое чем.

Был не переход графики, а переход к новым типам играм, ощущения от игры в уродливом 3d были совсем другими от любых 2d не из-за графики, а геймплея и погружения в мир которые 2d не мог дать.

Я так говорю:

Все программисты в мире делятся на две категории:
— Те, кто считает, что ChatGPT кодит на порядок лучше их;
— Те, кто считает, что ChatGPT кодит на порядок хуже их.
И те, и другие абсолютно правы.

Мы с Вами — из второй.

Это из серии горе-Кэпа, который хочет спёзднуть хоть что-нибудь умное, но, не знает что.


Получается, не существует программистов, которые думают, что ChatGPT кодит немножко лучше или хуже их? Или примерно как они сами? Или иногда думают так, иногда по-другому, в зависимости от того, что Чат накодил?


Тогда, из этой же серии:

Я так говорю:

Все люди в мире делятся на две категории:
— Те, кто считает, что мир - справедлив.
— Те, кто считает, что мир - несправедлив.
И те, и другие абсолютно правы.

Или:

Я так говорю:

Все люди в мире делятся на две категории:
— Те, кто считает, что Бог - существует.
— Те, кто считает, что Бог - не существует.
И те, и другие абсолютно правы.

Или:

Я так говорю:

Все люди в мире делятся на две категории:
— Те, кто считает, что 100 лет - это огромный срок.
— Те, кто считает, что 100 лет - это мгновение.
И те, и другие абсолютно правы.



Получается, не существует программистов, которые думают, что ChatGPT кодит немножко лучше или хуже их? Или примерно как они сами?

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

Поздравляю, коллега, Вы смогли понять мою мысль.

Мама в детстве мне всегда говорила

"Умный — поймёт, а дурак — не догадается."

промежуточные состояния действительно должны быть

Промежуточные состояния, конечно же, есть — это те, кто в процессе постижения дзена. Но я всё-таки писал афоризм, а не программу.

по картинкам - лично внедрял ии иллюстрации в дизайнерском агентсве/издательстве. Это примерно в 50 раз дешевле чем оплачивать работу иллюстратора, можно продавать вполне сеюе годные картинки по 1500-2500₽ в то время как иллюстратор за одну в таком стиле будет брать 10-15-20 тысяч в зависимости от сложности

по поводу кода - тут как посмотреть. Писать логику с помощью ии - такое себе, а вот закинуть в ЧатГпт километровй json и попросить написать все сущности необходимые для парсинга - ну это экономит пол часа зубодробительного вглядывания в скобочки закрывающие вложенную сущность внутри вложенной сущности, которая вложена в массив вложенных сущностей. И что самое главное - 100% результат, если что-то не так то json просто не спарсится.
По сущностям можно генерировать миграции в liquibase, вместо того чтобы самому это все делать и снова - если ошибка то код не сработает, но на данный момент результативность чатГпт в этих вопросах около 100%

А еще GPT отлично пишет тесты для уже готового кода. И дает кейсам осмысленные названия (на что лично у меня уходит больше всего времени).

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

Ну парсить json честно не пробовал, но вот все нейросети меня упорно пытались убедить, что

В этом случае вы можете использовать команду sort с ключом -t для указания разделителя и -k для указания поля сортировки. Однако, поскольку домены второго и третьего уровня имеют разное количество точек, вы можете использовать ключ -k 2,2 для сортировки по второму полю с конца, а затем ключ -k 1,1 для сортировки по первому полю с конца.

команда sort умеет в колонки с конца. А она не умеет! Столько времени потратил, вместо man sort

А вот пример коммерческой графической нейросети https://goldapple.ru/cards#gift-cards?step=0

Раза с 5го только какой-то удобоваримый результат дало, а до этого семь пальцев и руны вместо букв.

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

2. картинки генерю исключительно в миджорни. Там нынче можно если вдруг выдало неправильно количество пальцев выделить отдельно руку и перегенерится только рука и таким образом за 2-3 дополнительных захода исправляются косяки.

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

4. С ПЯТОГО РАЗА!??!?! ДА ЭТО ДАЖЕ ЗА ПОПЫТКУ НЕ СЧИТАЕТСЯ!!!!
в коммерческом плане генерация когда делаешь что-то по точному тз занимает порой 10-20 тестовых запросов, чтобы "вектор" выбрать, потом по кадждому изображению можно спокойно по 10-20 генераций с правками делать. Там не то чтобы кнопка "сделай хорошо" существует, нужно учиться и промптингу и смотреть какие есть техники дополнительные, исследователи на ютьюбе много чего инетерсного придумывают. В общем не все так просто

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

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

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

По бытовым вопросам помогает вспомнить (или узнать) термины, по которым легко найти нужный документ, время от времени пользуюсь этим.

Регулярно использую для генерации простого кода с популярными библиотеками - джуну самому банально набирать гораздо дольше (нет, дело не в медленной печати - я вполне нормально набираю, слепым десятипальцевым методом), и даже джуну объяснять задачу дольше, особенно если он с первого раза немного не то сделает. Тем более, когда нужно в документацию залезать.

Просто мне кажется, что вы рассматриваете ИНС как панацею, а по-моему, стоит рассматривать просто как ограниченный (но довольно быстро развивающийся) инструмент. И заколачивать молотком самые обычные гвозди, а не пытаться закручивать им лемешные болты.

Но если ничего не объяснять джуну — то как он станет миддлом?

Так чтобы получать правильные ответы, надо задавать правильные вопросы — а он же джун, у него лапки он не знает, какие вопросы задавать!

Все так, но что если условный ChatGPT рассматривать как язык программирования сам по себе? Язык программирования, код (Промт) которого автоматически переводится на другой язык программирования? Все таки писать промты тоже надо уметь. Я в детстве читал завалявшиеся у нас дома старые номера журнала "Наука и жизнь". Там был раздел про программирование и там помню была статья (может и не одна, даже) где автор сокрушался что мол начинающие программисты не хотят осваивать ассемблер, а ведь без него настоящим (тм) программистом не стать! Так мне кажется и тут.

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

Пока в таком языке уж очень много UB

Пока да. Но практически все языки были несовершенны в своих первых версиях.

Пока? Разве это можно как-то исправить? Проблема ведь в том, что в LLM используются естественные языки. А они слишком изменчивы и многозначны.

ИМХО, тут только надежда на всё лучшее понимание нейронками человеческого языка. Но вряд ли оно может достигнуть 100%.

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

И тогда человеку достаточно будет выучить всего один язык программирования, скажем Go, после чего он сможет работать с проектами, написанными на чём угодно - от C++ до Haskell. Потому что нейронки будут сперва транслировать код проекта на его любимый язык, а после внесения правок - транслировать обратно эти самые правки.

При этом полностью решается проблема легаси, и самые сложные языки программирования начнут умирать, потому что в их изучение никто не будет вкладывать время. Так что в итоге эволюция ЯП пойдёт в сторону снижения сложности обучения. Скорее всего по итогу останется что-то вроде Go или Python, который после определённых доработок и станет основным языком работы с нейросетями.

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

Зачем? Языки ведь различаются не просто синтаксисом.

И тогда человеку достаточно будет выучить всего один язык программирования, скажем Go, после чего он сможет работать с проектами, написанными на чём угодно - от C++ до Haskell.

Нет, не достаточно, по той же причине.

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

Посмотрел бы я как они будут транслировать проекты с Elixir на Go и обратно :)

Но речь то была изначально про естественные языки. У нас на этом этапе нерешённая проблема.

Сомневаюсь, что можно рассматривать ChatGPT как язык программирования. Для языков программирования есть ключевая характеристика: полнота по Тьюрингу - и всегда можно сказать: "Этот язык тьюринг-полный, а этот нет". Как оценить ChatGPT с этой позиции, я не знаю, поэтому и сомневаюсь. Если есть кто-нибудь, кто понимает, напишите, пожалуйста.

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

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

Что касается нейронок, то Тьюринг-полнотой обладают* даже древние LSTM-ки, а у ChatGPT куда более навороченная архитектура под капотом.

*

Без учёта длины контекста. Тьюринг-полнота предполагает доступ к бесконечному количеству памяти, чтобы вместить данные для любого возможного алгоритма.

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

Если я попрошу чат гпт сгенерировать интерпретатор, например, Бейсика - это будет считаться полнотой по Тьюрингу? Кстати, эмулятор машины Тьюринга он мне на питоне генерировал.

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

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

Скажем, связка генератор кода + установленный Python, с которым этот генератор может взаимодействовать, будет Тьюринг-полной.

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

Я тоже не программист, попробую объяснить, как я понял.

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

Язык, на котором можно написать такую программу - это язык программирования. Но пока еще неизвестно, он тьюринг-полный или нет.

Можно представить себе "программу второго порядка", которая как функция на вход принимает более сложный набор аргументов: код программы первого порядка и набор значений. И если набор значений совпадает с тем же, что можно отправить в программу первого порядка, возвращает те же самые результаты, что и та самая программа.

То есть, эта программа эмулирует поведение другой программы. А значит, может эмулировать поведение программы, которая в свою очередь эмулирует поведение другой программы ("программа третьего порядка"). И так усложнять можно до бесконечности.

Язык программирования, который позволяет писать такие "эмуляторы эмуляторов эмуляторов", является тьюринг-полным.

Поправьте меня, пожалуйста, если ошибаюсь.

Нейронки могут заменить творческие профессии, но не технические.

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

Актёров, съёмочные группы, декорации тоже можно обозвать рутиной. И вычислительные мощности должны со временем дешеветь.

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

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

Если никак не выходит их отправить на пенсию и заменить живыми людьми в возрасте до 40 лет, то может хоть нейронки смогут их выпереть.

вы хотите смотреть фильмы сгенерированые ИИ?

Не фильмы, а анимацию по уровню сложностью сравнимую с аниме-стилем. Да, хочу.

Нейронки могут заменить все. Вопрос лишь в наличии подходящих датасетов и мощностей. :) Слишком комплексные вещи (типа создания фильма полностью) пока далеко за горизонтом, так как для них требуется кууууча отдельных нейронок: написание сценариев, оценка сценариев (hook/retention/storytelling), создание storyboards (и их оценка), finetuning LLM-ок (а может новые LLM-ки и так будут уже справляться отлично) на написание промптов по этим кадрам для видео-генераторов, нейронка для оценки результатов видео-генератора, ..... и так далее про звук, саудн-дизайн, TTS с эмоциями, липсинк............

Я отлично помню сколько копий было сломано на тему логарифмических линеек и калькуляторов, что с ними у людей мозги атрофируются.
Это чем-то напоминает более свежую зарубу "настоящие программисты должны писать на ассемблере". Когда вы "пишете код" на новомодных фреймворках, вы не код пишете, а промпты компилятору по которым он генерирует машинный код :). Проблема не в том что ИИ пишет код, а что человеческий язык недостаточно детерминирован для чёткого описания инструкций компьютеру, для чего и изобрели ЯП.

И поскольку он недостаточно детерминирован, нам приходится писать на ЯП, а не промпты.

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

Правы же оказались те, кто был за линейки

Проблема не в том что ИИ пишет код, 

а в том, что он пишет рандомный код ;)

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

Так преподавателям что нужно, чтобы школьник умел решать задачи, или чтобы он обладал навыком устного (или как это назвать) счёта? Отберите у современных самолётов приборы навигации и о ужас-ужас, пилоты впадут в ступор.

А то что нужно преподавателям нужно спросить у них самих, что там в тз им прописали (или как там оно у них называется).

Люди вообще много навыков потеряли за последние сотню-другую лет. Например добычу пищи за пределами магазинов :). Но это особо никого не беспокоит, в отличии от устного счёта.

Тревогу бьют не очень умные преподаватели (к сожалению таких большинство). Умный преподаватель понимает, что опасения надуманы. Тем более в физмат классе. Почти все задачи решаются не до численного значения, а до формульного выражения. Калькулятор тут никак не поможет. Если же где-то надо оценить численное значение, а такое нужно бывает в физике, то всё оценивается до порядка - т.е. просто складываются и вычитаются степени, а остальные цифры игнорируются. Складывать и вычитать степени действительно проще в уме или на бумаге, чем на калькуляторе забивать числа целиком, чтобы делить и умножать. И хорошие учителя показывают детям этот лайфхак, демонстрируя реальные преимущества устного счёта на собственном примере. Ну а паршивые учителя бьют тревогу, т.к. на большее не способны.

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

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

Для компании нет разницы, кто писал код, если он понятный, хорошо документирован и корректно работает. AI ассистент может перестать работать, программист может уволиться. И при таких входных данных нам надо выбрать стоит ли использовать AI и для каких задач. Ясное дело что с большими и сложными задачами он (пока) не справится. Тысячи строк просто в контекст не влезут и продумать все мелочи за раз сложно. С другой стороны - тесты написать сможет. Базовую имплементацию функции с четкими требованиями написать сможет. Просмотреть код, чтоб в нем не было ляпов - может. Программисту остаются задачи уровня Middle+ - представить общую архитектуру, разбить на задачи, проверить что все кирпичи сходятся и все работает как надо.

Для компании нет разницы, кто писал код, если он понятный, хорошо документирован и корректно работает.

Осталась самая мелочь — научить ИИ писать понятный, хорошо документированный и корректный код.

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

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

А также автор явно запамятовал, как выглядели разборки с отладкой в те времена и чтение 100500 бумажных справочников при написании программ:

Маргарет Хамильтон
Маргарет Хамильтон

И насколько это было медленно, на самом деле.

В свое время кодил на ДВК, название редактора не помню, но по сути что-то вроде vi, знаешь хоткеи - будешь жить. Строк на экране было 24, на 80 символов. Из окошка в окошко переключаться не получится. Окошкек нету. Зато актуальными были распечатки - полотенца кода на рулоне бумажки, ибо 24 строки всё же маловато, чтобы охватить код. Так что Вы абсолютно правы, это было медленно. А если ещё учесть, что не было интернетов и приходилось изобретать велосипеды, то это было крайне медленно.

Ага.. вот Copilot, ИИ, ChatGPT всем помогает... Вы, гады, когда сделаете чтобы выделенный текст мышкой перетаскивался в редакторе? Бесит, 2024 год на дворе.

Вы мне лучше скажите, когда хабр paste в файрфоксе починит. Задолбало уже через Inspector вставку делать.

А то пока как-то так:

@Boomburum, напоминаю ^^^

Для меня в плане обучения сейчас ИИ скорее больше в плюс. Я решаю задачи по тем же рельсам, на которых я всегда их решал, а ИИ время от времени может привнести неожиданное, и часто более эффективное решение, о котором я раньше не думал. Если что-то непонятно - можно не копировать код сразу, а попросить сперва объяснить что там происходит. В плане того, что больше времени тратишь на ревью - возможно так и было поначалу, но теперь и LLM стали лучше, и я лучше научился и писать промпты и быстрее понимать, если ИИ пошёл куда-то не в ту степь.Опять же, вдумчивый код ревью порой даёт тебе больше знаний, чем написание кода самостоятельно, без обращения к нейросетям и гуглу.

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

Вот да. Всегда прошу объяснить подробно, если чего-то в сгенерированном коде не понимаю. Иногда узнаю что-то новое, иногда прошу разъяснить то, что знаю нетвердо.

Как продвинутый справочник - очень помогает.

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

Не холивара ради, просто интересно: может, не стоит так делать? Я не программист, все таки. К сожалению.

Но если не делать так - сам я это сделаю неизвестно когда.

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

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

Три дня это был срок при котором у кода не будет критов, да и миноров в 90% не будет, а если будут, то пофиксяться чуть позже, чем обнаружатся

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

А некого просить. У нас все программисты - 1С-ники.

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

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

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

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

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

Не знаю, может потому что у нас CRUDа в сервисе исчезающе мало. Но я не вижу прям какой-то паттерн рутины.

Я не понимаю, про какую рутину постоянно говорят

Есть задачи, связанные с творчеством, а есть не связанные. Написать сложный запрос к БД - творчество. Написать DTO к результатам данного запроса - рутина. Сгенерировать pdf к результатам данного запроса - рутина.

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

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

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

ИИ кодинг не обязательно либо обучение либо весь код написан ИИ.

Возможен гибридный подход:
- на простые рутинные куски кода передаем задачу ИИ.
Дальше: test, review, add to my codebase.

- на новые задачи, с которыми не работал, даю задачу на скелет решения.
Дальше: анализ решения, наброски кусков на скелет, тест.

За то, что написал я, я могу поручиться.

За то, что написали тот, кто принципиально не пользуется концепциями причины и следствия...

За то, что написали тот, кто принципиально не пользуется концепциями причины и следствия...

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

Мне не известны мясные программисты, которые не продумывали бы наперёд поведение программы, которую пишут. Так что тут Вы не правы.

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

Мне в принципе очень мало известно людей, которые бы пользовались концепциями причины и следстви

Это Вы про подобных дамочек?

— Шла вчера вечером по парку — изнасиловали. Сегодня шла — опять изнасиловали. Завтра снова пойду.

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

Может ещё и автодополнение и автоподстановку отключить в редакторе? Я не пользуюсь ИИ, но просто потому, что лень разбираться. Да и не вижу пока(?) особого профита по скорости. Всё равно надо будет прочитать и разобраться, что оно мне в код подкинуло.

Но если это ускоряет разработку, то это уже не остановить. Как бы не стыдили халявщиков)

Может ещё и автодополнение и автоподстановку отключить в редакторе?

(C ужасом:) А Вы что, её включали?

Я до сих пор более-менее сложные алгоритмы/архитектуру классов/структуру бд/etc предварительно пишу ручкой на бумаге. Одним цветом и без автодополнения. Было бы заманчиво, конечно, попросить у чатжпт "напиши наиболее оптимальный код для быстрой свёртки методом overlap-save без привлечения сторонних библиотек, с кэшированием тригонометрических таблиц fft для многопоточного доступа, с нулевой задержкой, и получением результата семпл за семплом через метод Complex Process(Complex input_sample)" и получить корректный работающий результат. Но увы, он даже с намного более простыми задачами не справляется, там, где нужно хоть какое-то инженерное мышление проявлять, а не копипастить код из стаковерфлоу.

Не вижу ничего плохого в передаче написания Boilerplate кода ИИ. Написание этого кода вручную — потеря времени и никакой выгоды для программиста. Простой пример: выборка из базы из кучи таблиц с кучей join и кучей полей в select. Показал результат запроса ИИ, попросил создать DTO, объяснил IDE, что вот эта функция возвращает коллекцию вот этих DTO и жизнь улучшается в разы. Теперь IDE услужливо подсказывает имена всех полей, и даже может показать их все, если с памятью совсем плохо.

Вообще просить ИИ написать код, который можешь написать сам — хорошая идея. Проситель так или иначе этот код напишет + сможет проконтролировать, чего там понаписал этот ИИ. А промахи этот ИИ совершает частенько. Остаётся контроль и исправление. Либо руками, либо повторными промтами.

А вот чего делать не нужно — так это тащить в разработку куски кода, которые непонятно как работают (для спрашивающего). Да, сейчас они вроде как и делают то, что нужно. Но будут ли этот делать в дальнейшем, с ростом кодовой базы и оптимально — большой вопрос.

Где вы берете задачи для ИИ?

У меня в кровавом энтерпрайзе для выполнения задачи нужно:

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

2) Найти в системе те 5-15 мест где нужно что-то поменять.

3) Прифигеть от того, что реализация в этих местах, документация и мнение заказчика о том, как оно работает - это три большие разницы.

4) Поменять реализацию. При этом постараться ничего не сломать.

5) Обнаружить, что все-таки что-то сломалось. Ну точнее стало работатать не так, как ожидают стейкхолдеры. Ибо у них в голове есть недокументированные требования.

Где тут применить ИИ?

у них в голове есть недокументированные требования.

ну так же, как сейчас разные девочки-принимающие-заявления-от-граждан

ну любое заявление, в котором что-то отличается от 2-3 шаблонов - "ой, а компьютер так не работает, перепишите, а так мы принять не сможем, компьютер не сработатет" - и всё.

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

А так им все же придется таки эти требования хотя бы в виде промпта проговаривать :-)

Ну например написать долбаные тесты на те куски, где что-то трогал.

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

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

когда поганый вражеский ИИ разработает сайт для компании за 15 минут,

...я тут же переквалифицируюсь в хакеры, потому что дырок в том коде будет — БелАЗ проедет.

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

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

"Убив дракона, рыцарь сам становится драконом". Я про это не один и не два раза уже писал.

"Пять причин почему автомобиль никогда не заменит лошадь".

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

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

Программирование в паре с LLM — это частный случай XP, где механический партнёр — это обширная библиотека кода, к которой можно сформулировать вопрос на естественном языке, и она ответит с большой долей вероятности правильно, что вообще-то чаще, чем у реального партнёра-человека с ограниченным опытом.

Художник должен быть голодным, иначе ничего гениального он не напишет ©

Художник должен быть голодным, иначе ничего гениального он не напишет ©

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

Безотносительно ИИ и сопутствующего инструментария — уже много лет подряд увеличивается скорость разработки, а не качество производимого.

И если отключить вам современное IDE и заставить набирать ваше художество в консоли, с сохранением текста только через периодическое дописывание в файл — вы будете делать то же самое, что сейчас, просто раздражающе медленно.

:-) Тут с говнокодом разработчиков современных борешься, а предлагается еще бороться с таким же от ИИ?
Спрашиваешь разработчика - "Ты почему вот так написал? Есть же еще 5 различных способов решить ту же задачу?". Хорошо если ответит, что про еще 5 способов он хотя бы знает... Задаешь следующий вопрос - "А почему из 6 способов решения выбрал именно этот? Может сравнивал и он оказался самым быстрым/оптимальным/эффективным по затратам CPU/памяти/IO?".
Ответ разработчика - "Ну мне проще было так...". Финиш... :-)

Я лично использую ChatGPT для совсем простых задач, например, создание алгоритма (в тяжёлых вещах да, он запинается, но что-то простое сделает легко), и немного для работы с совсем незнакомыми мне, но простыми по сути вещами, в которых сложно запутаться даже нейросети. Порой для автоматизации рутинных задач (например, добавление почти одинаковой конфигурации для множества объектов, что в итоге вылилось в 700 с лишним строк кода, из которых сотня была написана мною, остальное по шаблону повторил ChatGPT).

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

Пока что мое мнение о ChatGPT - интеллектуальный генератор кода. Использовать его (точнее, пытаться использовать) для написания продакшн-реди кода - глупо, и хейтить нейросеть за то, что кто-то делает так, то же самое, что хейтить кухонный нож за то, что им можно убить человека. Для меня ChatGPT как ReSharper, но чуточку умнее и даже может помочь, когда не знаешь совсем ничего в каком-либо стеке, давая начальную базу знаний.

Мы с железным болваном вечерами лениво делаем пет-проект на новом для меня языке, решил вот в гошечку попробовать, надоел JS.

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

Ну и еще он очень феерично врет, если его заставлять сделать что-то странное, пытался с ним nginx с njs хитро похакать, в результате плюнул и пошел читать документацию, оказалось проще и быстрее :)

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

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

Так если основная масса кода на старой версии, то откуда он про новые фишки узнает. Он же не по документации "учится".

Ну и еще он очень феерично врет

Не врёт, а сочиняет. И это его профессиональная обязанность. А то, что его сочинения иногда похожи на правду, это побочный эффект. Что бы врать, нужно знать правильный ответ.

если бы эту статью написал бы ИИ, вот был бы твист!

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

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

В плане обучения ChatGPT подсказывает направления, в которых нужно идти для реализации тех или иных задач, подкидывает новые термины, понятия и тому подобное.

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

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

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

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

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

Тут возникает вопрос, а где вы его пытались применять, что выходили такие плохие результаты.
Какие у меня кейсы применения. Хочу я обучить незнакомую модель - я могу искать примеры её обучения, а могу попросить эти примеры у LLM. В любом случае я не полагаюсь на чужой код - не больше, чем в случае stack overflow. У меня есть наготове процедура проверки.
Или мне надо провести какое-то хитрое преобразование над многомерными массивами. Можно кодить самому - но я знаю, что у меня будет не совсем совершенное решение, и его придётся долго дебажить. А LLM это может сделать быстро - если осилит.
Или я спрашиваю, как провернуть взаимодействие между объектами в определённом фреймворке - потому что документация на фреймворк очень так себе. Чем я рискую? Если LLM выдаст нерабочее решение, это будет видно мгновенно. Рискую я скорее тем, что LLM не выдаст рабочее решение, а скажется, мол, похоже это невозможно. Но опять же, у меня есть гугл, и я всё-таки прикладываю какие-то усилия в поисках найти рабочее решение.

Наверное, "писать" код через LLM действительно не очень, а вот использовать его как аналог Stack Overflow - вполне себе. Там точно так же больше половины кода не заработает, по крайней мере в моих условиях.

Что касается моего навыка программирования - ну, мне ок быть "киборгом", у которого значительная часть навыка проистекает из LLM. Пока я могу эту LLM хостить, и пока производительность такой работы кратно выше, чем работы без LLM - оно окупается

Sign up to leave a comment.