Кінець Front-end?
Усі статті, обговорення, новини про Front-end — в одному місці. Підписуйтеся на телеграм-канал!
Переклад статті The End of Front-End Development by Josh Comeau
Протягом останніх кількох місяців я спілкувався з багатьма розробниками на початку кар’єри, які дедалі більше хвилюються щодо AI. Вони бачили вражаючі демонстрації таких інструментів як GPT-4, і хвилювалися, що поки вони навчаться вільно володіти HTML/CSS/JS, для них не залишиться жодної роботи.
Ці настрої зараз по всьому Твіттеру:
Я не можу погодитися. Я не думаю, що вакансії веброзробників нікуди кудись дінуться. І я добряче втомився від цих настроїв в Інтернеті.
Отже, у цій публікації я збираюся поділитися своєю гіпотезою щодо того, що станеться. Усе зміниться, але це не страшно.
Знову
Мова CSS вийшла в реліз в 1996 році в Internet Explorer 3. Протягом 2 років було запущено перший конструктор no-code вебсайтів Homestead.
Homestead дозволив людям створювати власні вебсторінки без написання жодного рядка коду:
Практично з самого початку існувало занепокоєння, що веброзробники залишаться без роботи через нову технологію. У
І, в певному сенсі, веброзробники застаріли! У наші дні, якщо місцевій пекарні, стоматологу чи художнику потрібен вебсайт, вони, ймовірно, не наймають розробника та не платять йому десятки тисяч доларів, щоб створити щось з нуля. Вони заскочать на SquareSpace, знайдуть шаблон, який їм подобається, і витрачатимуть 20 доларів на місяць.
І все ж веброзробники продовжують існувати.
Нещодавно OpenAI продемонстрував GPT-4. І це вражає: GPT-4 може взяти намальований від руки ескіз вебсайту та перетворити його на повнофункціональний вебсайт, включаючи трохи JS для підключення кнопки «Reveal Punchline».
Це чудово, і я думаю, що це має великий потенціал, коли справа доходить до прототипування... Але давайте будемо чіткішими: нам не потрібні були веброзробники для створення таких сторінок протягом десятиліть. Існує величезна різниця між цим HTML-документом і кодом, який пишуть сьогодні фронтендери.
Погляд у майбутнє
Більшість демо, які я бачив, досить обмежені за обсягом: проста сторінка HTML або одна функція JavaScript. Різноманітні речі, які один розробник може зробити за півдня.
Але це лише початок! Якщо все продовжить прискорюватися з такою ж швидкістю, він зможе створювати цілі програми за пару років, чи не так?
Я далекий від експерта, коли справа доходить до LLM як GPT-4, але я розумію, як вони працюють на високому рівні.
По суті, LLM — це надпотужні текстові предиктори. Отримавши підказку, вони використовують машинне навчання, щоб спробувати знайти найімовірніший набір символів, які слідують за підказкою.
Такі компанії, як OpenAI, витрачають масу часу та ресурсів на налаштування моделей, щоб покращити результат. Купа людей оцінює результати моделі, а модель навчається та розвивається.
Якщо ви експериментували з такими інструментами, як Chat GPT або пошук Bing на основі штучного інтелекту, ви, мабуть, помітили, що відповіді правильні на 80%, але вони сказані з абсолютною та непохитною впевненістю.
LLMs не можуть перевірити свої припущення чи гіпотези. Вони не можуть підтвердити, правда те, що вони говорять, чи ні. Вони грають у гру ймовірностей і вважають, що цей рядок символів здається сумісним із рядком символів із підказки.
Іноді частина цієї відповіді є безглуздою. Команда OpenAI називає це «галюцинаціями».
З удосконаленням технології ми можемо очікувати, що деякі шорсткі краї будуть відшліфовані, але, по суті, завжди буде певний рівень неточності. Ці інструменти просто не мають жодного механізму об’єктивної перевірки своїх відповідей.
Таким чином, точність підвищиться, але ніколи не буде ідеальною. І це проблема, якщо ми говоримо про те, що веброзробники стануть непотрібними. Якщо ви не програміст, ви не зможете визначити, які частини точні, а які ні. Ви не зможете помітити галюцинації.
Але зачекайте, у демонстрації GPT-4 ми побачили, як ШІ може виправити себе! Скопіюйте/вставте повідомлення про помилку, і воно знайде та вирішить проблему.
Але хм, не всі галюцинації призведуть до винятків. Наприклад, нещодавно я використовував GPT-4 для генерації компонента <Modal> за допомогою React, і хоча результат був напрочуд хорошим, він все ж зробив кілька помилок доступності. Людина, яка створює програму, може не помітити цих проблем, але кінцеві користувачі точно помітять!
А як щодо вразливостей безпеки в коді? Хто несе відповідальність, коли щось йде не так?
Ще один момент: існує величезна різниця між створенням
Навіть із рівнем точності 95% це було б неймовірно важко налагодити. Це було б схоже на те, що розробник витрачає місяці на створення величезного проєкту, навіть не намагаючись запустити код, поки він не буде готовий на 100%. Це щось із кошмарів.
ШІ — це не магія. Він настільки хороший, наскільки хороші дані про навчання. Фрагменти коду є по всьому Інтернету і часто є загальними. Навпаки, кожна кодова база унікальна. Є дуже мало великих відкритих кодових баз. Як ШІ має навчитися створювати великі проєкти в реальному світі?
Ми дуже швидко досягаємо того моменту, коли люди, які не є розробниками, можуть сісти з чатботом і створити невеликий самодостатній проєкт, щось на зразок того, для створення якого люди зараз використовують такі інструменти, як Webflow. І це чудово!
Але я думаю, що ми ще дуже далекі від того, щоб великі технологічні компанії звільнили своїх розробників і замінили їх оперативними інженерами. Мені здається, що є кілька потенційно нерозв’язних проблем, які стоять на шляху до того, щоб це стало реальністю.
Посилення, а не заміна
Насправді я досить оптимістично налаштований щодо ШІ 😅
Я вважаю, що найімовірнішим сценарієм є те, що такі інструменти, як GPT-4, будуть інтегровані в інструменти розробника та використані для розширення того, що може зробити кваліфікований розробник.
Столярів не замінили електроінструменти, бухгалтерів не замінили електронні таблиці, фотографів не замінили цифрові камери/смартфони, і я не думаю, що розробників замінять LLMs.
Мені було цікаво, чи, можливо, загальна кількість вакансій розробників зменшиться; зрештою, якщо кожен розробник буде значно ефективнішим, чи не буде нам потрібно менше їх??
Не обов’язково. Наразі попит на розробників програмного забезпечення набагато більший, ніж пропозиція. У кожній компанії, в якій я працював, у нас була маса речей, які ми хотіли зробити, але були обмежені кількістю розробників.
Що сталось би, якщо розробники раптом стали вдвічі продуктивнішими? Більше помилок було б виправлено, більше функцій було б доставлено, більше б прибутків. Немає дефіциту матеріалу для створення, і тому розробникам вистачить роботи.
Насправді я думаю, що це може збільшити загальну кількість вакансій розробників.
Сьогодні існує дуже багато компаній, які взагалі не наймають розробників програмного забезпечення. Колись я працював у компанії під назвою Konrad Group, агентстві, яке створює вебдодатки для інших компаній, багато з яких мають популярні назви. Оскільки вартість розробки є високою, їм доцільніше укладати свої потреби у розробці за контрактом, а не наймати розробників у власній компанії.
Ці компанії зі списку Fortune 500 роблять підрахунки на основі поточної вартості розробки програмного забезпечення. Давайте підведемо кілька цифр: припустімо, що їм потрібні 4 розробники по 150 тис. доларів кожен за 600 тис. доларів на рік. Для них логічніше заплатити агентству 500 тис. доларів, щоб воно керувало цим за них. Але якщо LLMs справді підвищать продуктивність розробників, вони можуть найняти 2 розробників по 150 тис. доларів кожен, щоб виконувати той самий обсяг роботи. Раптом математика стала набагато привабливішою!
Скажу чітко: я не економіст, і все це дикі спекуляції. Я не кажу, що я точно знаю, що це вийде таким чином. Ніхто не знає, як це вийде, і я трохи втомився від людей, які вважають, що найгірший сценарій є фактом, що здійснився.
Ми не єдині, хто веде цю розмову
Аарон Блейз — досвідчений аніматор та ілюстратор. Він працював у Disney майже 20 років, беручи участь у класичних роботах Disney, таких як «Красуня і чудовисько» (1991), «Аладдін» (1992), «Покахонтас» (1995) та інші.
Пару тижнів тому він опублікував відео на YouTube: Аніматор Disney реагує на AI-анімацію. Після прочитання цієї публікації в блозі його погляд здасться вам знайомим: він не бачить у цих інструментах загрози, він бачить у них щось, що підвищить продуктивність аніматорів і призведе до збільшення кількості робочих місць для аніматорів.
Митці та працівники інтелектуальної сфери в десятках галузей зараз ведуть ту саму розмову. Люди хвилюються, що їхня робота може бути поглинена штучним інтелектом, таким як GPT-4, DALL-E 2 і Midjourney.
GPT-4 може скласти симуляцію адвокатського іспиту з результатом як у кращих учасників тестування. Багато юристів ведуть ті самі дискусії.
Моє особисте переконання полягає в тому, що здебільшого професіонали знайдуть способи інтегрувати цю технологію у свої робочі процеси, підвищуючи свою продуктивність і цінність. Деякі завдання можуть бути делеговані ШІ, але небагато завдань.
Але що, якщо я помиляюся, і виявиться, що LLMs можуть повністю замінити розробників програмного забезпечення? Якщо це так, я підозрюю, що LLMs замінять величезну більшість інтелектуальних працівників.
Це не той вид цунамі, якого ви зможете уникнути, перейшовши на іншу дисципліну. Тож замість того, щоб намагатися робити ставку на те, що може принести майбутнє, чому б не зосередитися на тому, чим ви захоплюєтеся, що вас цікавить, що ви вмієте?
Використання LLMs для навчання
Я чув від кількох людей, що ChatGPT був справді корисним, коли справа доходить до вивчення технічних навичок. Якщо вас щось збентежили в посібнику, ви можете попросити ШІ пояснити вам це!
Для мене це дійсно цікавий випадок використання. По суті, ChatGPT схожий на парного програміста, людину, яка може допомогти вам зрозуміти речі, які ви не розумієте. Ви можете поставити йому конкретні запитання та отримати конкретні відповіді.
Але я думаю, що вам потрібно бути обережним. Є правильний і неправильний спосіб використовувати такі інструменти, щоб допомогти вам навчатися.
Неправильно було б розглядати це як GPS-навігацію. Коли мені потрібно кудись їхати, я вставляю адресу в свій GPS і без розбору виконую його вказівки. Зазвичай я потрапляю туди, куди мені потрібно, але це не потребує жодних розумових зусиль з мого боку. В результаті моє відчуття орієнтації повністю атрофувалося. Зараз я нікуди не можу піти без синтезованого голосу, який говорить мені, що робити 😬
Замість того, щоб розглядати це як GPS, я б запропонував розглядати це так, ніби ви є членом журі, а LLM є відповідачем, який займає позицію.
Ви будете слухати, що він скаже, але ви не сприймете це як факт. Ви будете налаштовані скептично і критично обдумувати кожне слово.
Замість того, щоб сліпо копіювати/вставляти код, який генерує ChatGPT, прогляньте його рядок за рядком і переконайтеся, що ви розумієте. Попросіть його роз’яснити. Перевірте підозрілі речі в авторитетному джерелі (наприклад, в офіційній документації). Майте на увазі, що LLMs на 100% впевнені, але не на 100% точні.
Якщо ви дотримуєтеся цієї стратегії, я вважаю, що LLMs можуть дати велику цінність 😄
Повідомлення для початківців-розробників
Причина, чому я хотів написати цю публікацію в блозі, полягала в тому, щоб звернутися до людей, які перебувають у процесі вивчення веброзробки та які відчувають тривогу та розчарування, начебто немає сенсу витрачати весь цей час/енергію на розвиток цих навичок, коли вся сфера є ось-ось стане застарілою.
Я не можу обіцяти, що все залишиться так само. Я підозрюю, що ШІ вплине на нашу роботу. Я почав працювати з HTML/CSS/JS ще в 2007 році, і відтоді все дуже змінилося. Розробники завжди повинні були адаптуватися, розвиватися разом з технологіями.
Але наразі нічого з того, що я бачив, не свідчить про те, що наші робочі місця під загрозою. Я намагався уявити, як би це виглядало, якби люди, які не є розробниками, могли створювати цілі вебдодатки, не розуміючи вебтехнологій, і я знайшов так багато причин, чому це не спрацює!
Я можу помилятися. У мене немає кришталевої кулі 🔮Наскільки я знаю, сонце може вибухнути завтра. Але я справді не вірю, що ми на порозі того, що веброзробники стануть застарілими.
Я не хочу, щоб ви через 5 років, коли розробники програмного забезпечення стали ще більше затребувані, озиралися назад і шкодували, що перестали йти до своєї мрії.
39 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів