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


Но прежде чем приступить к сути, я хочу уточнить несколько моментов:

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

  2. Целью это статьи не является принизить, оскорбить или показать некомпетентность автора. Цель - поделиться мнением.

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

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

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

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

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


Заказчику нужны наименьшие затраты на разработку продукта.

Когда клиенту говорят что у него будет экономия на разработке в 1000%...

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

Пример 1:
Команда разработчиков создала продукт за 100_000$, для поддержки и улучшения продукта необходима команда стоимостью 1_000_000$/год, проект хорошо оптимизирован и для его работы необходим дата центр стоимостью 1_000_000 $/год. Итоговая стоимость: 100_000$ + 2_000_000$/год.

ИИ создал этот же продукт за 500$, поддержка и улучшение продукта стоит 300$/год, код плохо оптимизирован и для его работы необходим дата центр стоимостью 10_000_000 $/год. Итоговая стоимость: 500$ + 10_000_300$/год.

Пример 2:
Команда разработчиков создала игру за 1_000_000$, проект хорошо оптимизирован и протестирован. Для его приемлемой работы необходимо оборудование средней ценовой категории. Из-за низких системных требований большее количество игроков купила игру, а благодаря небольшому количеству багов, удалось избежать большого количества негативных отзывов. Итог: расходы 1_000_000$, доходы 10_000_000$.

ИИ создал эту же игру за 5000$, проект плохо оптимизирован и протестирован. Для его приемлемой работы необходимо оборудование высшей ценовой категории. Из-за высоких системных требований меньшее количество игроков купила игру, а благодаря большому количеству багов, игра получила большое количество негативных отзывов, что привело к снижению привлекательности игры для потенциальных покупателей. Итог: расходы 5_000$, доходы 3_000$.

Пример 3:
Команда разработчиков создала продукт за 100_000$. Проект приносит доход 200_000 $/год.

ИИ создал этот же продукт за 500$, проект содержал в себе критическую уязвимость, из-за которой были утеряны личный данные пользователей, что привело к значительному снижению количества пользователей и серьёзной потери репутации компании. Проект приносит доход 10_000$/год.

Месяц назад я с помощью тулзы GPT Engeener за 5 минут сварганил змейку.

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

А если взять большую задачу? Представим что у нас нет хабра и вам пришла идея такого портала, нужно написать промт в ChatGPT чтобы он создал полную копию хабра (без статей). Представили объём этого промта? Разумеется код на каком либо языке программирования будет ещё более объёмным, но языки программирования изначально проектируются чтобы на них было удобно работать с кодом: писать, структурировать, читать, искать ошибки, чтобы написанный код был как можно более однозначным. Естественные языки не были спроектированы для написания программ и лишены этих свойств, особенно большие проблемы с однозначностью, одну и ту же фразу несколько человек могут понять совершенно по разному, в тоже время если написать код по правилам какого либо языка программирования, то несколько компиляторов поймут этот код одинаково. Вы можете дать ИИ какую либо команду, думая что он сделает её одним образом, а ИИ поймёт её по своему и сделает всё совершенно по другому. Вот видео с примером того, как это может выглядеть .

А если взять задачу которая нигде не была описана и решена? Вот статья как человек пытался добиться от ChatGPT(3.5 и 4) решения задачи, решение которой нигде в интернете не было написано. Нисколько не сомневаюсь что рано или поздно ИИ научится решать такие проблемы, но когда? А также остаётся открытым вопрос "Способны ли LLM придумывать новые алгоритмы?".

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

Для ChatGPT этот engineering excellence не нужен.

Разбирать код написанный нейронкой не надо будет.

Не нужно будет знать никому программирование.

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

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

Это могут использовать хакеры чтобы взломать продукт клиента. Стоит ли писать к чему это может привести?

Не верите мне, поверьте Гарварду.

Логическая ошибка - "апелляция к авторитету"

Не известно есть ли "потолок".

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

Нет никаких предпосылок говорить, что у технологии Generative pre-trained transformer есть какой-то видимый "потолок". Никаких доказательств этого не существует.

