Привет, Хабр!
Буквально 20 минут назад прочел статью - Сгенерированный ИИ код сделает вас плохим программистом. И у меня созрела мысль, которую я до этого нигде не читал. Может я невнимательный, а может и действительно кому то дам новый взгляд. Так что, прям с пылу с жару несу это вам.
Итак, о чем статья то. Я ни в коем случае не обесцениваю труд автора, но я прочел ее краткое содержание примерно так:
Почему нельзя писать код с помощью нейросетей:
Вы станете тупым
Вас никто не будет уважать
Это вообще не дело
Лично я вообще не переживаю насчет того, что скоро скайнет захватит мир, потому что:
Зачем зря переживать
У меня есть работа
Я уверен, что ближайшие десять лет моих знаний хватит, чтобы не оказаться в нищете.
Эту уверенность отчасти мне дал отрывок из очень избитой книги Роберта Мартина "Чистый код". Обратите внимание, что книжка аж 2008 года, и хотя может быть конкретно этот отрывок и из редакции 2013го, но это не отменяет того факта, что Chat GPT & Co еще даже не появились на свет.
Сейчас я настоятельно рекомендую ознакомится с этим отрывком, поскольку это главная и единственная мысль этой статьи, которую я буду пережевывать.
Итак, глава 1, отрывок под тезисом "а поговорить?":
Возможно, кто-то скажет, что книга о коде отстала от времени — код сейчас уже не так актуален; вместо него внимание следует направить на модели и требования.
Нам даже доводилось слышать мнение, что код как таковой скоро перестанет существовать. Что скоро весь код будет генерироваться, а не писаться вручную. Что программисты станут попросту не нужны, потому что бизнесмены будут генерировать программы по спецификациям.
Ерунда! Код никогда не исчезнет, потому что код представляет подробности требований. На определенном уровне эти подробности невозможно игнорировать или абстрагировать; их приходится определять.
А когда требования определяются настолько подробно, чтобы они могли быть выполнены компьютером, это и есть программирование.
А их определение есть код. Вероятно, уровень абстракции наших языков продолжит расти.
Я также ожидаю, что количество предметно-ориентированных языков продолжит расти. И это хорошо. Но код от этого существовать не перестанет.
В самом деле, все определения, написанные на этих высокоуровневых, предметно-ориентированных языках, станут кодом!
И этот код должен быть достаточно компактным, точным, формальным и подробным, чтобы компьютер мог понять и выполнить его.
Люди, полагающие, что код когда-нибудь исчезнет, напоминают математиков, которые надеются когда-нибудь обнаружить неформальную математическую дисциплину.
Они надеются, что когда-нибудь будут построены машины, которые будут делать то, что мы хотим, а не то, что мы приказываем сделать.
Такие машины должны понимать нас настолько хорошо, чтобы преобразовать набор нечетких потребностей в идеально выполняемые программы, точно отвечающие этим потребностям.
Но этого никогда не произойдет. Даже люди, со всей их интуицией и изобретательностью, не способны создавать успешные системы на основе туманных представлений своих клиентов.
Если дисциплина определения требований нас чему-то научила, так это тому, что четко определенные требования так же формальны, как сам код, и могут использоваться как исполняемые тесты этого кода!
В сущности, код представляет собой язык, на котором в конечном итоге выражаются потребности. Мы можем создавать языки, близкие к потребностям. Мы можем создавать инструменты, помогающие нам обрабатывать и собирать эти потребности в формальные структуры. Но необходимая точность никогда не исчезнет — а следовательно, код останется всегда.
Подумайте над этим отрывком, я пока отвлекусь на чтение комментариев статьи от ruvds - итак, подборочка:
Много идей рождается в процессе написания рутинного кода. В какой-то мере даже умный автокомплит и генерация кода иногда мешают – не происходит такой нужной прогрузки кода в мозг, которая помогает находить неочевидные решения
Простите, но я честно не понимаю хайпа вокруг ИИ. Это же всё просто галлюцинации либо "вода".
Картинки это бред с 7 пальцами или рунами вместо букв.
Ответы на бытовые вопросы это просто вода.
Код нерабочий, за ним всё надо перепроверять, а нах тратить время если всё равно придётся разбираться.100 % моих попыток его использовать были провальными.
Борьба будет. Между вами и вашим коллегой, который активно использует условный copilot / chatgtp / claude.
И если выяснится, что производительность коллеги выше – вы будете меньше кушать.
Может ещё и автодополнение и автоподстановку отключить в редакторе? Я не пользуюсь ИИ, но просто потому, что лень разбираться. Да и не вижу пока(?) особого профита по скорости. Всё равно надо будет прочитать и разобраться, что оно мне в код подкинуло.
Но если это ускоряет разработку, то это уже не остановить. Как бы не стыдили халявщиков)
Итак, в комментариях большая часть аудитории разделились на два лагеря:
Первые: да с этим чатом гпт у вас сгниют мозги!
Вторые: пусть гниют, мы то хотя бы не умрем в нищете!
Для меня утверждение - "люди с чатом гпт - лучшие работники, чем без него" - просто бред.
Во первых - какие люди-то? Если ты джун с copilot, то ты физически не можешь себя сравнить с Джоном Скитом. Если ты лид, и строишь огромные, высоконагруженные системы, руководишь большой командой, о чем здесь может идти речь?
Любые нейронки, это просто инструмент. И меня уже начинают раздражать тезисы, которые утверждают, что благодаря какому-либо инструменту, вы станете востребованным профессионалом.
Тоже самое, что сказать - "код на C++ говно, на python гораздо лучше. Кто пишет на python, за тем будущее". Ах, да... Такой тезис периодически звучал последние несколько лет.
Хороший программист - это профессионал, финальный продукт деятельности которого удовлетворяет заказчика. Если тебе надо выбивать дырки на перфокарте и написание "hello, world!" отнимает у тебя неделю, то это не удовлетворит ни одного заказчика. Если вносить правки в систему умеет 2 человека в мире, такой продукт ни одного вменяемого человека также не устроит.
Если же ты профессионал, и можешь сделать отличную систему из поломанного стула и рожка мороженного - то ты будешь востребован до тех пор, пока твой продукт будет удовлетворять заказчика. А поверьте, отлично сделанные системы никогда не перестанут удовлетворять заказчиков.
Просто по каким-то причинам способ создания продукта из поломанных стульев и рожков с мороженным может стать неактуальным - уменьшилось количество специалистов, способных работать с этими инструментами, стулья перестали ломаться, а рожки с мороженным закончились. Но навыки никуда не делись.
Если человек был профессионалом высшего класса, делая приложения из стульев и мороженного, то я уверен, если закончатся стулья, он не сядет на пол и не скажет: "Ну все, больше-то я ничего и не умею. Конец моей карьере."
Но если голова потенциального разработчика не способна перенести теоретические знания и понимание принципов работы своей предметной области на практику - он просто плохой специалист, вот и все. Дело не в инструментах.
Дальше что-то не идет мысль, вроде сказал, все что хотел. Всем спасибо за внимание!
Комментарии (69)
AuToMaton
29.10.2024 01:39К сожалению, так просто это не работает.
А когда требования определяются настолько подробно, чтобы они могли быть выполнены компьютером, это и есть программирование
Нет. Компьютеру всё равно что выполнять, скажем иначе - может быть выполнено что угодно, и все это знают. На данный момент ярче всего это знание проявляется в Rust - типа если компилится, то работает, что есть замечательно и прекрасно. Как работает, над чем, чего для - вопрос даже не встаёт, прекрасно и точка.
Автор цитаты предполагает, что требования должны быть сформулированы, а ИИ доказывает обратное. Требования могут быть сформулированы, а должна быть сформулирована цель.
Пример - интернет магазин. Цель - продажи. Цель следующего уровня - чтобы платили за работу бесконечно долго. Остальное - шарлатанство под видом требований под видом программирования. Никто никогда не доказал что магазин продаёт наилучшим образом. Более того, никто не просил доказать.
Вся история индустрии показывает - и так сойдёт рулит. Начнём с Х11… Люди отказываются от программирования, читай думать, при первой возможности, Inkscape скриптуется (многие этим пользуются?), а Procreate уже нет.
Лично я вижу - тексты уже массово сопровождаются неимеющими смысла сгенерированными изображениями. И так гораздо интереснее.
Тоже самое, что сказать - "код на C++ говно, на python гораздо лучше. Кто пишет на python, за тем будущее".
А что, разве не так? Применим любые метрики - будущее действительно оказалось за теми кто пишет на Python. Ваш пример опровергает то, что должен был подтвердить.
Если же ты профессионал, и можешь сделать отличную систему из поломанного стула и рожка мороженного - то ты будешь востребован до тех пор, пока твой продукт будет удовлетворять заказчика.
С какого перепуга заказчик должен радоваться тому: что стул именно поломан и склеен именно мороженым? Особенно когда его что угодно, хоть на Electron слепленное, вполне удовлетворит? Как пример - на том же Хабре расцвёл Obsidian, пока Notion не вернулась, думается. На десктопе Electron, на мобилке Ionic… не лишён проблем… просто представить каким он мог бы быть в нативе… и ничего, сам пользуюсь с удовольствием.
Ваш «профессионал» далеко не «профессионал», он техник, решающий примитивные технические задачи. А такие задачи появляются и исчезают.
Может быть профессионал тот, кто объяснил заказчику что можно сделать систему в принципе? Как Джобс с идеей что люди не знают что им нужно пока этого не покажешь или Форд с идеей что если бы он спросил людей что им нужно, то они попросили бы лошадей порезвее? Да, в большей степени. Но его задача минимум на половину - понимание людей, а это нейронки могут уже…
Любые нейронки, это просто инструмент
Нет, не просто. Как револьвер Кольта был не просто оружием, а Великим Уравнителем и создал американскую цивилизацию. Пыль которой мы глотаем в бесплодных попытках импортозамещения, причём не одни, а со всякими вторыми и третьими мирами вместе. Потому что замещать нужно не товары, а цивилизованность.
Нейронки, пожалуй, не создают. Они приводят к логическому завершению построенного на определённых ценностях. той самой цивилизации завершению, если угодно. И либо ценности изменятся, либо к многим погибшим на этой планете цивилизациям добавится ещё одна. Или две если тезис о том, что Россия - особая цивилизация, верен.
И тут важны два момента, которые никто не обсуждает как относительно недавно все не обсуждали деление урана.
Нейронки позволят узнать не просто людей, а каждого в отдельности. Ничего нового, см. кокаин.
Те нейронки, и ИИ вообще о которых мы знаем, точно не все существующие и не лучшие из существующих.
То, что так не работает, не означает что доказываемое не верно. Но лично я не верю что устоят даже термины типа программист, разработчик… а уж джун, сеньор, тестер - и подавно.
randomsimplenumber
29.10.2024 01:39тексты уже массово сопровождаются неимеющими смысла сгенерированными изображениями.
Увы, да
И так гораздо интереснее.
Увы, нет. Эти картинки просто занимают место на экране. Место бесплатное, картинки бесплатные. Добавить ещё и бесплатного текста - и можно этот продукт не читать, а скормить другой нейросетке, чтобы та кратко пересказала.
k4ir05
29.10.2024 01:39Автор цитаты предполагает, что требования должны быть сформулированы, а ИИ доказывает обратное.
Автор цитаты утверждает, что чем менее подробно будут описаны требования, тем меньше вероятность получить желаемый результат. Вот это ИИ как раз демонстрирует.
qiper
29.10.2024 01:39ярче всего это знание проявляется в Rust - типа если компилится, то работает, что есть замечательно и прекрасно
Раст никак не определит, что на самом деле вы имели ввиду
Wizard_of_light
29.10.2024 01:39Машинисты передают привет. Профессия осталась, но с паровоза таки пришлось пересесть почти всем.
nixtonixto
29.10.2024 01:39Метро в некоторых странах уже давно беспилотное. Поезда не переводят на беспилотное управление имхо только из-за огромной ответственности, которую пока ещё боятся брать на себя разработчики ПО.
anaxita
29.10.2024 01:39или потому что надо модернизировать всю инфраструктуру по всей стране условно для этого
уверен беспилотный автомобиль не менее сложен чем поезд, которому не надо перестраиваться и следить за десятком машин рядом и картам кучи поворотов съездов и колец.
Wesha
29.10.2024 01:39С паровоза таки пришлось пересесть почти всем
(Уважительно:) хорошо, что Вы не забыли слово "почти". А не то я б
контрпример привёл
panzerfaust
29.10.2024 01:39Будет как в сказке: кто убил дракона, сам становится драконом. Допустим, какой-то менеджер решил взять б-га за яйца, выбросить погромистов на мороз и писать весь код с помощью ИИ. Очень быстро он обнаружит, что профессия разработчика - это не писать с нуля сортировки, которые так офигенно пишутся ИИ. И будет этот хитрожопый менеджер с утра до вечера сидеть и дорабатывать через ИИ существующий код так, как скажут другие менеджеры. Потому что теперь он шарит, а у остальных и другие дела есть. И какова теперь его профессия?
Он миллиционер?jackshrike
29.10.2024 01:39И какова теперь его профессия?
дояр нейросетей.
погонщик скота^W ИИ.
в общем что-то из сельского хозяйства.
maxlilt
29.10.2024 01:39Калькулятор никогда не заменит профессионального расчетчика. Считать следует в уме, без этого тупеют.
2medic
29.10.2024 01:39Калькулятор никогда не заменит профессионального расчетчика. Считать следует в уме, без этого тупеют.
Калькулятор — это инструмент, как и любой другой, а главное в расчетах — это понимание, как они работают. Без знаний, как считать и что считать, никакой ум не спасет. Простое механическое вычисление без осмысления — это не умственный труд, а скорее цирковое представление. Примером могут служить инженеры-проектировщики электронных плат: их задача — знать, как все элементы схемы взаимодействуют между собой, чтобы создать рабочий проект. А тот, кто просто паяет детали на плату, не должен разбираться в сложных расчетах, его задача — выполнять механическую работу. Проектировщик — это расчетчик с глубокими знаниями, а калькулятор — лишь инструмент, помогающий ускорить рутинные операции.
Koyanisqatsi
29.10.2024 01:39Если всё таки представить себе, что появится такой ну прям ваще сильный ИИ, который просто по нечётким требованиям менеджера будет создавать что-то приемлимое, то результат будет удивительный - такое ПО не будет стоить ни копейки, и его практически невозможно будет продавать, потому что миллионы таких менеджеров будут создавать что-то подобное.
2medic
29.10.2024 01:39Цель не в создании ценного программного обеспечения, а в решении бизнес-задач. Например, главному энергетику завода нужно прогнозировать количество потребляемой электроэнергии, так как завод платит не по факту, а покупает мощности заранее. Затем он должен следить за тем, чтобы не превышать эти объёмы, учитывая тарифные зоны. В реальной ситуации, если завод превышал объёмы, то даже останавливал литейку с электрическими печами, чтобы избежать штрафов. Раньше на заводе несколько сотрудниц вручную снимали показания со счётчиков и рассчитывали потреблённый объём. Теперь их заменили контроллером и программным обеспечением. Но цель здесь не в написании ПО, а в контроле объёмов потребляемой электроэнергии.
youngmyn Автор
29.10.2024 01:39Дико плюсую ваш ответ. Многие, рассуждая о нейросетевых инструментах используют абстрактное понятие "программа". Нейросеть же может написать программу? Конечно может. Ключевой момент именно в решении бизнес-задач. Формулировка бизнес задачи, для ее решения компьютером - это и есть код.
Wesha
29.10.2024 01:39Нейросеть же может написать программу? Конечно может.
Программу может написать даже мартышка. Вопрос в том, чтобы написать правильную программу.
funca
29.10.2024 01:39LLM определённо меняют подходы к разработке ПО. Они классно себя проявляют в качестве ассистентов и экспертных систем, предлагая различные варианты решения прикладных задач: от простейшего автокомплита кода до написания целых модулей. Дальше будет только лучше.
Comdiv
29.10.2024 01:39Давайте сделаем в тексте небольшую правку:
Любые
нейронкикомпьютеры, это просто инструмент. И меня уже начинают раздражать тезисы, которые утверждают, что благодаря какому-либо инструменту, вы станете востребованным профессионалом.Изменился ли смысл? Перестало ли раздражать? Если да, то почему? Что будет, если думать на перспективу, а не делать вид, что всё будет так же как сейчас?
youngmyn Автор
29.10.2024 01:39Абсолютно не перестало раздражать. Если кто то утверждает, что стать востребованным профессионалом можно только, если у тебя есть компьютер, я буду с ним несогласен.
Хотя в реалиях нашего века банально сложно социализироваться, не имея выхода в интернет. Но возможно.
Надо делать различие в том, насколько инструмент базовый - условно, можно ли стать востребованным профессионалом, пользуясь вместо электробритвы топором? Ну, можно, просто скорее всего будешь выглядеть не очень и будут на тебя поглядывать иногда странно.
Компьютер, как понятие, уже перешёл в категорию "бытовая техника", а не "профессиональные инструменты", если рассматривать термин "профессионал" в широком смысле, а не только в итшном
Wesha
Как я уже неоднократно писал
...давным-давно, когда компьютеры были большими, разработчик набирал переключателями на пульте двоичный код, который потом исполнялся процессором. Потом программист стал писать человекочитаемыми буковками код низкого уровня (на ассемблере), который транслировался в машинный код, который исполнялся процессором. Потом разработчик стал писать код на языке высокого уровня (скажем, C — кстати, у сишных ++ и -- ноги растут из DEC-овских операций с авто{ин|де}крементом), который транслировался в код низкого уровня, который транслировался в машинный код, который исполнялся процессором. Теперь разработчик нового уровня будет писать очень-очень подробное и детальное техническое задание, не допускающее двояких толкований, которое транслируется в код на языке высокого уровня, который транслируется в код низкого уровня, который транслируется в машинный код, который исполняется процессором...
MaxiEnergy
Самое адекватное и при этом лаконичное мнение на этот счет, которое я только встречал. Люто плюсую и не понимаю возгласов про то, что нейросети у кого-то там заберут работу. Электричество забрало работу у фонарщиков, а будильник забрал работу у тех, кто длинной палкой с улицы стучал по окну человеку в нужное время
Если вы боитесь, что инструмент, технология или автоматизация процесса может забрать у вас работу, стоит задуматься, а не холиварить прогресс
Wesha
Кстати, я всё-таки лучше буду программировать по старинке, потому что тупо короче написать
чем "Если в корзине находится более 20 товаров, то предоставить покупателю скидку в 10% и вывести первую страницу из находящихся в корзине товаров; в противном случае скидку не предоставлять и показать содержимое корзины полностью".
MaxiEnergy
Ну это равносильно тому, что дать команду нейронке «Напиши программу на Python для вывода сообщения «Hello World» в терминал» или самому написать
На мой взгляд так использовать нейросеть уж совсем глупо
Wesha
Ну так если написать без подробностей, типа "напиши мне магазин лампочек", то потом выяснится огромная куча нюансов, и придётся исправлять, исправлять и исправлять. Человеки почему-то считают, что оно залезет к ним в мозги и само узнает, как они на самом деле хотели.
2medic
Ваш пример выхолощенный. Вот иной пример: наконец-то закончен запрос к БД с использованием CTE, многочисленных join и union. Получаем результат запроса, отдаём его ИИ и просим создать DTO. Секунда и у нас класс DTO с типизированными полями. И этот класс написать нифига не короче, чем промт. При этотм очевидно, что работа простая, но рутинная.
vasyakolobok77
Плохой пример привели.
1. Информация о типах колонок лежит в бд - у ИИ нет доступа к вашей БД.
2. Формировать ДТО по результату запроса (выборке с данными) - какая-то глупость.
3. ДТО должно задаваться явно на бэкенде, на основе среза сущностей, или там автогенерации кода.
funca
Ну а если есть? ChatGPT уже неплохо разгребает такие задачи при наличии метаданных. Причём, необязательно SQL. Это может быть Pandas или таблицы в Excel.
2medic
Если нет, то можно засунуть тот же DDL в промт.
2medic
Тип колонки в 99% успешно определяется по её содержимому. Также можно пробежать по результату глазами. Или засунуть в промт DDL таблиц.
Аргументация? Моя ситуация - работаю с легаси-кодом. Документации - ноль. Процедурный стиль. Спагетти-код. Я "причесал" длиннющий несопровождаемый запрос к БД, скормил результат ИИ и получил DTO, смысл которого в большей степени не в трансфере объектов, а чтобы IDE начало мне подсказывать поля, возвращаемые запросом, и я в стопятисотый раз не задавался вопросом, а что же эта простыня возвращает.
Так что не знаю, глупость это или не глупость, а я сделал себе в работе удобно. И сделал этот быстро.
Подскажите, как мне автосгенерировать DTO, в котором хранится результат запроса к нескольким таблицам, да ещё с использованием хранимых функций (реализующих вычислимые поля) и конструкции CASE WHEN в PostgreSQL?
2medic
А вот тут как раз так и происходит. Обычно человеки не знают, что они хотят на самом деле. За десятилетия работы неоднократно сталкивался с ситуацией: "ой, а что, так можно было? А можно тогда ещё вот так..." Это поведение можно охарактеризовать фразой: аппетит приходит во время еды.
А ИИ предлагает решение на основе анализа 100500 решений, в том числе таких, какие пока ещё не приходят в голову заказчику, но вполне себе могут прийти во время разработки.
Т.е. получается, ИИ всё-таки может "предугадать" чего же они на самом деле хотят. Ну просто потому, что они сами об этом не знают.
Wesha
(участливо:) И часто Вы антропоморфизируете?
ИИ ничего не "анализирует", он всего-навсего подсчитывает, какой токен будет наиболее вероятным следующим в потоке.
polearnik
а вы нет?
Wesha
Амбивалентнось бытия, в том смысли, что если Вы ожидали, что с хлорошей долей вероятноси сможете предсказать следующий токен, то чёрта Вам с два!
polearnik
я немного про другое. вы как и ИИ предсказываете следущий токен изза натренированности вашей нейросети. когда вы учавстуете в разговоре и сразу отвечаете то по сути вы генерируете следущий токен(слово) по вероятностям. эти вероятности особенно очевидны когда вы ошибаетесь или заговариваетесь.
Wesha
Не знаю — может, лично у Вас оно так и работает (сочувствую), но я сначала строю в голове модель и потом описываю её словами, а не просто ищу "какое слово наиболее вероятно после слова "кремлёвские"..."
2medic
Анализ — это процесс разложения сложного явления, объекта или проблемы на составные части с целью их исследования, выявления закономерностей и взаимосвязей между ними. Цель анализа — понять структуру объекта, его функционирование и взаимодействие частей, а также выявить возможные причины или последствия происходящих изменений.
Обучающая выборка и алгоритмы позволяют модели распознавать паттерны, которые могут внешне напоминать анализ. Хотя это больше про статистику, чем про мышление или сознательный анализ.
ИИ использует
свои знаниянабор вероятностей для токенов, сформированных на основе обучающих данных, для предсказания или выполнения задачи.Так что в некотором смысле можно сказать, что ИИ "анализирует", но это следует понимать как процесс сложной обработки данных и выявления закономерностей, а не как человеческую способность к осмысленному размышлению.
Wesha
В обыденном понимании «анализ» подразумевает 1) наблюдюдение явления, 2) выяснение в нём закономерностей («щёлкни кобылу в нос — она махнёт хвостом») и 3) использование выявленных закономерностей для достижения желаемого результата. В случае с ИИ ничего из этого не имеет место быть — скорее, уместнее сравнивать с перебором уже имеющихся паттенрнов (утрируя, «На 100 500 страницах в интернете после токенов „как зо‑вут Га‑га‑ри‑на“ идёт „Ю‑рий“, соответственно, так и надо выдать»)
funca
ИИ дает дешевые приближенные численные методы для того, чтобы соединять входы с выходами. Это как альтернатива более точным, но дорогим - аналитическим. Естественно, что бизнес будет не выбирать из крайностей, а искать баланс.
2medic
Почему? Возможно, моё понимание этого вопроса неверно, поправьте меня, если я ошибаюсь.
Я считаю, что ИИ всё-таки выявляет закономерности, которые отражаются в коэффициентах, вычисляемых на основе обучающих данных. ИИ наблюдает явления (точнее, за него это делают), а затем выявляет зависимости. Таким образом, второй пункт однозначно применим, ведь ИИ находит закономерности в данных. Эти закономерности затем используются для обработки новых входных данных. По сути, ИИ преобразует входные сигналы, применяя те самые выявленные зависимости.
Наблюдение явления: ИИ анализирует большие объемы данных, которые представляют собой наблюдения различных явлений. Например, в случае с языковыми моделями, такими как GPT, данные включают миллиарды текстов, содержащих разнообразные примеры использования языка.
Выявление закономерностей: В процессе обучения ИИ использует алгоритмы, такие как градиентный спуск, для оптимизации весов модели. Эти веса отражают выявленные закономерности в данных. Например, модель может обнаружить, что после слов "как зовут Гагарина" с высокой вероятностью следует "Юрий".
Использование выявленных закономерностей: После обучения модель использует эти закономерности для генерации ответов на новые входные данные. Это позволяет ИИ преобразовывать входной сигнал (например, вопрос) в осмысленный выход (например, ответ), основываясь на выявленных закономерностях.
Генерализация: Ещё один важный аспект работы ИИ способность к генерализации, то есть применению выявленных закономерностей к новым, невиданным ранее данным. Это очень похоже на процесс, когда человек на основе наблюдений делает выводы и использует их в будущем для принятия решений.
Wesha
В том-то и дело, что ИИ "находит закономерности" в уже существующем корпусе текстов — поэтому то, о чём не говорят люди в интернете, для него тупо не существует.
Условно говоря: если сегодня из моря всплывёт говорящий на языке жестов осьминог — любой дурак будет знать, что с ним делать; в то время как ИИ ничего по этому поводу сказать не сможет, потому что про говорящих осьминогов в Интернете никто ничего не писал.
2medic
Так и человеки находят закономерности только в тех явлениях, которые наблюдают.
Сильно сомневаюсь. Не все вообще видели осьминогов, и мало кто представляет, что с ними делать и без языка жестов.
А если ещё учесть, что жестовых языков более одного, и органы жестикулирования отличаются от наших, то будет вообще ой...
Wesha
Я вообще-то имел в виду "бежать звонить учёным"...
Kanut
А ИИ до этого точно не додумается? :)
Wesha
Нет — потому что он не думает.
Kanut
Во первых спорное утверждение. По крайней мере пока у нас нет единственного общепринятого формального определения слова "думать".
А во вторых всё уже настолько плохо что кроме как придираться к словам других вариантов нет? :)
Arenoros
это не спорное утверждение это факт, в случае если во входящих данных обнаруживается отклонение от ожидаемого человек склонен к проведению анализа является ли это погрешностью или новым знанием, нейронка ни чего подобного сделать не способна, она архитектурно заточена считать любое отклонение погрешность и игнорировать его. По этим же причинам она не способна задавать уточняющие вопросы, у неё нет понятия "понимания проблемы" она просто генерирует что то похожее на то о чем был вопрос.
Kanut
Ну так куча людей в этом аспекте от нейронки ничем не отличаются. Но мы про них всё равно говорим что они "думают" :)
cliver
ИМХО к чему приведет бездумное использование "ИИ" в программировании, так это к увеличению способностей для свистелок и перделок (и последующему увеличению их количества) и общему уменьшению качества, понятности и надежности кода. Зачем платить программисту, если то же приблизительно похожее может наваять "ИИ" и первое впечатление у "среднего" заказчика или пользователя будет на первый взгляд приблизительно такое же, но затраты по времени и деньгам меньше? Пользователь/заказчик попавший в эту ловушку, в последнюю очередь будет думать, что "качество" не то, когда и его прога/cервис/приложение упадет в сегфолт, начнет тормозить или просто начнет дохнуть при измененных данных. Но для этого у него появиться новый лучший "ИИ" который пофиксит и напишет новое говно, и наступит следующая итерация. Наступит эра одноразового (говно)софта, который эти бездумные товарищи будут постоянно создавать и отправлять на помойку.
StjarnornasFred
Всё так. Это же и причина, по которой зачастую нет внятного ТЗ до начала проекта: представление о желаемом либо недостаточно чёткое, либо ошибочное. В целом это вовсе не плохо, даже наоборот: можно двигаться поступательно, получая промежуточные результаты и формируя уточняющие требования, в итоге прийти к результату, который полностью устраивает.
VBDUnit
Вообще, в перспективе все идёт к «скинуть тз сетке → получить софт». Тз взять у другой сетки, которая проанализировала пожелания заказчика. Которые ему сформулировала...
А в долгосрочной перспективе к концептуально новому поколению нейроморфного софта, в котором данные и софт, процессы разработки и эксплуатации слиты в один поток, то есть софт в реальном времени подстраивается под текущие и прогнозируемые(!) задачи, отращивает себе новые функции и утрачивает ненужные, находясь в непрерывном диалоге с пользователем не только на вербальном, но и на психологическом уровне. В ещё более долгосрочной — вот это вот интегрированное с мозгом.
Новая технология предполагает новые концепции и подходы, а не просто оптимизацию старых.
youngmyn Автор
Отвечу цитатой из отрывка:
Вы сами говорите : взяла пожелания заказчика. И в вот этих пожеланиях всегда будет определенный уровень необходимой точности. Заказчик в данном случае и есть программист.
VBDUnit
А вот и необязательно. В том то и фокус, что можно будет взять 100 Гб логов за последние 10 лет + куча разномастной инфы о рабочих процессах, сделках и финансах + инфа о всех сотрудниках и владельцах компании из соцсетей (в том числе о стиле общения, характере и т. п.) + видосики с корпоративов (где можно проанализировать взаимоотношения сотрудников, их мимику, жесты и пр.) + пожелания заказчика на листочке, скормить всё это ИИ и он сам из этого листочка сгенерирует точные требования. И угадает, возможно, даже лучше, чем сам бы заказчик написал.
За нами сейчас следит тупо всё что можно, вплоть до унитазов и лампочек (по отражению вайфаев). На этой куче инфы можно очень круто обучать ИИ, в том числе, в предугадывании и моделировании подсознательных, сознательных и социальных процессов в любых масштабах — от одного индивида до целых стран. ИИ может воспринимать заказ не как «сделать хотелки заказчика», а как часть социально‑бизнесовых процессов, в которых участвуют заказчик, его контрагенты, партнёры, сотрудники, друзья, любовницы, окружение и пр., и из всего этого вытянуть гораздо больше, чем сам заказчик сможет вытянуть из своего мозга сам. В том числе, что он подцепил желение это сделать на очередной конференции, где все обсуждали новый модный способ делать X.
Более того, такой ИИ может даже работать в реверсе, используя всё вышеперечисленное и знания психологии, маркетинга, экономики и бизнеса, чтобы убедить заказчика, что он сам лично решил, что ему просто необходимо заказать ещё кучу штук на 100 500 денег, без этого просто вообще ну никак. Если только заказчик не является тоже ИИ.
Вот и получается, что на ИИ перекладываются не просто задачи, процессы и цепочки, а целые пласты жизни.
youngmyn Автор
Ну у меня ответ простой - нет, не угадает.
Вы предполагаете, что каждому конкретному заказчику можно собрать статистику и выдать нечто среднее по больнице. - если бы это было так, программисты уже были бы не нужны. Опять таки, есть точность, которая нужна - ну вот надо, чтобы выполнялось условие А, при учете проектирования системы. ИИ сделает тебе с учетом условия А. Но потом выснится, что условие А тормозит систему, ему нужно условие Б. ИИ учтет и этот ньюанс.
И вот программист это тот, кто пишет : сделай мне систему с учетом А, ньюансом Б и целевым стеком В,Г и Д.
Вы можете мне сказать: да ИИ сам поймет все ньюансы, лучше чем человек, и сделает как надо изначально.
Но тогда получается, что запросы будут выглядеть примерно так: напиши мне самый лучший интернет-магазин, сделай сайт желтеньким в крапинку.
Второй запрос: напиши самый лучший интернет магазин, вместо крапинки сделай горошек.
Так что ли? Но, если у нас есть какой-то эталон, какое-то идеальное решение, почему же мы им не пользуемся сейчас? Зачем пишем костыли? В интернете лежат кучи хорошо написанных исходников интернет-магазинов, которые можно красить и в крапинку, и в горошек. Просто пусть бизнес берут это "среднее по рынку" и пользуется. Дешевле, быстрее, стабильнее.
Но блин, что-то так не получается. Видите ли у всех есть какие то ньюансы и пожелания, сделать как они хотят. Всем нужен уровень необходимой точности, такова человеческая натура. Если бы не было людей, то ИИ бы сделал 1 интернет магазин, где все киборги бы все и покупали. И этот магазин был бы стабилен, надежен и тд.
Вы, в своем утверждении забываете, что ИИ может ускакать сколь угодно вперед, но люди остануться людьми, и будут что-то, зараза, хотеть.
peterjohnsons
И в чём проблема? Разве гипотетический ИИ будущего не сможет собрать всю необходимую информацию для необходимой точности? Вы экстраполируете текущие ограничения ИИ на будущее. Но продвинутый ИИ сможет не просто выдавать "среднее по больнице", а учитывать все индивидуальные нюансы конкретного бизнеса, анализируя огромные массивы данных о компании, сотрудниках, клиентах, рынке и т.д.
Когда вы говорите про "люди останутся людьми и будут что-то хотеть" - именно это ИИ и сможет глубоко анализировать, включая неявные желания, потребности и ограничения, которые сам заказчик может не осознавать. ИИ сможет предложить решение, учитывающее не только озвученные требования, но и весь контекст бизнес-процессов, психологии пользователей, технических возможностей и т.д.
Это не будет "один магазин для всех киборгов" - наоборот, это будет глубоко персонализированное решение, основанное на комплексном анализе всех доступных данных о конкретном бизнесе и его окружении. Вопрос не в том, чтобы заменить человеческие желания, а в том, чтобы лучше их понимать и реализовывать.
Wesha
Фантасты уже предсказали, чем всё это кончится.
peterjohnsons
Более того, продвинутый ИИ будущего сможет предвосхищать появление технического задания. Ещё до того, как заказчик сформулирует свои требования (возможно, неполные или противоречивые), система уже будет располагать глубоким пониманием контекста: почему возникла эта потребность, какие бизнес-процессы требуют улучшения, какие проблемы реально нужно решить.
В отличие от современных бизнес-аналитиков, которые тратят недели на интервью и погружение в предметную область, ИИ будет непрерывно анализировать целостную картину: от финансовых показателей до повседневных операций, от корпоративной культуры до рыночных трендов. Это позволит ему видеть не только явные проблемы, но и скрытые возможности для оптимизации, о которых сам бизнес может не подозревать.
Таким образом, роль ИИ будет не в том, чтобы просто "выполнить хотелки заказчика", а в том, чтобы предложить действительно оптимальное решение, основанное на комплексном понимании бизнеса и его экосистемы.
Wesha
Ну да, как-то так.
Kanut
Нейросети вполне себе могут сделать так что кто-то сможет делать большие объёмы работы за единицу времени. По хорошему даже иначе они просто будут не нужны.
И тут грубо говоря у нас есть два варианта развития событий. Ну либо работы непочатый край и тогда никаких проблем и только плюсы. Либо количество "нужной нам" работы ограничено и тогда кто-то останется без работы.
И что-то я слегка сомневаюсь что во всех отраслях и профессиях у нас будет именно первый вариант. И даже в контексте одного только ИТ я в этом не уверен...
MaxiEnergy
Часть профессий вымрет, так как перестанет быть актуальными из-за того, что данная работа будет выполняться значительно быстрее и эффективнее с использованием нейросетей. Это факт. Такое происходило в истории человечества несчетное число раз
А вот бояться этого точно не стоит, потому что:
Повсеместное распространение нейросетей и подобных технологий сможет простимулировать появление новых профессий и видов работ. Пока что сложно сказать, каких конкретно, но, скажем так, с появлением персональных компьютеров появились и те, кто их производит, улучшает, собирает, чинит и тд
Существующие профессии будут пересмотрены. Суть останется, а вот нюансы, навыки и прочее претерпят изменения. К примеру, до изобретения машин извозчики развозили людей на лошадях. Теперь это делают таксисты. В обозримом будущем это будут делать роботакси. И их тоже придется кому-то обслуживать. Суть остается одна, а навыки требуются иные. С программированием так же. Актуальны сейчас навыки работы с теми же перфокартами? А ведь в свое время это была база, без которой вы не смогли бы стать программистом вообще. Суть осталась неизменна, но изменились процессы. Сейчас мы видим то же самое
Перемены всегда пугают. Это нормально. Профессии исчезают. Это тоже нормально. При этом как-то же ведь люди находят себе работу, род деятельности и прочее, опираясь на «дух времени» и существующие возможности
P.S. Мне нравится эта старая открытка, когда люди боялись повсеместной электрификации. Кто-то боялся потерять работу, кто-то - опасности электричества, кто-то - того, как это отразится на обществе. С нейронками сейчас происходит ровно то же самое
Kanut
Перемены они не только пугают. Они кроме этого вполне себе создают проблемы. Как минимум для отдельных людей и на какое время. Местами серьёзные проблемы и на относительно долгое время.
Wesha
Вот Вы тут ржОте,
а тем временем в замке у Шефа...
MkIV007
Ха. Помню (когда компы были большие), учился я в вузе и мы сдавали как то лабу в виде рулона перфоленты на ассемблере. И случайно сконвертили ее в машинный код, потеряв при этом ассемблерный вариант. Хотели так сдать - мы же понимали, что он делает и были готовы рассказать :). Но злой преп заставил заново набить перфоленту на ассемблере...
Wesha
...так мы написали дизассемблер!