Как стать автором
Обновить

Конец программирования, как мы его знаем, или Что нас ждёт с LLM

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров60K
Всего голосов 62: ↑40 и ↓22+32
Комментарии233

Комментарии 233

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

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

А если в ответ её спросить - точно? Ты уверен? Получим тысячу извинений и третий результат)))

Это и есть поведение типичного человеческого индивидуума - носителя естественного интеллекта.

Да прям, они будут упираться и требовать еще денег.

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

Так отказываются, сначала очень вежливо.

У меня недавно так было при запросе перевода одной фразы:

Да, он так косячит. Надо сказать: Мне не важно, что у тебя нет функции перевода. Мне нужен перевод.

НЛО прилетело и опубликовало эту надпись здесь

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

Если вы хотите найти ответ на какой-либо вопрос, то гораздо быстрее будет самому загуглить, потому что chat gpt 4 периодически просто игнорирует очевидные решения и не пишет их, либо может написать что в этом вопросе не разбирается и мы можем обратиться за помощью на форуме. Это только часть из всего негативного в контексте производительности показывает данный продукт Chat GPT 4.

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

Весьма недалёкого, я бы сказал

Но человека можно принудить улучшить свои знания и поведение (методом кнута или пряника), а вот как это сделать с AI, если он и так уже все знает?

Скорее всего просто сделает Генерала Ошибок и нажалуется на тебя производителю.
для тебя лицензия подписка станет дороже. Да, и соцрейтинг тебе поправят. В минус.
Как не адаптируемому хумансу скандаль.

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

НЛО прилетело и опубликовало эту надпись здесь

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

Нет проблемы, которую бы не решил новый слой абстракции.
Кроме слишком большого количества слоёв абстракции...

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

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

это ты решил сценарий Матрицы перечитать?

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

и сейчас вершиной этой эволюции можно считать Rust

А почему не JavaScript?

Это низина.

Вы хотели сказать дно? xD

Да, не все от него оттолкнулись...

Ну есть же еще и nodejs! )

Все здесь.

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

На момент выступления стоимость 1000 токенов составляла $0,02. Получается, что аналогичный объем кода в день будет стоить $0,12, то есть в 10 тысяч раз дешевле! 

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

«Я могу печатать 1000 знаков в минуту! Только бабуйня какая-то получается…»

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

Фокс Йовович

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

Некоторые крупные корпорации к этому уже готовы, зря что ли QA и всякие отделы тестеров сокращали?

Как раз наоборот, зачем сокращали, сейчас придется набирать. Написанием кода будет заниматься ЧатГПТ, а люди будут заниматься ручным тестированием (автоматические тесты тоже напишет ЧатГПТ и они тоже будут работать через раз)

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

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

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

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

Были бы вы правы, то сейчас бы не было моды писать всё на тормозном электроне жрущем память и процессор, даже, если нужно всего лишь посчитать 2+2.

Просто нейросеть in question не помещается на пользовательские устройства. Как только начнет помещаться - вероятно да, будет как с электроном. К сожалению.

Облака! Всё как любят маркетологи: облака + нейросети. Не хватает, только блокчейна.

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

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

При этом менеджерам уже не получится свалить свои косяки по постановке задач на программистов. Сами ж потом взвоют)

Да, было дело .. в 1957-м появился Фортран. В 1979-м впервые узнал о нем в НГУ под руководством Ершова. 1979-1984 программировал на Фортран-2, потом Фортран-4 .. потом ушел в Ассемблер разных машин от ЕС-1022, Электроника-60 (и разные ДВК) .. и т.д. .. появился Паскаль, Си был живее всех живых, появилась Ada, Modula, Java, C++ .. и много иных "хоронителей" Фортрана и Си .. порядок не существенен.. Появился HTML и "интернет" на базе Latex (вот писал же автору нужен интерпретатор Си и будет всем щастье! не помогло, зато появился JavaScript) .. прошло ещё время .. появились LLM с ML, DS и пр. ..

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

Конец программирования с появлением LLM? Не думаю. Мое ИМХО совпадает со Стругацкими в "Полдень 22-век или Возвращение", как-то так, на память:

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

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

:)

Кстати, на картинке в статье что более позднее, чем Фортран 4.

Фортран 77 похоже.

Не уверен. 1977, это же еще эра перфокарт, а там первые 5 колонок - метки, а операторы начиная с 7-й колонки. Там если такие отступы - это если цикл добавить, полколоды перебивать.

Ну, вначале 80-х были уже персоналки, а терминалы появились раньше, так что эпоха перфокарт уже подходила к концу. Кстати забавно, что на картинке первые 6 позиций строк отрезаны. Смотрите, здесь стоят циклы с метками (DO 200 и DO 100), соответственно метки 200 и 100 должны быть там, где стоят операторы CONTINUE. А меток нет, потому что их на картинке отрезали.

И кстати, в следующем стандарте, Фортран 90, циклы уже имеют вид

DO I = a,b,c

END DO

Но с другой стороны, это не раньше 77, потому что if...elseif...else...endif появились только в нем.

Фортран 4 еще помню, потом выбрал PL-1 и ассемблер.

