Слово перекладача

  • Суть “氛围编程” полягає в тому, що AI мчить уперед, намагаючись накопичити технічні борги.
  • AI програмування — це двосічний меч: для створення прототипів це прекрасний інструмент, але для довгострокового обслуговування основних проектів — це початок катастрофи.
  • Дозволити технічно необізнаній людині використовувати AI для розробки основних продуктів — це все одно що дати дитині кредитну картку з безмежним лімітом — миттєва розкіш закінчується безмежними боргами в майбутньому.
  • Ключ до управління AI полягає не в тому, щоб відмовитися від мислення, а в удосконаленні здатності до “теоретичного конструювання”. Людина повинна бути керівником, а не слідувати за AI бездумно.

“氛围编程” — це накопичення технічних боргів

Стів Краус (Steve Krouse)

Хоча більшість людей плутається в цьому, Андрій Карпатій створив термін “氛围编程” (Vibe Coding) для опису AI-підтримуваного підходу до програмування, де ви навіть “не відчуваєте наявності коду”.

Спадковий код / технічні борги

Для коду, який ніхто не може зрозуміти, у нас вже є слово — спадковий код / технічні борги.

Спадковий код багато хто розглядає як щось негативне. Проблема в тому, що код просто існує. Чи не можна просто подивитися на код і зрозуміти його?

Це велике непорозуміння. Код, який ніхто не розуміє, — це справжні технічні борги. Щоб дійсно розібратися у чужому коді та відладити його, потрібно витратити велику кількість часу. І додавати нові функції без впровадження нових помилок — це ще складніша задача.

Суть програмування — це теоретичне конструювання, а не просто накопичення рядків коду. Це нам усім зрозуміло. Саме тому ми можемо висловлювати невдоволення тим, хто намагається оцінити продуктивність програмістів за кількістю рядків коду.

Коли ви використовуєте “氛围编程”, ви накопичуєте технічні борги так само швидко, як AI генерує код. І саме тому “氛围编程” — ідеальний варіант для розробки прототипів і одноразових проектів: адже тільки код, який потребує довгострокового обслуговування, стає спадковим кодом!

Прототипи та одноразовий код

Я сам економно використав “氛围编程” для розробки кількох невеликих додатків, наприклад:

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

“氛围编程” — це питання ступеня

“氛围编程” — це питання ступеня, важливо, наскільки ви глибоко розумієте код. Чим більше ви розумієте, тим менше ви дієте “по відчуттю”.

shapes at 25-07-30 10.32.53.png

Коли виникає запит, інженер просить “розробити веб-додаток з постійною базою даних”, і не технічна особа запитує “зробіть додаток” (без розуміння, що таке веб-додаток чи рідний додаток і що таке постійність даних), перше питання буде в значно меншій мірі по відчуттю.

Дати кредитну картку дитині

Найгірша ситуація — це дозволити не програмісту використовувати “氛围编程” для розробки великого проекту, який потребує довгострокового обслуговування. Це все одно що дати дитині кредитну картку і не пояснити їй, що таке “борг”.

Етап початкового захоплення — це щось особливе: “Боже, просто покладений картку в магазині, я можу отримати все, що хочу!”

Це дуже нагадує популярні сучасні висловлювання: “AI може все! Кожен може стати програмістом! Дивіться, який додаток згенерував AI!”

Проте через місяць рахунок за кредиткою надійде вчасно: “Чи дійсно мені потрібні ці речі? Яким чином розпорядитися цією ситуацією?”

Розробники “氛围编程” опиняться в тій же ситуації: “Мій код не працює! З чого це стільки файлів і папок? Як мені це полагодити? Чи можна повернути 400 доларів, витрачених на генерування коду AI?”

Якщо ви зовсім не розумієте код, ваш єдиний вихід — це знову звернутися до AI за допомогою, що нічим заміну не відрізняється від “погашення боргів новою карткою”.

2025 рік: як серйозно приступити до програмування з AI

Якщо ви плануєте в 2025 році створити серйозний проект, який вимагатиме довгострокового обслуговування, поради Андрія вірні:

“Вам потрібно ставитися до AI як до нового стажиста, і утримувати його на короткому повідку. Цей стажист — геній, знає все про програмне забезпечення, жива енциклопедія. Але одночасно він надто захоплений, завжди говорить дурниці, необмежений у своїх професійних засадах, без смаку у тому, що являє собою якісний код. Отже, ви повинні підкреслити: уповільнити хід, бути обережним, обережним, а подекуди навіть бути трохи параноічним. Слід зловити всі можливості для навчання на практиці, а не передавати всю роботу йому безмежно.”

— Андрій Карпатій, twitter

Як ми приймаємо AI до роботи

У Val Town ми вже застосували AI різними способами в наших продуктах. Наш AI асистент Townie — це як інтелектуальний агент, який може активно читати та писати код, запускати програми, перевіряти логи та постійно вдосконалюватися, поки завдання не буде завершено.

Townie є відмінним інструментом для “氛围编程”. Я щиро рекомендую його тим, хто розуміє як плюси, так і мінуси. Іноді я використовую його для швидкого “氛围编程”; в той час як у роботі з важливими проектами я контролюю його дії, щоб дозволити «хірургічні» точні зміни. Обидва ці підходи водночас цікаві та ефективні.

Світ AI програмування розвивається з неймовірною швидкістю, і майбутнє залишається невизначеним. Але я впевнений, що “теоретичне конструювання” залишиться в центрі побудови складного програмного забезпечення. Це означає, що наша людська експертиза залишиться незамінною! Як оптиміст, я також вірю, що AI продовжить вдосконалювати програмування, роблячи цю роботу цікавішою.

Однак якщо у вас є друзі з недосвідченим технічним бекґраундом, які витрачають шалені суми на “氛围编程”, мріючи про “мільярдний” додаток, будь ласка, обов’язково надішліть їм цю статтю. “氛围编程” не зможе привести їх до успіху. Вони зрештою повинні навчитися читати код на власні очі 😱 і зрозуміти жорстоку реальність: замість того, щоб лагодити незрозумілу спадкову систему, краще почати з нуля і створити чітку структуру нового кодового репозиторію.


Ця стаття є скороченою версією мого виступу минулого місяця на тему Роль людського мозку в програмуванні. Дякую моїй нареченій Емілі за те, що слухала мої роздуми протягом кількох місяців та зняла відео з моєї промови. Дякую Мальте та Rippling за організацію цієї події.

Дякую Джефрі Літу, Джиммі Коппелю, Максу МакДоннеллу, Тома Макрайту, Шармені Лі, Бренту Джексону та Дану Шіпперу за коментарі до цієї статті. Дякую Саймону Уіллісону та Андрію Карпатію за те, що висловлювали розумний голос серед захоплень і скептицизму щодо AI.

Оригінал: https://blog.val.town/vibe-code