Мій перший проєкт у стилі vibe coding навчив мене, що я не знав, що саме будую
Я керую командами мобільної розробки. Я переглядаю архітектуру та контролюю межі обсягу робіт. Я випускав застосунки для мільйонів користувачів.
Коли я розпочав сторонній проєкт за допомогою ШІ, я думав, що найскладнішим буде пошук спрощених шляхів. Я помилявся.
Я хотів створити застосунок для списків покупок. Більшість застосунків пропонують просто плоский список. Ви блукаєте магазином, наче в лабіринті, тому що список не відповідає маршруту. Моя ідея була простою: список, який сортує товари за рядами. Ви один раз визначаєте планування свого магазину, і застосунок сортує кожен список відповідно до цього планування.
Я описав концепцію ШІ. Він швидко щось створив. Це було вражаюче.
Потім я поглянув на результат і зрозумів, що він неправильний.
Код був у порядку. Проблема полягала в моєму баченні. У мене була розмита ідея, а не план.
«Список покупок, організований за рядами» — це не завершена ідея. Коли перед вами постає конкретний продукт, виникають складні питання:
• Що відбувається, коли товару не призначено ряд? • Чи зникає виконаний пункт, чи переміщується в новий розділ? • Чи знаходиться завершений розділ внизу кожного ряду, чи в кінці списку? • Як новий користувач налаштовує планування свого магазину? • Чи залишається видимим заголовок порожнього ряду, чи він згортається?
Я не прийняв жодного з цих рішень.
Коли я створював речі традиційним способом, я відповідав на ці питання під час написання коду. Труднощі написання коду сповільнювали мене. Це давало моєму мозку час заповнити прогалини. Код ставав специфікацією.
Vibe coding усуває цей опір. ШІ рухається занадто швидко, щоб рішення могли ховатися в реалізації. Він робить припущення щодо кожної прогалини, яку ви залишаєте відкритою. Він показує вам результат ще до того, як ви продумали деталі.
Люди сперечаються, чи може ШІ писати хороший код. Це неправильне питання.
Справжнє питання полягає в іншому: чи знаєте ви, що саме хочете побудувати?
Вам потрібні відповіді на кожне рішення ще до того, як ви почнете. Вам потрібно знати, як працюють граничні випадки. Вам потрібно знати, якими будуть відчуття від використання.
Це навичка управління продуктом. Це здатність точно описати досвід користувача ще до того, як розробник почне роботу. Я думав, що володію цією навичкою. Vibe coding довів, що я просто ховався за реалізацією.
Застосунок, який я створив, називається By Aisle. Його створення зайняло багато часу. Не тому, що код був складним, а тому, що спочатку мені довелося розібратися з власним продуктом.
Якщо ви використовуєте ШІ для розробки, зробіть наступне: приділіть одну годину записуванню кожного рішення, якого потребує ваш продукт, перш ніж відкривати ШІ. Ви знайдете багато прогалин.
Optional learning community: https://t.me/GyaanSetuAi