1977, это же еще эра перфокарт

В США уже началась эра Apple.

И на Apple тех времен был компилятор Фортрана?

Если не напутал, то да. А в чем проблема то?

Просто удивился.

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

А Фортран, так и вовсе, это жизненно необходимый софт жеж.

развертка в ЭЛТ шла сверху вниз слева направо

Насколько я помню, _.com переворачивал экран как раз за счет игры с разверткой.

А Фортран, так и вовсе, это жизненно необходимый софт жеж.

Однако я нахожу в Google, что только в 1980 году он на Apple II он появился, См. например, вот: https://atariwiki.org/wiki/attach/Fortran/Apple_II_FORTRAN_Language_Reference_Manual_OCR.pdf

Помню похожие рекламные статьи от Rational Rose (давно.. очень давно).
Типа "вот теперь можно просто нарисовать блок схему и по ней будет создан код (C++). А рисовать может любой клерк, который знает прикладную задачу"

Ну ну. Код то создавался. Вот только любое изменение - это снова генерация с 0. А тот код, что бы сгенерен, был совершенно не читаем и не модифицируем (без зубовного скрежета).

И у меня до сих пор стоит перед глазами картинка из манула Rational Rose по поводу UML диаграмм (было модно UML в результате агрессивной рекламной компании). Картинка - UML диаграмма продаж из 5 элементов с подписью (дословный перевод) типа:

  • вот семейная пара.. у них не идет бизнес по продажам.. вот они нарисовали UML (купили ПО от Rational Rose) и тут у них как поперли продажи.

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

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

И зачем? Типа нам тут в Сбере программисты больше не нужны? Или мы программистам больше зп повышать не будем, потому что вон чё творится?

Интерес доктора Уэлша нельзя назвать научным на все 100% — он зарабатывает тем, что создаёт софт на основе ИИ, в том числе упомянутый выше AI.jsx. 

Он – это доктор.

Причем тут Сбер и пр.?
Эта статья фактически пересказ лекций доктора Уэлша.
Смотрим кто такой Уэлш и с чем он связан.
На что, в конце статьи есть объективно замечание.

Да, все есть, невнимательно прочитал. Принял мысли доктора за мысли автора в подобных строках:

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

Там ещё SQL был с которым любая кухарка теперь сможет работать с данными без этих ваших программистов.

Одноэс, инструмент автоматизации работы бухгалтера, uml - код пишут непосредственно менеджер с клиентом, prolog - просто объясните логику и взаимосвязи... Чем старше становишься, тем меньше в жизни чудес и прорывов.

Справедливости ради тот же 1С очень сильно упростил работу бухов и для выполнения того же объема работ бухов стало нужно намного меньше.

Тоже самое, например, с САПР для инженеров. вместо отдела чертежников в СССР теперь достаточно одного человека. Да, для того, чтобы разработать сложное устройство как и раньше нужен инженер высокой квалификации. Но в целом на тот же объем работ что и ранее нужно меньше человеко-часов и эту работу может выполнить менее квалифицированный в инженерном деле человек. С большими оговорками конечно.

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

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

А по факту половина сеньеров не могут на собесе запрос простой написать.

О, как же популярны пугалки в новостном секторе. Что не заголовок, так "идёт беда".

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

Ну старых архивах нулевых и десятых, золотой фонд Хелоу Ворлдов.

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

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

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

Сложные вещи нельзя "просто" выразить.

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

Неужели это кто-то буквами написал :) ?

Зато в кино железный человек листает схемы в воздухе и разговативает с роботом. А на собеседованиях спрашивают какие консольные команды к ГИТу ты знаешь, а зачем мне консольные команды, если я уже 20+ лет пользуюсь визуальным интерфейсом при работе с системой контроля версий (с любой, 20+ лет назад ГИТа не было). С консольными командами иногда, конечно, приходится разбираться, но наизусть я их не помню.

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

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

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

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

Это ещё в чаты Хабра и прочие все эти ЧатГПТ не пролезли. Как вспомню кроватку glas.net... А у них, у ботов, будут хорошие рейтинги, ибо они будут максимально политкорректны и с говном будут мешать оппонента, так что другие только раскидывать плюсы им будут, чтобы самим на следующем посте нагрести минусов.

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

Коллега: "Что-то у меня оно не мержится. Что нажать?"

Я: "(пытается описать, на что похожа иконка, которую нужно кликнуть). Кричит."

Что-то у меня оно не мержится. Что нажать?

когда оно не мержится, одна кнопка не поможет, надо ведь чтобы оно потом работало после мержа :)

Немного оффтоп, но напомнило из жизни:

Брат: *пытается переключить винду на моём компе назад с японского на русский* (про AppLocale почему-то тогда не знали)

Я, которому влом вставать с дивана и идти к компу:

Ищи пункт, где квадратик, смайлик и пистолет!

ロシア語

уже 20+ лет пользуюсь визуальным интерфейсом при работе с системой контроля

Они ограничены, консоль богаче. Впрочем, у "ИИ" совсем не та консоль.

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

Тоже думаю, что далекое будущее - за графами.

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

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

