Програмісти, на вихід! Vibe кодінг — новий король розробників

Опублікував rendelman

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

Завдяки інструментам штучного інтелекту, як-от ChatGPT чи Copilot, написання коду стало схожим на діалог: ви описуєте, що хочете.

Наприклад, «створіть сайт електронної комерції з авторизацією та кошиком»,  і ШІ миттєво видає все: HTML, бекенд, інтеграцію з базою даних. Це ніби ШІ став новим шпаргалкою для розробників.

Але чи все так просто? Чи справді програмісти, якими ми їх знаємо, стають непотрібними? Чи є в цій історії щось більше? Ці питання не давали мені спокою, тож я вирішив перевірити це на практиці, провівши реальний експеримент.

Що таке Vibe Coding?

Як класно кодити на вулиці, коли нічого не видно на екрані 🙂

Термін «Vibe Coding» запропонував Андрей Карпаті, відомий дослідник із OpenAI. За його словами, це новий стиль програмування, коли розробник не пише код рядок за рядком, а описує бажаний результат, ШІ генерує код, а розробник лише коригує його.

Уявіть себе диригентом оркестру, де кожен музикант це бот, який вільно володіє всіма мовами програмування та фреймворками. Ви не кодите. Ви задаєте настрій, керуєте, виправляєте. І все.

Звучить круто, чи не так? Швидко, сучасно, перспективно. Але чи працює це за межами ефектних презентацій? Чи може новачок без досвіду створити щось корисне, використовуючи лише текстові запити? Це я й вирішив з’ясувати. І результати виявилися набагато складнішими, ніж обіцяє хайп.

Вайб-експеримент

Чув багато заяв про те, що «тепер кодити може кожен завдяки ШІ». Я вирішив перевірити це, але не на простих прикладах, а на реальному проєкті.

Я взяв систему, яку вже створив (з бекендом на Python, у якому я почуваюся впевнено) і вирішив переписати фронтенд із нуля за допомогою ШІ. Але був нюанс: я вибрав React — технологію, яку знаю лише поверхово.

Це було навмисно. Я хотів відтворити досвід новачка, який має базові знання, але не володіє технологією досконало. Якщо ШІ такий крутий, він має заповнити прогалини, правда? Я почав: описав систему, попросив створити перші екрани, компоненти, навігацію. І ШІ взявся до роботи.

Перші хвилини здавалися магією. Компоненти з’являлися, зв’язки працювали, стилі виглядали пристойно. Я вже був готовий назвати цю статтю «Як ШІ створив мені фронтенд на React за 30 хвилин». Але потім магія почала розсипатися.

Чим більше я просив, тим складнішим ставав проєкт. Компоненти заплутувалися, логіка дублювалася, код відходив від задуму. Контроль втрачався.

Цікаво, що це була не провина ШІ, а моя, тому що я не давав йому чітких вказівок. І тут концепція «Vibe Coding» почала показувати свої слабкі сторони. 

Проблема 1: ШІ захоплюється, і ви втрачаєте контроль.

Перше, що я помітив: ШІ не знає, коли зупинитися. Я попросив простий макет, кілька базових компонентів, стандартну навігацію. ШІ впорався за секунди — код був організованим, чистим, навіть елегантним. Але щойно я почав просити складніші функції, проєкт перетворився на хаос.

Без перебільшення: за пів години фронтенд нагадував одяг пошитий з тисяч клаптиків різної тканини. Компоненти плуталися, логіка розкидалася, кодові шаблони змінювалися без попередження.

Причина проста: ШІ чудово виконує інструкції, але не має відчуття ритму чи планування. Він генерує код, поки ви просите, не зупиняючись і не пропонуючи спочатку спланувати.

Якщо ви не знаєте точно, що просите, або намагаєтеся отримати все й одразу, ви отримаєте систему, яка виглядає готовою, але розвалюється при першій складній взаємодії.

Дідова наука: розбивайте проєкт на маленькі частини. Замість «створи ERP-систему» просіть:

  • «Створи компонент входу з JWT-аутентифікацією».

  • «Зроби форму реєстрації з валідацією».

  • «Налаштуй маршрутизацію з публічними та приватними маршрутами».

  • І т.д.

