https://en.wikipedia.org/wiki/Vibe_coding
Вайб кодінг — це новий модний термін у Кремнієвій долині, як пише Business Insider.
Відомий дослідник у галузі комп'ютерних наук Андрій Карпатий ввів цей термін 3 лютого 2025 року. У своєму пості в X Карпатий пояснив, що вайб кодінг — це коли ти повністю віддаєшся "вайбу" штучного інтелекту, приймаєш експоненційну міць сучасних LLM і забиваєш на дрібні деталі коду:
Є новий вид програмування, який я називаю "вайб кодінг", де ти повністю ловиш вайб, приймаєш експоненту і забиваєш, що код взагалі існує. Це можливо, бо LLM (наприклад, Cursor Composer з Sonnet) стають занадто круті. Ще я просто балакаю з Composer через SuperWhisper, тому майже не клацаю по клавіатурі. Прошу всяку тупість, типу "зменш відступ на сайдбарі вдвічі", бо мені влом шукати. "Приймаю все" завжди, діфи вже не дивлюсь. Коли вискакують помилки, просто копіпастю їх без коментарів, зазвичай це фіксить. Код росте за межі мого розуміння, треба реально вчитуватись. Інколи LLM не може пофіксити баг, тому я просто обходжу його або прошу рандомних змін, поки не прокатить. Для одноразових проєктів на вихідні — ще норм, але все одно прикольно. Я пиляю проєкт чи веб-апку, але це вже не кодінг — я просто бачу штуки (stuff), кажу штуки, запускаю штуки і копіпастю штуки, і воно якось працює.
Описуючи свій досвід, Карпатий пояснив, як він спілкується з інструментами ШІ майже пасивно — просто говорить до них (через superwhisper), а ШІ робить все інше. Цей метод усуває ручне набирання коду, а також необхідність стежити за усіма дрібницями в програмі.
https://www.youtube.com/watch?v=YWwS911iLhg
Метью Берман зняв туторіал та кращі практики для "вайб кодінгу" (також званого "агентним програмуванням"), який включає використання ШІ-агентів в IDE, таких як Cursor або Windsurf, для написання більшої частини або всього коду:
- Детальна специфікація: Починайте з дуже детальної специфікації застосунку. Використовуйте ШІ (наприклад, Groq 3 у відео), щоб згенерувати цю спеку, включаючи технічні деталі, схему бази даних, API ендпоінти тощо.
- Правила Cursor/Windsurf: Критично важливо використовувати "правила" (специфічні для проєкту або користувача), щоб керувати ШІ-агентом. Ці правила діють як системні повідомлення, визначаючи уподобання кодування, технологічний стек та бажані робочі процеси. Це запобігає багатьом типовим проблемам. Наводить детальний приклад своїх правил, пояснюючи логіку кожного з них.
- Приклади правил (та чому вони важливі):
- Уникайте дублювання коду: Агент має тенденцію дублювати код; правила явно кажуть йому перевіряти наявний код.
- Dev/Test/Prod середовища: Агент тупить з розділенням середовищ; правила примусово розділяють середовища.
- Фокус на запитаних змінах: Агент часто робить непов'язані, ламаючі зміни; правила наголошують на тому, щоб залишатися сфокусованим.
- Уникайте нових технологій/патернів: Агент може заюзати нові технології при фіксі багів; правила обмежують це.
- Тримайте кодову базу чистою: Правила заохочують до організації та запобігають надмірно великим файлам.
- Уникайте мокових даних (крім тестів): Агент зловживає моковими даними, що призводить до хибно позитивних результатів; правила обмежують це.
- Не перезаписуйте .env файли: Запобігає випадковому перезапису ключів API.
- Визначте технологічний стек: Явно перелічіть дозволені технології (Python, SQL тощо), щоб запобігти небажаним відхиленням.
- Уподобання щодо робочого процесу кодування: Акцентуйте увагу на фокусуванні на завданні, написанні ретельних тестів та уникненні серйозних архітектурних змін без явних інструкцій.
- Керування контекстом: Пам'ятайте про вікно контексту в чаті Cursor/Windsurf. Занадто багато контексту погіршує продуктивність. Стратегічно починайте нові чати, але майте на увазі втрату контексту.
- Вузькі запити: Робіть невеликі, конкретні запити до агента (пофіксити один баг, додати маленьку фічу). Часто тестуйте.
- Тестування: Пріоритезуйте end-to-end тести (імітація дій користувача) над юніт-тестами. Нехай агент пише тести, і уважно перевіряйте фікси тестів, оскільки вони іноді можуть занести проблеми.
- Популярні стеки: Використовуйте відомі, добре задокументовані технологічні стеки (Python, HTML/JS, SQL) для кращої продуктивності агента.
- Цикл ітерацій: Процес може бути повільним (2-15 хвилин на ітерацію). Розгляньте можливість використання кількох вікон/гілок Cursor для паралельної роботи.
- Коммітьте часто: Коммітьте часто, щоб можна було легко відкотитися. Cursor/Windsurf також має версіонування на основі історії чату.
- YOLO режим vs. Ручне підтвердження: Cursor пропонує різні режими виконання:
- YOLO режим: Автоматично виконує все (ризиковано, але швидко для нових проєктів).
- Ручний: Потребує підтвердження кожної зміни.
- Авто: Агент вирішує, що виконувати автоматично, а що потребує підтвердження.
Метью мріє про повністю хостовану, mobile-friendly версію цього воркфлоу.
#agentmode #cursor #windsurf #prompts #vibecoding