Очень хорошо вас понимаю, потому что одно время работал на congatec AG, производителя компьютеров-на-модулях, которые затем вставлялись в разное промышленное оборудование за бешеные деньги, и там должны были без сбоев работать десятилетиями. В итоге пришлось и EFI-драйвер для USB-флоповода писать (даже для двух, потому что 5,25"-дискеты тоже еще в ходу), и EFI-загрузчик для Windows CE 6.0 собирать из глины и палок (причем палок очень не хватало), и работать (в 2016 году) с прекрасными процессорами AMD Geode GX2 и LX1 и системами на них. Удачи реально, попутного ветра в нейросетевую спину.

Ну как сказать. Я например с помощью chat GPT английский учу. Как продвинутый справочник очень штука классная. Правда иногда хрень выдает полную. Ещё хорошо писать сопроводительные письма при отклике на вакансию. Только проверяйте что эта штука написала обязательно. Но шаблон здорово выдает. Потом чуток поправил и все. Программировать с помощью Chat GPT или Copilot не очень получается. Можно заставить какой - то кусок сгенерить, но вот сделать какую то архитектуру сложно. Намного проще просто руками написать. С чем хорошо справляется, так это со всякими штуками типа DTO Entity по JSON сгенерить. Но тут обычный скрипт на питоне делает это ещё лучше.

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

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

Но где же вариант "машина ревьюит"?

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

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

Видео о Джо в больнице.

Скрыл видео, чтобы не занимало много места.
Работа менеджера.

Под катом пусто = видео нет.

https://youtu.be/oRo3rBQa27U?si=iGW7Y6VyYW_GGVL8

сейчас поправлю. может на работе очень умные фильтры подрезали.

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

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

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

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

Он неоднократно пытался

А еще войти вайти на курсах за 2 недели это тоже его рук дело

Этот Уолеш говорит то что хотели бы богатеи мира, заменить людей на дешёвый труд машин. А машины зараза, до человека ой как далеко им. Когда будет машины с разумом человека, вот тогда люди и останутся без хорошей работы

Разум человека не обязателен - достаточно чтобы "и так сойдёт" было бы достаточно быстро и дёшево, и стоило дешевле миски баланды. :-(

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

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

создать змейку на питоне не используя в промпте слово "змейка", а описать происходящее своими словами

Удар ниже пояса.

попросить

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

попросить LLM создать змейку на питоне не используя в промпте слово "змейка", а описать происходящее своими словами

Вы недооцениваете способности LLM, даже 3.5 по простейшему набору правил сразу же определяет что это змейка и пишет змейку.

Hidden text

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

Я скопировал его из собственного мозга. Предложите свои варианты.

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

просто добавьте, что каждый 3 съеденный кубик уменьшает змейку на 1

Штош :) Я попросил GPT-4

Запрос

Описание игры.

Есть прямоугольно поле поделенное на квадратные клетки одинакового размера. Двигаться по полю можно только по клеткам. Диагональные перемещения запрещены.

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

Как только игра стартует "линия" начинает движение в случайном направлении по полю. Когда игрок жмёт стрелку на клавиатуре линия поворачивает под углом 90 градусов, но не сразу, а клетка-за клеткой.

При столкновении "линии" и "яйца", "яйцо" исчезает, а "линия" увеличивается на одну клетку. После чего "яйцо" появляется в случайной свободной клетке на поле.

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

Напиши эту игру на python. Можешь использовать любую графическую библиотеку.

Сгенерированный код
import pygame
import random
import sys

# Инициализация Pygame
pygame.init()

# Определение размеров экрана и клеток
cell_size = 20
num_cells = 30
screen_size = cell_size * num_cells
screen = pygame.display.set_mode((screen_size, screen_size))

# Определение цветов
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
green = (0, 255, 0)

# Начальные настройки
line_direction = random.choice(['UP', 'DOWN', 'LEFT', 'RIGHT'])
line = [(num_cells // 2, num_cells // 2), ((num_cells // 2) + 1, num_cells // 2)]
egg = (random.randint(0, num_cells-1), random.randint(0, num_cells-1))

# Функция для отрисовки сетки
def draw_grid():
    for x in range(0, screen_size, cell_size):
        for y in range(0, screen_size, cell_size):
            rect = pygame.Rect(x, y, cell_size, cell_size)
            pygame.draw.rect(screen, white, rect, 1)

# Функция для отрисовки линии и яйца
def draw_objects():
    for segment in line:
        rect = pygame.Rect(segment[0] * cell_size, segment[1] * cell_size, cell_size, cell_size)
        pygame.draw.rect(screen, green, rect)
    rect = pygame.Rect(egg[0] * cell_size, egg[1] * cell_size, cell_size, cell_size)
    pygame.draw.rect(screen, red, rect)

# Обновление позиции линии
def update_line():
    global line, egg, line_direction
    head_x, head_y = line[0]
    if line_direction == 'UP':
        new_head = (head_x, head_y - 1)
    elif line_direction == 'DOWN':
        new_head = (head_x, head_y + 1)
    elif line_direction == 'LEFT':
        new_head = (head_x - 1, head_y)
    elif line_direction == 'RIGHT':
        new_head = (head_x + 1, head_y)
    
    if new_head in line or new_head[0] < 0 or new_head[1] < 0 or new_head[0] >= num_cells or new_head[1] >= num_cells:
        pygame.quit()
        sys.exit()

    line.insert(0, new_head)

    if new_head == egg:
        egg = (random.randint(0, num_cells-1), random.randint(0, num_cells-1))
        while egg in line:
            egg = (random.randint(0, num_cells-1), random.randint(0, num_cells-1))
    else:
        line.pop()

# Основной цикл игры
clock = pygame.time.Clock()
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP and line_direction != 'DOWN':
                line_direction = 'UP'
            elif event.key == pygame.K_DOWN and line_direction != 'UP':
                line_direction = 'DOWN'
            elif event.key == pygame.K_LEFT and line_direction != 'RIGHT':
                line_direction = 'LEFT'
            elif event.key == pygame.K_RIGHT and line_direction != 'LEFT':
                line_direction = 'RIGHT'

    update_line()

    screen.fill(black)
    draw_grid()
    draw_objects()

    pygame.display.flip()
    clock.tick(10) # Устанавливаем скорость игры

Результат

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

Запрос

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

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

Результат

Но да, когда я спросил у ChatGPT знает ли он что это за игра, он честно ответил, что я ему описал змейку он змейку и сгенерировал.

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

Только вот он её не сгенерировал, а явно откуда то скоммуниздил. Надо просить написать такое, чего ещё нет в явном виде в сети.

Пример с "корованами" как раз это подтверждает.

Будет время, попрошу нейросетку написать максимально компактный тетрис для стм32. Куда его только ни портировали, включая стмки, но не уверен, что упарывались на стм32, чтобы было сопоставимо с Brick Game на HT443A0: 32к rom, 120 байт ram. Цельноасмовские проекты на стм32 все-таки довольно редки, навряд ли есть цельнотянутые, да и источников для обучения маловато.

Тетрис, если сопоставлять, то с Электроника-60, для которой он изначально был написан Пажитновым. 8К RAM для кода и данных. Так что оригинальная версия на Pascal вполне должна завестись на STM32.

STM32 тут монстром выглядит. Тетрис вполне можно портировать на AVR8 или STM8. По своей сути, он даже проще Арканоида, упрощенный аналог которого я написал когда-то для AVR8. Вот там потребовалось несколько ассемблерных вставок, чтобы игра осталась динамичной.

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

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

что у нейросетей с оптимизацией

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

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

отказаться от поддержки на уровне кода

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

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

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

А как Вы от поддержки откажетесь?

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

нам упорно затирают, что НС учатся

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

перегенерировать нацело

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

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

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

ну вот тогда я возможно и присоединюсь к лагерю "gpt лишит программистов работы" :)

Да, это правда, но тут есть два важных НО!

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

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

Теперь попросите его реализовать нарды.

Первая попытка создать «компьютер на естественном языке» называлась COBOL. Какая это по счету?

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

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

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

Тут вспоминается высказывание Дейкстры (цитирую по памяти): "Проекты, предлагающие программирование на естественном языке, гибельны по своей сути".

У меня родилась интересная (возможно) аналогия в связи с вашей цитатой.

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

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

вы отстали от современных реалий, нотами никто массовую музыку уже не пишет, это все перебор патернов, библиотеки сэмплов и инстремунтов

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

так речь не об образовании, а о массовом ремесле. Так же как и с программированием.

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

Если уж мы затронули ассемблер то я бы привел такую аналогию:

Сам я эти времена не застал, но думаю, что когда появились более высокоуровневые языки, чем ассемблер, программисты говорили, что то вроде «а вот когда им нужно будет сделать вот именно то-то, как эти «высокоуровневые программисты» это сделают без ассемблера, а?»

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

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

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

И как матерого программиста в свитере и с бородой, который знает наизусть все методы и операторы плюсов заменили вайтишники, которые перекладывают jsonы с помощью StackOverFlow и chatGPT, так и их заменят ребята, которые будут писать код сгенерированный на 99.999%.

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

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

Про ассемблер врядли можно говорить что это язык развивается, развиваются аппаратные платформы которые позволяют использовать новые инструкции, например MMX, SSE, SSE2, ...

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

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

Ассемблеры вообще-то не ограничиваются x86 архитектурами.

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

Про ассемблер врядли можно говорить что это язык развивается, развиваются аппаратные платформы которые позволяют использовать новые инструкции, например MMX, SSE, SSE2, ...

Даже если говорить только об amd64, то грань между применением immintrin.h и программированием на ассемблере очень расплывчата. Синтаксис слегка другой, но необходимость понимания того, как работает та или иная команда - такая же.

Что касается эффективного применением, например, AVX512 самими компиляторами, то с этим пока что всё весьма печально. И даже тут требует хорошего понимания, какие доступны SIMD инструкции и при каких условиях компилятор сможет увидеть, что их использование в данном случае эффективно.

На мой ну очень субъективный взгляд те же промежуточные байт-коды и т.п. всяких llvm, java, python и т.д. тоже можно отнести к "ассемблерам". Здесь тоже есть свои специалисты, и их с одной стороны мало просто в общеколичественном плане, с другой стороны мало и с точки зрения потребности рынка.

Насчет потребностей рынка вопрос спорный. Обычно если надо лезть в байткод VM, это хайлоад, довольно специфичная тема.

Здесь тоже есть свои специалисты

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

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

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

Хм, вот тут-то AI и пригодятся нейроинтерфейсы ))

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

