[Перевод] Конец фронтенд-разработки

За последние несколько месяцев я разговаривал со многими начинающими разработчиками, которые всё больше и больше беспокоятся об ИИ. Они видят всё более впечатляющие демонстрации таких инструментов, как GPT-4, и обеспокоены тем, что к тому времени, когда они освоят HTML/CSS/JS, для них не останется рабочих мест.

Сантимент по всему Твиттеру сейчас такой:

«Всем фронтендерам следует немедленно начать диверсифицировать свои навыки, так как их работы скоро не станет.»

«Всем фронтендерам следует немедленно начать диверсифицировать свои навыки, так как их работы скоро не станет.»

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

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

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

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

Не опять, а снова

Язык CSS был впервые выпущен в 1996 году в Internet Explorer 3. В течение двух лет был запущен первый «no-code» инструмент, Homestead.

Homestead позволял людям создавать собственные веб-страницы без единой строки кода:

Интерфейс Homestead

Интерфейс Homestead

Практически с самого начала существовала обеспокоенность тем, что веб-разработчики станут ненужными из-за какой-то новой технологии. В 2000-х это был WordPress. В 2010-х годах это был Webflow. В начале 2020-х — это были «no-code» инструменты.

И, в некотором смысле, веб-разработчики действительно устарели! В наши дни, если местной пекарне, стоматологу или художнику нужен веб-сайт, они, вероятно, не будут нанимать разработчиков и платить им десятки тысяч долларов, чтобы написать что-то с нуля. Они откроют SquareSpace и подберут себе понравившийся им шаблон за $20/месяц.

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

На прошлой неделе OpenAI провела демонстрацию GPT-4. Она была довольно впечатляющей: GPT-4 может взять нарисованный от руки эскиз и превратить его в полнофункциональный веб-сайт, с небольшим количеством JS для работы кнопки «Reveal Punchline».

Эскиз сайта

Эскиз сайта

Результат от GPT-4

Результат от GPT-4

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

Заглядывая в будущее

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

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

Я далеко не эксперт, когда дело доходит до больших языковых моделей (БЯМ, Large Language Models — LLM), таких как GPT-4, но высокоуровневого я понимаю, как они работают.

По сути, БЯМ являются сверхмощными текстовыми предсказателями. Они берут ваш запрос и используют машинное обучение, чтобы попытаться придумать наиболее вероятный набор символов, который соответствует этому запросу.

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

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

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

Иногда некоторые части их ответов оказываются абсолютно бессмысленными. Команда OpenAI называет их «галлюцинациями».

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

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

Но подождите, в демо GPT-4 мы видели, как ИИ может исправляться! Если выскочит сообщение об ошибке, скиньте его модели, и она найдет и решит проблему.

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

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

Еще один момент: есть огромная разница между созданием 50-строчного HTML-документа и выводом готового к продавшему веб-приложения. Даже такое небольшое приложение на JavaScript, как мой персональный блог, имеет около 65 тысяч строк кода в более чем 900 файлах. Это не считая текстового контента, только JavaScript и TypeScript.

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

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

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

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

Дополняя, а не заменяя

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

© Habrahabr.ru