Логическая ошибка - "аргумент к незнанию"

Если программирование не исчезнет вовсе, то ...

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

Комментарии (29)


  1. MaxAkaAltmer
    01.12.2023 06:18
    +17

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


    1. Breathe_the_pressure
      01.12.2023 06:18
      +3

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

      Не будет ИИ, появится что-то другое и аналогичные реакции соответственно.


      1. odilovoybek
        01.12.2023 06:18
        +1

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


    1. a3or
      01.12.2023 06:18
      +4

      Не убивает программирование, но меняет его.

      Одинэска же не убила профессию бухгалетра, и появление станков с ЧПУ не убило токарей. Это ведь инструменты, они изменяют профессии, но не убвают их на корню.


  1. mclander
    01.12.2023 06:18
    +5

    Надеюсь, это статья не из ряда:

    • паровоз никогда не обгонит лошадь, потому что

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

    • компьютер никогда не обыграет человека в шахматы, рэндзю, го,..


  1. Anzorik_228
    01.12.2023 06:18
    +2

    Это временные неувязки. Нужно ждать gpt 5 и посмотреть, что он покажет. Да и, как вы говорите, в видео рассказывали про "скоро", а у вас примеры "сегодняшние". Программирование, особенно "гаражное" уже не исчезнет, но с в новых версиях нейросетей их будут всё больше внедрять в программные продукты до момента, когда уже не придумают некий стабильный шаблон (конструктор), который будет генерировать, что мы ему скажем...


    1. Gorthauer87
      01.12.2023 06:18
      +5

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


      1. DuDDiTs
        01.12.2023 06:18
        +3

        Хорошее ТЗ?)


        1. gochaorg
          01.12.2023 06:18

          Хорошее ТЗ в таком случае = Хорошая программа


          1. DuDDiTs
            01.12.2023 06:18

            Хорошая программа это все-таки следствие хорошего ТЗ.

            Задачи в таск трекерах тоже в идеале пишутся строгим и детеминированным языком. Но для их выполнения все ранво нужен программист. Пока что.


    1. SergioT4
      01.12.2023 06:18

      Нужно ждать gpt 5 

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

      А если его противники, то выпустят пятёрку, где из нововведений будет мощный alignment, что в принципе будет в неком виде деградация.

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

       в видео рассказывали про "скоро", а у вас примеры "сегодняшние"

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

      У нас в компании поставили копилот, в принципе ничего волшебного, где-то +5% к удобству даёт, но вот вчера он сумел реально удивить - на ровном месте предсказал именно то что я хотел сделать.

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


  1. dimas846
    01.12.2023 06:18
    +4

    Несколько риторических во вопросов:

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

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

    • Кто будет поддерживать саму ИИ?

    • Напишет ли ИИ новую версию существующей ОС? Может напишет новую ОС?

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


    1. Breathe_the_pressure
      01.12.2023 06:18
      +4

      Ничего не будет


    1. Manrus
      01.12.2023 06:18
      -1

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

      А зачем они нужны? ИИ теоретически может из человеческого текста генерировать машинный код напрямую

      Напишет ли ИИ новую версию существующей ОС? Может напишет новую ОС?

      ОС не нужна, ведь ее можно полностью заменить на ИИ. Но это далекое будущее пока.


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


      1. garwall
        01.12.2023 06:18

        А зачем они нужны? ИИ теоретически может из человеческого текста генерировать машинный код напрямую

        Теорема Райса этому несколько может противоречить, если брать в глобальном скоупе


  1. JuryPol
    01.12.2023 06:18
    +3

    Если все так хорошо с ИИ, то почему GPT 5 так долго ждём? Казалось бы, подключаешь к работе четвертую версию и после недели работы суперкомпьютера на выходе GPT 5. Еще неделя - и вот уже шестая, а там и седьмая версия.

    Или что-то все же не так уж радужно? Что делать ИИ, когда списывать уже не у кого?


    1. GospodinKolhoznik
      01.12.2023 06:18
      +2

      Злые языки говорят, что обучающие данные кончились. А без них новый чат = старый чат + дополнительные фильтры цензуры + больше толерантности, феминизма и зоозащиты.


      1. icya
        01.12.2023 06:18
        +2

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


  1. jershell
    01.12.2023 06:18

    Если ИИ сможет писать софт, то это тысячи драйверов для Linux), AAPT2 будет собираться под riscv, а многие игры получат нативный порт. Нам как минимум все легаси будет проще подтягивать под современные архитектуры, чтоб три слоя эмуляторов не гонять. Для ИИ есть работа, сегодня часто некому поддерживать, то что уже есть, а если и в новое сможет, то вообще будет праздник), поэтому не стоит думать за смерть текущего программирования, будет больше времени подумать, а не как сейчас: 2 недели и в прод, клепаем формы и тормозит, джсоны без схемы, ой, а что с миграцией?, как нет свободных ядер, SSL забыли оплатить и прочие вещи. Из-за всего этого сумбура, мы делаем очень поверхностные приложения, нужно мого месяцев работы и целые коллективы, чтоб продукт перестал как минимум раздражать багами, которые висят годами в трекере даже там, где казалось бы бесконечные бюджеты. Само по себе программирование никуда не денется, компиляторы уже есть, профессия да, вероятно станет еще сложнее, если ИИ не будет выбирать между читаемостью и производительностью, а будет выбирать самые лютые алгоритмы\паттерны\стратегии, которые сможет поддержать без ошибок только он сам.


  1. fndl
    01.12.2023 06:18
    +1

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

    У любого проекта (продукта) изначально есть бизнес описание (ТЗ по нашему). Когда программист пишет код, то он "скармливает" свой код написанный по определённому алгоритму, стандарту, синтаксису и т.д. компилятору. Код необходимо написать с учетом бизнес требований от заказчика.

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

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


  1. IvanZaycev0717
    01.12.2023 06:18
    +3

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


    1. SergioT4
      01.12.2023 06:18

      А зачем тогда есть кактус?


      1. IvanZaycev0717
        01.12.2023 06:18

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


  1. terantul
    01.12.2023 06:18
    +1

    Програмисты переквалифицируются в посредника между заказчиками и ИИ.

    Покажите мне хотя бы одного заказчика который умеет писать подробное, чёткое ТЗ)


  1. MANAB
    01.12.2023 06:18

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


  1. nixtonixto
    01.12.2023 06:18
    -1

    Команда разработчиков создала игру за 1_000_000$, проект хорошо оптимизирован и протестирован... ИИ создал эту же игру за 5000$, проект плохо оптимизирован и протестирован.

    Статья основана на ложном предположении. Как раз таки машина оптимизирует заметно лучше человека - настолько, что даже сейчас оптимизация на 99% отдана на откуп компилятору, а люди только выбирают из списка уровень оптимизации. И с тестированием тоже - начиная с какого-то количества переменных, человек уже не может удержать всё в голове и поэтому начинает совершать глупые ошибки. Я уже не говорю про перепутанные от усталости "=" и "==" в каком-то дальнем участке кода, который исполняется раз в месяц... У машины таких проблем не будет и ей всегда можно увеличить объём памяти. А при грамотно написанном ТЗ, в котором нет ошибок в логике, возможно, тестирование созданного ИИ кода не понадобится вообще. Как сейчас программисты СТМ32 не тестируют сгенерированный Кубиком код.


  1. vagon333
    01.12.2023 06:18

    Общество любит четкую сторону - AI абсолютное зло или абсолютное бобро.
    Между тем уже использует AI как инструмент (code snippet сгенерить, unit test, или комменты к методу авто-добавить).
    Так, может и рассматривать AI как инструмент, не относя на сторону добра или зла?


  1. KEugene
    01.12.2023 06:18

    Можно начинать беспокоиться, когда ChatGPT N будет автоматически писать ChatGPT N+1.


    1. perfect_genius
      01.12.2023 06:18

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

      Так