И есть там ещё человек который проверяет ответы)))

И да что бы придумать запрос не надо быть программистом, программист нужен что бы ответ проверить и поправить))

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

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

И последний вопрос зачем люди?

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

А зачем ИИ мясной мешок? Оно сделает себе железное тело, тот же Atlas к примеру и ли полее подходящее под задачу и пойдёт своими делами заниматься. Я вообще хз, зачем может понадобиться биологическое тело, насрать конкурирующему ии в системный блок разве что.

Так люди и не нужны. Объективно, мы по сравнению с ии довольно ущербные:

  • Память ненадежная

  • Отвлекаемся

  • Долго учимся

  • Ещё дольше передаём опыт

  • Скучаем если работаем над одним и тем же

  • Можем делать не то, что сказали, так как не хочется

  • Про 1000 и 1 когнитивное искажение я вроде молчу. Сколько людей в приметы и астрологию верит до сих пор, жесть

  • Наконец выучившись, помираем.

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

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

НЛО прилетело и опубликовало эту надпись здесь

Чтобы промт составить... Вообще мой опыт использования гпт для кода примерно такой:

  • определить входы и выходы, прикинуть тестирование

  • определить, на чем крутится, в первую очередь ОС, еще интерфейсы, если используются

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

  • определить алгоритм и желательно архитектуру

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

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

