С выходом ChatGPT как-то внезапно обострились апокалиптические настроения в духе: заменит программистов, оставит нас всех без работы, и прочее «мы все умрем». Последнее, конечно, верно, но не ново.
Сразу скажу, что самолично я с ChatGPT не экспериментировал, так что размышлять буду в целом отвлеченно-теоретически, опираясь, впрочем, на множество «свидетельских показаний» в интернете, касающихся как этой нейросети, так и разных прочих.
Попробую сделать некоторые предположения, как именно в действительности нейросети нового поколения повлияют на различные виды деятельности (те, о которых я имею хоть какое-то представление). Если коротко, то убийства интеллектуальных и творческих профессий я не ожидаю, при этом изменения таки будут, и будут существенны, причем наиболее существенные проявятся в долгосрочной перспективе.
И да, КДПВ сгенерирована нейросетью по запросу «deep learned girl in fantasy style».
О смерти профессий
Здесь хочу проговорить следующие моменты:
-
Нейросеть не решает по-настоящему творческих задач. Хотя зачастую решает задачи, которые до сих пор было принято считать творческими, но это означает лишь то, что наши представления о творческом и нетворческом, новом и скомпилированном придется пересматривать. Хотя некоторые и считают, что на самом деле разницы тут нет, и вопрос скорее количественный, однако это не так, ниже еще постараюсь раскрыть поподробнее.
При том в плане компиляции, сборки чего-то из имеющихся в разрозненном виде (если на примере программирования: алгоритм из одного источника, API из другого, язык можно взять ни там, ни там не применявшийся…) нейросети уже очень хороши и, в общем-то, превосходят человека.
-
Вопросы целеполагания и принятия решений железяченькам неподвластны.
Тут надо разделять принятие решений как выбор путей действия с оптимизацией по каким-то параметрам — в этом компьютеры хороши, правда, могут не учесть какой-то критически важный, но настолько очевидный для человека, что никогда не проговаривается, параметр, но это как раз технический вопрос; и решения, связанные собственно с целеполаганием — субъектность… Не то, чтобы субъектность была полностью недоступна творениям рук человеческих, но оно нам надо?
Но имеет ли это отношение к профессиональной деятельности? Да, имеет. Как только речь заходит о долгосрочном планировании, даже если мы планируем развитие программного продукта на пару лет вперед, без целеполагания, личного, общественного и так далее вплоть до глобальных этических установок, не обойтись. Да, это все проходит на бессознательном уровне, но потому-то и не получится передать железяченьке эти установки в виде четких критериев.
-
Чем собственно нейросети отличаются от классических алгоритмов? Тем, что работают с неформализованными и потенциально неполными массивами информации, выдавая непредсказуемый, в том числе в плане правильности и полезности, результат. Да, это неизбежная цена работы с неформализованными данными, что человеком, что машиной.
И в полный рост встает вопрос контроля и, главное, ответственности. За результат, если он вообще имеет какое-то значение, должен кто-то отвечать. А чтобы отвечать, этот кто-то должен иметь возможность результат контролировать. Сейчас в экспериментах с ChatGPT раз за разом повторяется паттерн, когда человек ставит (довольно простую) задачку, смотрит, что не так, уточняет требования и, на какой-то итерации, получает подобающий ответ. Надо ли говорить, что экспериментатор во всех этих случаях обладает достаточной квалификацией? Да, процесс очень похож на работу с малоквалифицированными исполнителями, обычно называемыми джунами, что по инерции создает впечатление, как будто надо еще немного обучения и машина будет работать уже на уровне мидла или сеньора… Но см. два предыдущих пункта — этого не произойдет, то есть обучать и улучшать можно бесконечно, но принятие решений и контроль делегировать не получится. Зато на больших объемах проведение код-ревью выйдет за пределы возможностей даже очень квалифицированного и специально тренированного человека. Об автоматических вариантах контроля кода будет далее, пока замечу, что того, что сейчас широко практикуется — недостаточно.
Думаю, мой вывод уже понятен. Профессии никуда не денутся, хотя и сократится постепенно количество псевдоинтеллектуальных работ, а учиться придется больше и немного не тому, что предлагают многочисленные онлайн-курсы. Просто пора понять, что code-monkey — это не профессия, а ругательство.
И да, копирайтер — это тоже не профессия. А писатель — это тот, кому есть что сказать. Аналогично и с художниками, включая даже иллюстраторов, хотя им и придется потесниться, во многих случаях нейросетевых иллюстраций будет достаточно (и запросы для них будет делать автор текста, а не отдельный человек), но если речь идет не об иллюстрировании, а о вложении дополнительного смысла или создании стиля, то это останется прерогативой человека (возможно, активно пользующегося техническими возможностями, концентрируясь на образах и месседже, а не на штрихах и пикселях).
При этом некоторые навыки, которые были обязательным признаком того или иного профессионала, станут невостребованными. Можно, конечно, печалиться, что художником можно называться (и быть), не умея пользоваться ни карандашом, ни кистью, однако ничего такого ужасного в этом нет. В конце концов, много ли современных художников самостоятельно изготавливают краски из минерального сырья? А когда-то это был важный базовый навык.
Меняться придется
Первейшее и очевидное изменение понятно: значительную часть рутинных задач можно будет снять с живых людей и передать нейросетям. С другой стороны придется учиться формулировать запросы максимально эффективным образом… Причем, какой образ будет максимально эффективным, вообще говоря пока неизвестно. Важнейшим (если говорить о программировании) навыком станет чтение кода.
Впрочем, надо признать: нас ждет вал бесконтрольных порождений сна искусственного разума. Очень уж просто будет вывалить в продакшн что-то маломальски годное без код-ревью. И это касается всех сфер. Особенно обидно, конечно, что поискового спама в интернете станет еще больше, и чтобы получить информацию, придется потрудиться. Или прибегнуть к услугам очередной нейросети, чтобы она каким-то не вполне постижимым образом выискала среди плодов творчества электронных копирайтеров что-то значащее. А потом дожидаться, когда это что-то посмотрит и заверит живой эксперт…
На самом деле, вот это как раз касается каждого. Навык верификации информации скоро станет необходим всем. Будем прокачивать.
Я бы, пожалуй, заострил внимание на следующих аспектах:
-
Навык систематизации и формализации. Причем как для формулирования задач, так и для понимания, чего же нам железяченька в качестве результата выдала, поскольку, вообще говоря, результат этот может быть произвольным.
-
Навыки планирования и декомпозиции. Как я выше сказал, если выдать нейросетке большое задание, проконтролировать, правильно ли она его выполнила, человеку будет не под силу, так что придется учиться разбивать задачу на меньшие и использовать итерации.
-
Умение читать результаты чужой работы.
Что интересно, как раз программистам, которые не code-monkey, это все уже знакомо и потребно.
-
Умение верифицировать произвольную информацию. Это, вероятно, самое сложное, но с другой стороны, необходимое уже давно, с момента появления интернета, умение.
Кстати, не надо думать, что навыки ручного написания кода или профилирования запросов разом станут неактуальны. Набросать прототип, просто чтобы посмотреть что получится, во многих случаях будет быстрее и проще, чем формулировать полноценную задачу и привлекать нейросеть. Да и вообще: хочешь чтобы было сделано хорошо — сделай это сам. Не говоря уж о том, что хорошо читать код, не умея его писать — в принципе, наверное, возможно, но практически как-то слабо представимо.
Учиться, учиться и еще раз учиться — это, конечно, хорошо… Но хотелось бы отметить и другое направление, а именно — развитие инструментов.
В первую очередь, надо полагать, начнут развиваться инструменты автоматического тестирования, просто потому, что они уже есть, популярны и, в общем, понятны большинству. И это большая опасность — TDD довольно эффективная методология, пока мы продолжаем иметь в виду конечный результат и неявные ограничения. Тогда как машина ничего в виду не имеет, или имеет что-то, чего мы не знаем и не понимаем. В любом случае будет большой соблазн положиться на системы явных ограничений, проверяемых тестами, и отправлять в продакшн отлично оттестированные большие программные модули. В подавляющем большинстве случаев они даже будут работать правильно… Но нет-нет да бумкнет. После того, как бумкнет особенно громко и не первый раз, придется задуматься.
И вернуться на этом этапе к полному код-ревью и ответственности на человеке.
А следующим этапом должен стать переход к доказательному программированию и автоматической формальной верификации со всем их теоретическим аппаратом, по сравнению с которым матан — детская игрушка. На самом деле ничего принципиально более сложного, чем привычное нам программирование там нет, да и, я уверен, языки с формальной верификацией можно еще доработать в сторону большей человечности, но весь процесс обучения придется перевернуть.
Само собой, это все не панацея. Для каких-то задач нам не удастся полностью формализовать требования, а на каких-то мы столкнемся с проблемой останова и прочим содержимым кроличей норы… Но даже в области возможного работы непочатый край (и отделение возможного от невозможного — часть этой работы).
Новые горизонты
Просматривается и следующий шаг после нейросетей. Он, собственно, уже есть, но пока столь широкого распространения не получил. Именно широкого, поскольку в специальных задачах генетические алгоритмы вполне себе используются. Для задач составления текстов или рисования картинок им не хватает хороших моделей, которые смогут отличать «хорошие» решения от «плохих». Сейчас же именно эту роль на себя могут взять нейросети.
И это будет очень существенный сдвиг, поскольку позволит преодолеть первое ограничение, о котором я говорил вначале, т.е. — решение творческих задач. Да, с ловушками локальных оптимумов и прочими проблемами, но все-таки.
А самое интересное, что тем же путем можно преодолеть и проблему железяченькиного целеполагания… Но я, пожалуй, пока воздержусь от рассуждений на эту тему, поскольку это напрямую противоречит заголовку поста.