Так ви зберігаєте контроль, а ШІ працює найкраще. 

Проблема 2: Майстерність у створенні промтів — ключ до успіху.

Експеримент чітко показав: ШІ настільки хороший, наскільки чіткі ваші інструкції. Попросити ШІ написати код, то не магія. Швидше нагадує ситуацію, як давати вказівки швидкому, але недосвідченому працівникові. Якщо ви нечіткі, ШІ заповнить прогалини чимось зручним для нього, навіть якщо це зламає вашу систему.

Тут на допомогу приходить мистецтво промтів (prompt engineering) — уміння чітко, точно і стратегічно спілкуватися з ШІ.

Досвід розробника рятує в передбаченні, де ШІ може схибити, і як правильно формулювати запити. Новачок скаже: «Створіть систему управління підприємством».
Я скажу: «Створіть модуль реєстрації клієнтів із полями для імені, податкового номера та адреси. Додайте валідацію на фронтенді та надсилайте дані через POST на маршрут /api/clients».

ШІ потрібен контекст, межі, чіткість. Досвідчені розробники вже мають цю «м’язову пам’ять» для опису завдань. Ось чому “Vibe Coding” не знищує розробників, а підсилює тих, хто вже знає, що робить.

Проблема 3: Налагодження — це п’ятикратний головний біль

Через кілька годин генерації коду все йшло гладко, доки не почалися проблеми. Спершу дрібна помилка на фронтенді, потім щось дивне з маршрутами, а потім компонент просто перестав працювати. І тут паніка: як виправити код, який я не писав?

ШІ робить помилки. Багато помилок. І коли вони трапляються, виправляти їх доводиться вам. Але код від ШІ не завжди логічний чи послідовний. Змінні перейменовуються, функції дублюються, логіка розкидана.

Це як шукати розрив у проводці, не знаючи, де вона прокладена. Ви відкриваєте файл, думаєте, що розібралися, але виявляється, що компонент залежить від функції, яку ШІ створив десь в іншому місці. І все це в React, де я й так був у режимі “полювання за пригодами”.

Якщо ви не знаєте мову досконало, ви не налагоджуєте, ви розшифровуєте ієрогліфи. Час, який ви думали заощадити, зникає в бездонній ямі пошуку помилок.

Проблема 4: ШІ живе в минулому

ШІ здається сучасним, але часто застрягає в минулому. Популярні фреймворки, як React чи Django, він обробляє без проблем. Але якщо ви використовуєте щось нове чи менш документоване, ШІ починає вигадувати методи, які не існують, або змішує синтаксис різних бібліотек.

У моєму експерименті я спробував нову UI-бібліотеку для React. Результат? ШІ почав додавати неіснуючі пропси, імпортувати неіснуючі компоненти й робив це з повною впевненістю.

Дідова мудрість: якщо хочете використовувати нову бібліотеку, дайте ШІ документацію. Скопіюйте потрібний фрагмент, поясніть, як це працює. Але це знову залежить від вашої здатності помітити, коли ШІ вигадує, і скерувати його.

Програмісти на вихід? Чи ще рано?

Отож, вайб кодінг це не хайп, а реальність, хоч і не для всіх. Після годин тестування, виправлень і перезапусків я можу сказати: «Vibe Coding» працює. І працює добре для тих, хто вже вміє кодити. Тому в майбутньому розробники, які його ігноруватимуть відправляться на смітник історії.

З моїм досвідом у Python і базовими знаннями React ШІ прискорював роботу у рази, хоча спочатку потрібно звикнути до особливостей його роботи. Після цього продуктивність  зростає, рутинні завдання зникають, а іноді ШІ навіть пропонує креативні рішення.

Але якщо ви новачок і думаєте, що один запит створить вам готовий SaaS, реальність розчарує. ШІ не читає думки.  Багато залежить від того, як ви керуєте процесом. Якщо ви не можете чітко пояснити, перевірити чи виправити, ви загубитеся.

Тож так, хайп реальний. ШІ змінює гру, але поки що тільки для тих, хто вже знає правила. Якщо врахувати, що ШІ розвивається семимильними кроками, то правила гри ось-ось можуть знову помінятися. Так що програмісти, пакуйте валізи, поки ще є час!