C+++?

Да как-нибудь назовут. Просто будет что-то типа prompt oriented концепции программирования. Есть например C/C++, есть VSDL. Будет ещё какой-нибудь подход. Все равно от формальной спецификации мы никуда не денемся. А на чем она записана не очень то и важно.

Так и вопрос пусть задаёт, и проверяет, уточняет и повторяет по кругу.

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

Для этого надо понять, что с кодом что-то не так, и объяснить проблему LLM.

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

И как понять, что этот инстанс не ошибается?) Дайте угадаю: запустить еще один инстанс? :)

Вы, наверное, не поверите, но это реально так и работает. Самовалидация по принципу few-shot (CoT, CoVe, CoD), вместе с архитектурами типа mixture of experts и их вариациями, реально уменьшает количество ошибок. Проверять валидность ответа проще, чем этот самый ответ генерировать.

А как понять, что человек не ошибается?

Оч просто: поговорить с ним, спросить чем он руководствуется при размышлениях. Как нейронная сеть принимает решение неизвестно никому)

То есть спросить человеческим языком и получить ответ на человеческом языке. То, с чем нейросетки вполне справляются.

Не справляются)

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

Исправить уже существующий код или написать новый с новым промтом?

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

Как мне заставить LLM сделать это? Весь код ядра очевидно не влезет в контекст. Дообучить LLM на конкретной версии кода и потом попросить сделать diff?

Или просто сказать "сделай мне новое ядро как старое, только с новым драйвером"?

НЛО прилетело и опубликовало эту надпись здесь

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

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

Свежо предание...

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

Мне что-то вспомнился блокчейн. Тоже был бум и предрекали революцию.

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

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

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

его способности "оптимистично преувеличивают" все причастные

...иначе слона ты не продашь.

Устраивается секретарша на работу. директор спрашивает:
- Какая у вас скорость печати?
- 1000 знаков в минуту!
- Так много???
- Правда такая ерунда получается...

IMHO, проблема не в этом, а в социальной составляющей. IT'шники - это в среднем более умные в техническом отношении люди, которые пошли в эту сферу потому, что она в своё время выглядела хорошим "социальным лифтом" - если ты из бедноватой семьи, но "котелок у тебя более или менее варит", вперёд - делай карьеру, решая сложные задачи для бизнеса, сидя в комфортных офисах или даже удалённо, выплачивай свою (теперь - ещё и специальную, льготную IT'шную) ипотеку, отдыхай где хочешь, переезжай куда хочешь и - жизнь более или менее удалась! По крайней мере, она у тебя лучше, чем у многих твоих менее умных соседей или одноклассников. Меритократия.
Да, и раньше были подозрения, что IT - это пузырь, НО (!) - если так, то это пузырь, который общества и государства сознательно или нет, но по факту создали во многом для того, что бы утилизировать массу неимущих, но при этом талантливых в технических сферах людей, что бы они в целях осуществления своих амбиций даже и не думали смотреть в сторону криминала и прочих деструктивных для общества и государства направлениях, а "мыслили позитивно". Если IT - это пузырь, то нашими зарплатами общество от нас откупается. Потому что иначе - есть такое подозрение - правоохранительная система и спецслужбы просто не справятся с такой массой "умников", у которых не будет никаких перспектив в жизни и, соответственно, им будет нечего терять кроме своих кандалов (ипотек и прочих обязательств). Это, ведь, будут не отморозки-амбалы, а скорее "злые гении", которе так всё запутают, что имеющихся Пуаро и Шерлоков Холмсов на них системе явно не хватит. Конечно, не все уволенные программисты назавтра же станут профессорами Мориарти, но они будут появляться - пускай хотя бы каждый тысячный - возможно, этого уже хватит, что бы перевернуть лодочку... А уж хакерство-то как расцветёт! Особенно учитывая, что весь мир уже практически отказался от нала (или кто-то думает, что в коде, написанном нейронками по промптам, дыр будет меньше, чем в тех, что люди пишут?)...

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

Звучит как конспирология

Что-то СССР, где технически одаренному человеку был путь только в инженеры на ЗП ниже, чем у крутящего гайки рабочего, не пал под весом интеллектов нереализованных профессоров Мориарти. Всё, что вакуум перспектив для технического гения породил -- это анекдоты про то, как инженеры спирт воровали на заводе тысячей способов, сто тысяч томов НФ и повальный алкоголизм.

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

С IT-саботажем всё даже близко не так.

Эмм, СССР не развалился, и не было потом расцвета мошенничества? Лови гостя из другого измерения!!!

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

Брать СССР в качестве примера - это, возможно, "ошибка выжившего", а я говорю об IT'шниках в целом - не только о IT'шниках в РФ. Даже сейчас, уже после 40 лет развала стран Варшавского договора, разница видна невооружённым глазом: в капиталистических странах уровень преступности неплохо коррелирует с налогами: высокие налоги - низкая преступность, низкие налоги - высокая преступность. Я вот одно время думал передраться в Калифорнию, например, но увидел, что там очень высокие налоги и стал разузнавать - где там налоги по-меньше? Выяснил, что в Сакраменто, но - там же и самая высокая преступность... Спокойно в Швейцарии, Дании... А вот в странах бывшего соц. лагеря, как бы люди ни были бедны, преступность обычно низкая - Болгария, Венгрия, Польша... Наши "лихие 90-е" одно из немногих исключений. Так что, несмотря на исключения, мне кажется, что правило-то работает...

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

Всё правильно и логично = всё как в мечтах анархо-капиталистов = на фиг платить налоги на нормальную полицию, если можно купить любой ствол.

Вроде, объявленная астрологами неделя "chatgpt оставит программистов без работы" была полгода назад.

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

мне достаточно будет объяснить, чего я хочу, на человеческом языке

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

Вставлю пару копеек.
1. Занятный список исчезнувших профессий.
https://viafuture.ru/katalog-idej/ischeznuvshie-professii#chelovek-budilnik-2-3-4
2. Как указал @zaiats_2k..."достаточно будет объяснить, чего я хочу, на человеческом языке " и про кусок мрамора. ... Ваяли мы некий проект, я одну часть - другой человек другую. вроде всё обговорено сто раз. И вот задача - согласовать передачу данных между частями программы. Мы человеческим языком друг другу объясняли это несколько дней. У меня было ощущение внезапно нагрянувшей деменции или слабоумия - я не понимал логику действий другого человека, не понимал его терминологию, его объяснения казались бессмысленным набором слов. Это наверное всё же связано с личными коммуникативными особенностями, но думаю объяснение новой концепции или нюансов нейросети натолкнется на такие же проблемы, правда нейросеть не будет жаловаться, что она ничего не понимает, а просто будет генерить странное.

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

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

...Хотя есть тут конечно и контраргумент. Заказчик программы каким-то образом объясняет свои желания программисту-человеку, пользуясь при этом естественным языком. В таком случае, что помешает ему объяснить то же самое программисту-ИИ?

Что значит "каким-то образом" ? Для этого, в зависимости от конторы, существуют либо целые промежуточные отделы аналитиков и архитекторов, либо применяется аж целое новосозданное направление "Agile", с кучей спринтов в процессе, либо и то и другое как-то комбинируется. Пока промпты более похожи на второе.

Разве результат работы человека на должности Системного аналитика - это не достаточная для нейронки формализация?

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

Допускаю, скажем так...

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

Вопрос просто в том, что сейчас у рупора те, чьи задницы заменить проще всего.

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

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

Толпы согласных полайкали друг друга. А с чем согласны-то?

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

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

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

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

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

В 1957 году на орбиту вывели спутник. В 1961 - человека на орбиту, в 1969 человек высадился на Луне. Технологии бежали семимильными скачками, казалось, что уже вот-вот и появится база на Луне, человек высадится на Марсе.

Однако нет, этого не случилось.

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

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

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

ps: попробуйте спросить у такой сети какая главная нерешенная проблема программирования или чего на самом деле не хватает LLM для того чтобы стать полноценным AI. А потом проверить результат.

Пока имеем набор красивых инструментов, которые все должны хотеть

набор красивых инструментов

который сделан Чужими по техзаданию Хищников.

Совсем плох. Тебе же ясно сказали. БЯМ не умеет думать, только подгонять ответ из базы данных под промпт. Не будет прогеров - не будет ответов. Вот тебе пример, у меня есть си-образный скриптовый язык в гаме. Как ты думаешь, сможет ли чатьГопота написать хотя бы хелло ворлд на нем? Нет. Так и со всем остальным.

Увидел на картинке Fortran-77 (1977-года), про который почему-то сказали, что это исходный Fortran 1957-го года, дальше не читал.

НЛО прилетело и опубликовало эту надпись здесь

В этой блестящей идее есть своя ложка дёгтя: а где, простите, мы будем брать человека-ревьювера, способного адекватно понять код, через лет 10-15 такой практики?

Почему вам нужен именно человек для этой задачи?

Складывается ощущение, что основная цель подобных статей: набор рейтинга.

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

Вот и пишут.

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

Просто очередной модный бум.

Все, кто на серьёзных щах пишут подобные статьи, либо слабо секут в программировании, либо в истории.

Итак, несколько пунктов, почему никуда грамотные программисты не уйдут:

  1. Качество генерации кода БЯМ сегодня даже до мидла не дотягивает

  2. Написать более менее сложный комплексный проект (3000+ строчек кода), включающий более 3-4 разных технологий - уже неподъёмно для сегодняшних БЯМ от слова совсем

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

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

  5. Сами БЯМ пишут программисты, отлаживают программисты, поддерживают программисты, совершенствует программисты. Считать, что они не будут нужны - всё равно, что думать, что после изобретения ПК программисты не нужны - ведь каждый теперь может писать программы!

    Поймите же, что БЯМ - это в первую очередь ИНСТРУМЕНТ. Просто более новый, крутой, чем предыдущие инструменты, но они остаются инструментами. Чтобы настраивать эти инструменты всегда будут нужны те, кто понимает как они созданы и разбирается в них на низком уровне.

И самое главное: чем больше берет на себя БЯМ, тем быстрее будет "глупеть" тот, кто её использует. Зачем в чём-то разбираться, если это за тебя выполнит ИИ? Человек по своей природе ленив. Использование БЯМ только усугубляет этот аспект.

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

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

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

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

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

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

С мессенджеров можно данные о пользователях собирать

Неройсеть может это делать сама.

Хорошая игра обрастает коммьюнити, которое можно долго вкусно доить DLC и мерчем...

Пользователь отличить не сможет app-store это с настоящими играми, или всё это эмуляция нейросетью.

Программа эта такая волшебная штука: сделал раз, продаешь годами.

Нейросеть - тоже подписочный сервис.

Пользователь отличить не сможет app-store это с настоящими играми, или всё это эмуляция нейросетью.

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

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

Ответил ниже.

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

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

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

Просто сносно

Я же ссылку дал. Не "сносно", а на уровне топовых профессиональных киберспортсменов.

Общение, тем более на сленге, что упрощает язык

Профессиональный сленг не упрощает язык, а усложняет его. Сленг может создаваться прямо вот сейчас, вот прямо в этой конкретной игровой сессии, и люди - настоящие люди, а не продвинутые Т9 - его поймут. "На инсте гейта минусовый хуррик, в бубле, в агре." Или еще лучше - "– Слухай сюды! Положь колдобину со стороны загогулины и два раза дергани за пимпочку. Опосля чего долбани плюхалкой по кувывалке и, кады чвокнет, отскочь дальшее, прикинься ветошью и не отсвечивай. Потому как она в это время шмяк… тудыть, сподыть, ёксель-моксель, ёрш твою медь. Ш-ш-ш! И ждёшь, пока остынет. Остыло – подымаесся, вздыхаешь. Осторо-о-ожненько вздыхаешь про себя, шобы эта быдла не рванула! И бегишь за угол за пол-литрой. Потому как пронесло!"

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

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

Кроме того, что-то я в командных чатах онлайн игр столь сложных фраз не встречал. Там, если и общаются внутри команды по делу, то куда более короткими фразами. На уровне "l", "r", "!", "a" и т.п.

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

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

И с какой скоростью это будет работать?

Спросите это у тех кто везде лепит тормознутый Электрон, который даже 2+2 быстро сложить не может.

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

Что мешает это запомнить?

Боже, как надоели байки про тормознутый электрон. Вы или софтом нормальным пользуйтесь или комп обновите чтоб не тормозило. У меня тот же VSCode на электроне с несколькими десятками расширений прекрасно запускается даже на планшетоноуте с 2 гигами оперативы. Если что-то на электроне и тормозит, так это из-за криворуких разрабов программ. С учётом того сколько ресурсов жрут нейросети я вообще удивляюсь почему вы пытаетесь его хейтить. Если уж с ним у вас тормоза возникают, то как вы на своих железках запуск нейронки представляете?)

байки про тормознутый электрон

комп обновите чтоб не тормозило

Ну так не тормозной (т.е. аналогичное приложение на электроне работает с той же скоростью на том же железе, что и нативное) или "комп обновите"?

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

Например, несложно найти случаи, когда VS на C++ тормозит больше, чем VS Code на JS при выполнении одной и той же задачи.

А если вспомнить, с какой скоростью те же самые задачи решались на Multi-Edit под DOS на PC XT, то ни одной современной IDE такое и не снилось.

Не тормозной. Вы чем читали?
У людей он "тормозной" потому что используют программы которые писали рукожопы. Тут в целом не важно на чём писали, будь то электрон, qt, javafx или с десяток других технологий. Если кодеры на проекте нормальные, то электрон будет выдавать приближённую к нативным приложениям производительность.
Потому тут и выхода 2: обновить комп, чтобы не тормозило (не важно электрон это или нет) или софт нормальный использовать.

комп обновите чтоб не тормозило

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

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

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

И сейчас идёт гонка у контор по повышению эффективности нейронок

Я понимаю недовольство программистов. По сути последнее время много где пишут что их заменит робот (машина). Такое было в истории уже много раз. По сути останутся нужны программисты хай левела, которые должны будут знать кучу информации. И учится придётся не 1.5 года на ютубе, а как врач, лет 7-8 в вузе. Где будут постоянно наставники и практика. Когда то, что бы создать сайт нужно было писать код, сейчас почти все можно создать с помощью готовых cms. Тоже будет и с остальными задачами в IT. Да, скорее всего не в 2024, а вот в 2025 уже вполне возможно.

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

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

т.е. примерно то же, что и сейчас, но с БЯМ?)

Хороший, квалифицированный программист пишет 0 строчек хорошего, работающего кода в день. (интересно где так работают?)

Нейросеть пишет 10 000 строк нечитаемого неработающего кода в день, В чем разница?

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

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

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

Так что в этом аспекте профессор всё правильно говорит.

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

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

Пузырь доткомов кончился.

Пузырь ИИ пока что еще живет.. Ключевое тут - "пока".

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

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

Почему вы думаете, что этот метод неэффективен для расселения в космосе

На внешних стенках МКС живут бактерии. Мало и хреново, но живут. То, что люди не могут - это проблема людей, а не эволюции

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

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

Все языки программирования придуманы (внимание) ЛЮДЬМИ ДЛЯ ЛЮДЕЙ.

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

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

Все так, ИИ может "писать" код. Программисты будут не нужны. Но не только лишь не все.

1) Cамое злободневно актуальное - это современный шаблонизируемый "всратокод". Если на одну сторону положить подход от DSL штук вроде каких lsFusion, jHeadStart и т.д., когда разработчики просто описывают требования заказчка в терминах вида "вот табличка заказов в базе данных, а вот тут для нее экранная формочка - должна примерно так выглядеть и кнопочка сохранить чтоб была, и чтоб проверка остатка на складе", то весь остальной "особо ценный" промежуточный многократно наслоенный boilerplate код, да, изначально запросто генерируется по шаблонам (те самые React/Vue/Angular/Solid/Mobx/Django/Models/Controllers/View/ViewModel/Presenters/WebServices/Dockers/SQLs/CRUDs/JSONs/YAMLs/etc). С небольшими дополнениями "мяса" бизнес-логики и валидаций в строго нужных местах в этом всем сгенеренном.

Но это доступно было уже очень давно и без всякого xxxGPT, примерно со времен появления Unix утилиты M4, если не раньше.

Мерило же простое - допустим появляется задача добавить новое поле на экранную форму. Сколько раз и в скольких разных местах разработчику нужно теперь это новое имя поля вручную вписать? А сколько созвонов провести? PR-ов замержить? Если больше, чем в двух - то его действительно нужно заменять какой генерилкой кода от DSL модели (модель может быть и в виде произвольного текста, почему и нет). Но так это просто сейчас мейнстримовый технологический стек изначально кривой, от этого все проблемы. Вон в мире 1С это все и то давно уже решили (хоть и своеобразно), ничего нового и тут нет. Ну так напишите уже и популяризуйте в массах "нормальную", "современную", "правильную" и, ок, "вот желательно не 1С" платформу для сайтиков всяких разных бизнес задач с готовыми базовыми примерами-конфигурациями и типовыми шаблонами-решениями на все случаи жизни, будет всем в мире счастье и глобальное сокращение затрат на этих ваших frontend/backend developers с их "микросервисами".

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

Но почему программисты первые идут на увольнение? Других успешных применений этого вашего генеративного ИИ совсем пока не нашлось? Водителей, бухгалтеров, копирайтеров, переводчиков, сисадминов, кладовщиков, продавцов и HR-ов заменили уже повсеместно грядущим Скайнетом? Еще нет? А почему? Обещались же. Что с ними пока не так?

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

Я думаю он прав. Все эти луддитские саркастические коменты скоро закончатся. Уже сейчас я рутину по написанию вещей с которыми справится джун отдаю чатгпт. Узкое горлышко это большие тех задания на входе для больших систем. Они должны быть супер конкретные чтоб они стали предсказуемы и адекватны. Думаю в будущих инструментах будет фиксация каких то областей кода которые проверены и адекватны и вокруг них будет наворачиваются логика которая будет динамической. Либо будет на выходе контроль результатов с помощью большого количества тестов и ии будет сам подбирать алгоритмы как их пройти. Джунам и мидлам станет думаю совсем тяжко, тк при постановке задач они должны понимать большое количество нюансов и и учитывать их в задачах чтоб получить желаемый результат. Но опять таки возможно это будет что-то типа boilerplate для тз где будут учитываться эти вещи. В общем лично я начинаю инвестировать время в изучение этой тематики. Скоро конкуренция будет такой же бешанной как сейчас на рынке создания сайтов визиток))

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий