Vibe coding: чому AI-assisted розробка часто розчаровує

💡 Усі статті, обговорення, новини про DevOps — в одному місці. Приєднуйтесь до DevOps спільноти!

Привіт, мене звати Антон Небилиця, я Senior Software Development Engineer в SPD Technology.

Почну з цифри, яка мене свого часу вразила: незалежне дослідження METR (arXiv:2507.09089, липень 2025) провело рандомізований контрольований експеримент із досвідченими розробниками — людьми, які знали свої репозиторії роками. Результат: доступ до AI-інструментів уповільнив їх на 19%. При цьому самі розробники вважали, що прискорилися на 20%. Розрив між відчуттям і реальністю — аж 39 пунктів. METR самі уточнили, що ця цифра може бути завищеною в інших контекстах, але perception gap залишається задокументованим фактом незалежно від точного числа.

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

У цій статті я хочу розкрити основні причини, чому vibe coding розчаровує — завищені очікування, швидкість без осмислення та 3 структурні сліпі зони, які AI просто не бачить.

AI як додатковий розробник у твоїй команді

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

Раніше лід роздавав задачі команді й проходився по pull request’ах. Зараз частину цієї роботи я делегую AI, але підхід залишився таким самим. Я перевіряю, що зроблено, чи все працює, чи пройшли тести, чи немає security issues, чи реалізація відповідає задачі.

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

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

Чому vibe coding так часто не спрацьовує

Причин кілька, і вони накладаються одна на одну.

Завищені очікування на старті

Коли AI-інструменти вийшли на масовий ринок, багато хто очікував ідеального результату з першої спроби. І дані добре показують, наскільки цей розрив між очікуванням і реальністю нікуди не зник. У JetBrains State of Developer Ecosystem 2025 (опитування на 24 534 розробників) 85% регулярно користуються AI, але лише 44% реально інтегрували його у свій workflow. А Stack Overflow Developer Survey 2025 (понад 49 000 респондентів) додає деталей, що найчастіша скарга 66% користувачів AI на рішення, які «майже правильні, але не зовсім», а 45% розробників витрачають більше часу на дебаг AI-коду. Тобто інструментом користуються майже всі, а отримують з нього суттєво менше, ніж очікували.

DORA 2025 (дослідження Google Cloud приблизно на 5 000 програмістів) додає до цього важливий нюанс про те, що AI підвищує throughput, команди дійсно роблять більше, але водночас знижує stability, тобто додає збоїв і переробок. Мені сподобалася думка, що AI не виправляє команду, а підсилює те, що вже є. Слабкі процеси він масштабує разом зі швидкістю.

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

Швидкість без осмислення

Це, мабуть, найпідступніша проблема vibe coding. Він дає відчуття величезної швидкості, здається, ніби дав задачу і отримав результат. Але саме в цій швидкості зникає простір для осмислення.

Класична пастка — дуже багато фіч виконано за перший спринт/місяць, але проблема в тому, що вони повністю не пройшли всі етапи розробки. Потім senior-рев’ю знаходить auth-логіку, продубльовану 12 разів, N+1 запити (47 queries на один endpoint) і race condition та інші проблеми.

У мене був схожий кейс. Я працював над проєктом, де з самого початку мала бути інтеграція Stripe. Весь дизайн і вимоги були надані AI разом із задачею. У результаті onboarding-флоу виявився непропрацьованим до кінця. AI не захотів реалізовувати частину, пов’язану зі Stripe, і просто упустив цей крок замість того, щоб зробити повну реалізацію із заглушками там, де потрібні реальні виклики до Stripe. Я пропустив це на ревʼю, бо все виглядало готовим. Зрозумів проблему пізніше, коли почав тестувати флоу повністю.

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

Прогалини в системному мисленні

На мою думку, найбільша проблема вайбкодингу — не в тому, що AI пише поганий код. Він пише локально правильний код, який не бачить системи загалом. Річ не в синтаксисі й не в кваліфікації розробника. Річ у системному контексті, зв’язках між компонентами, інваріантах безпеки, поведінці в рантаймі. Їх AI просто не тримає в полі зору.

Якщо узагальнити мій досвід, то метапатерн один. AI робить і оптимізує локальний, видимий, happy-path код. І стабільно сліпий до трьох речей:

  • іншого файлу чи компонента, з яким значення має бути скоординоване;
  • шару defense-in-depth, який локально виглядає надлишковим;
  • поведінки в рантаймі або на момент застосування, яку він просто не може спостерігати під час написання коду.

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

  1. CSRF-cookie 15 хв проти access-токена 60 хв (сліпота #1: coupled pair). У проєкті був double-submit CSRF-cookie з часом життя 900 секунд і access-токен поряд — 3600 секунд. Проблема в тому, що це coupled pair: вони мають жити узгоджено, бо обидва тримають одну сесію. Посеред реальної робочої сесії CSRF-cookie тихо протухав першим. Наступний запит ніс уже порожній CSRF-токен → 401. Аплоад падав, хоч access-токен формально ще був живий 45 хвилин. AI вибирав ці два значення в різний час і в різних файлах і жодного разу не «побачив», що коротше з них тихо керує всією сесією.
  2. Клаптиковий role guard (сліпота #2: сусідні endpoint-и). Кілька мутуючих endpoint-ів — soft-delete, PATCH-reassign, archive — мали лише перевірку «є залогінений користувач», без role-check. Хоча сусідні handler-и в тому ж самому guard-файлі такий role-check мали. На практиці це означало, що роль із правами «тільки створення + аплоад» могла видаляти і перепризначати чужі сутності. RBAC ми ліпили per-endpoint у міру написання, без єдиної role-matrix як окремого артефакту, і AI покривав рівно те, що в нього просили явно, не дивлячись на сусідні endpoint-и в тому ж файлі. Знайшли це не тестами, а під час окремого compliance-проходу.
  3. setDefault — пастка «ключ є, але там null» (сліпота #3: рантайм). Auth-тригер робив response.setdefault("claimsOverrideDetails«, {}). Це канонічна, абсолютно правильна Python-ідіома, і AI використав її коректно. Але сторонній auth-провайдер клав у це поле не відсутній ключ, а явний null. setdefault спрацьовує лише коли ключа немає, а коли ключ є зі значенням None, він повертає цей None і нічого не замінює. Далі звернення до None як до dict, NoneType crash і безликий 401 на логіні з TOTP. «Безпечний» код був неправильним саме для цього конкретного рантайму. AI не міг спостерігати, що кладе провайдер на момент виконання, і ми побачили це лише на staging, на реальних логінах.
  4. П’ять комітів для вирішення S3 Object Lock issue (сліпота #4: apply-time). Bucket із увімкненим Object Lock має дві жорсткі вимоги: однаковий part-size на клієнті й на сервері та конкретний SHA-256 на кожен part. Перша AI-реалізація дала «Object Lock не потребує checksum» і 400 код помилки під час тестування. Другий фікс помилково підписав алгоритм замість хешу, через що SDK перемкнувся в chunked-trailer режим, який браузер просто не відтворює, як наслідок, 403 код помилки. Потім прибрали checksum, повернули його в іншій формі, і справжній фікс отримали аж на п’ятому коміті. Увесь цей ланцюжок (400 → 403 → 400 знову) — це AI, який лікує симптом за симптомом, бо реальне питання було не «чи підписувати checksum», а «яке саме поле і в якій формі». Серверну bucket-policy, яка це диктувала, він не бачив у принципі.
  5. AI kill-switch із fail-open (сліпота #5: defense-in-depth і системний інваріант). Крок синхронізації knowledge-base перевіряв consent-прапорець так: event.get("ai_enabled«, True). Тобто якщо ключа в event немає, то вважається, що AI увімкнено. Оптимістичний дефолт читається абсолютно природно, і для більшості полів він правильний. Але це consent-gate, а для consent-gate інваріант протилежний: absent має означати deny. Будь-яка зміна форми event-у могла протягнути AI-disabled кейси прямо у векторний стор. Показово, що сусідній воркер на цей самий прапорець ходив у БД і поводився fail-closed, тобто узгодженого правила між компонентами не було. Це не технічна помилка в коді, це системний інваріант, який AI не вивів сам. Знайшли аудитом; рантайм-симптом ще навіть не встигло статися.
  6. І окремий маленький патерн — silencing warnings. Коли AI впирається в помилку lint-правила, він інколи додає // eslint-disable-next-line або спеціалізований код, який відключає тільки цю помилку, замість того щоб виправити проблему по-справжньому. Технічно помилка зникла, але, по суті, нічого не вирішено. Це той самий метапатерн у мініатюрі: прибрати видимий симптом замість того, щоб зрозуміти, чому він узагалі з’явився.

Спільне в усіх цих кейсах одне. Жоден із них не виловили ні під час тестування, ні під час написання коду — їх знайшли на staging, під час аудиту або в окремому compliance-проході. Бо всі вони живуть саме в тих трьох сліпих зонах, які AI структурно не бачить. Цю проблему ще й посилює те, що AI добре приховує власні недоліки. Він пише впевнено, структуровано, з коментарями. Код виглядає так, ніби його написав досвідчений розробник. Саме тому такі системні помилки так легко пропустити на ревʼю.

Недостатньо практики

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

Для мене одним із несподіваних відкриттів стало те, що AI добре допомагає «догнати» власний старий код. Коли повертаєшся до функціоналу, який реалізовувався місяць-два тому, простіше запитати AI, який там стан і що відбувається, ніж самому все пригадувати. Це не «вайбкодинг», це практичний інструмент для роботи з великою кодовою базою. Раніше цінувався скіл, як правильно загуглити, щоб знайти те, що потрібно для вирішення задачі, а зараз, як правильно описати задачу для AI-агента.

Неправильний вибір інструменту

На ринку зараз дуже багато AI-інструментів: моделі, агентні рішення, IDE з вбудованим AI, продукти для конкретних задач. Через це складно зрозуміти, що обрати.

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

Різні інструменти сильніші в різних задачах: Claude Code (термінальний агент, що самостійно читає кодову базу і запускає команди) краще справляється з масштабним рефакторингом і реалізацією фіч у великих проєктах. Cursor зручніший для щоденного редагування і inline-рев’ю. Copilot найбільш поширений у корпоративному середовищі, але за показником «найулюбленіший інструмент» серед розробників стабільно відстає від Claude Code і Cursor за даними 2025–2026 років.

Тут важливі не лише якість моделі, а й правильний вибір під конкретний тип повсякденної роботи, а також персональний стиль і підхід у програмуванні. Також хочу наголосити, що це інструмент, і для якісної роботи потрібно додатково налаштувати його під кожен проєкт окремо (мати опис проєкту, набір скілів, саб-агентів, правил тощо).

Безпека та ліцензії: про що говорять рідше

Veracode у 2025 році емпірично протестувала понад 100 LLM на 80 задачах і отримала 45% failure rate на security-тестах (OWASP Top 10). Найнеприємніше тут, що потужніші й новіші моделі не давали безпечнішого коду, вони покращували синтаксис і «правдоподібність», але не безпеку.

А окреме дослідження CodeRabbit «State of AI vs Human Code Generation» (грудень 2025), яке проаналізувало 470 реальних open-source pull request’ів на GitHub (320 з AI-співавторством проти 150 суто людських), показало, що AI-код містив у 2,74 раза більше XSS security-вразливостей (і в 1,7 раза більше проблем загалом), ніж людський. Це збігається з тим, що я бачу на власних кейсах: AI впевнено пише код, який локально виглядає коректним, а діра відкривається на системному рівні. Надіюся що Claude Fable 5 або Claude Mythos 5 зможуть змінити цю динаміку в протилежну сторону, і отримаємо якісну безпекову перевірку.

Є два аспекти, які рідко потрапляють у дискусії про vibe coding, але мають цілком реальний практичний вплив.

Що відбувається з вашим кодом

Агентські інструменти (Claude Code, Cursor Agent) самі читають кодову базу і надсилають фрагменти контексту до API разом із кожним запитом. Якщо у вас .env-файл потрапив у контекстне вікно агента, він іде до Anthropic або OpenAI. Якщо в конфігах є DB connection string, то ці дані передаються. .gitignore тут захищає лише частково.

Так, файловий пошук Claude Code (Glob/Grep) за замовчуванням поважає .gitignore, але це зменшує лише випадкові натрапляння: якщо агент знає або виводить шлях, він усе одно може прочитати файл напряму (реальний кейс із .env-файлами, які лишалися читабельними, описав The Register у січні 2026).

Справжній захист — це явні deny-правила (permissions.deny у .claude/settings.json для Claude Code, .cursorignore для Cursor) плюс зберігання секретів узагалі поза деревом проєкту. AI-гіганти також намагаються вирішити це зі свого боку, деякі вже мають вбудовані інструменти, які або блокують запит на сервер, або анонімізують його, якщо в контексті є чутлива чи приватна інформація.

Практичне правило по інструментах (стан на середину 2026):

  • GitHub Copilot: акаунти Free, Pro і Pro+ за замовчуванням віддають взаємодію (промпти, фрагменти коду, контекст) на навчання моделі — це opt-out. Для того, щоб вимкнути слідуй інструкції: профіль > Copilot settings > «Allow GitHub to use my data for AI model training» > Disabled (або напряму github.com/settings/copilot/features). Business та Enterprise — Data Protection Agreement забороняє використання для тренування, і цей перемикач для них узагалі не показується.
  • Cursor: Privacy Mode вимкнений за замовчуванням на Free та Pro; на Team увімкнений за замовчуванням; на Enterprise також увімкнений і може бути примусово застосований на рівні всієї організації. Якщо Privacy Mode увімкнено, то всі провайдери підписують угоду про нульове збереження (виняток, коли спрацювання abuse-детекторів може спричинити тимчасове зберігання).
  • Anthropic Claude / Claude Code: приватні акаунти (Free/Pro/Max) — навчання працює як opt-in, а не opt-out: з серпня 2025 користувача явно питають, якщо погодився тоді retention 5 років, якщо ні — 30 днів і дані не йдуть у тренування. API та комерційні акаунти (Team/Enterprise/Bedrock/Vertex) — на них не тренуються взагалі. Логи API зберігаються 7 днів (з 14 вересня 2025) і не використовуються для навчання (окремі новітні моделі вимагають 30-денного retention).

Просте правило: якщо компанія платить за Business/Enterprise-підписку, то дані, як правило, захищені контрактом. Якщо ви на персональному акаунті, перевірте налаштування приватності до того, як вставити робочий код.

Із мого досвіду бувало, що агент підтягував додатковий контекст із хмарної системи або через Docker, щоб розв’язати поставлену задачу, або коли контекстне вікно було переповнене і він намагався «знайти» потрібну інформацію самостійно. Зазвичай це виникає, коли задачу сформульовано занадто буквально або коли агент застряє з рішенням. Тому важливо стежити не тільки за тим, що ти передаєш явно, але й розуміти, що агент може самостійно читати в межах проєктного дерева.

Ліцензії

Багато моделей навчалися на відкритих репозиторіях, і частина цього коду поширюється під permissive-ліцензіями на кшталт MIT або Apache. Але є й copyleft-варіанти, де перевикористання може накладати додаткові зобов’язання. У згенерованому коді важче помітити ліцензійно-чутливі патерни, ніж під час прямого використання бібліотеки. Тут є практичні запобіжники. GitHub Copilot має фільтр виявлення дублікатів, який блокує підказки, що збігаються з публічним кодом (у Business/Enterprise він вмикається за політикою). А для комерційних проєктів варто проганяти вихідний код через інструменти snippet-scanning, які підсвічують збіги з ліцензійно чутливими фрагментами. Ризик не нульовий, але керований.

У другій частині розберемо, як налаштувати AI-розробку, щоб вона справді працювала.

👍ПодобаєтьсяСподобалось12
До обраногоВ обраному5
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
чому AI-assisted розробка часто розчаровує
Завищені очікування на старті

сєкундочку, а хіба нам не обіцяли, що всіх замінимо? звідси й очікування.

Стаття якісна, дякую.

Дякую за фідбек! Причому обіцяли ж із дедлайнами: Amodei ще в березні 2025 казав, що AI писатиме 90% коду через півроку. Півроку минуло, потім рік, а воно все ще «два-три тижні» до заміни. Класика жанру.
Але найцікавіше, що процес реально йде, просто не так, як обіцяли. Рік тому вистачало нормально описати задачу й отримати код. Зараз цього вже мало: доводиться зациклювати саму розробку (план > код > тести > правки > план > ...), а не просто здати специфікацію агенту.

А на твою думку, чи зможе це взагалі відбутися, що АІ замінить розробників?

зможе це взагалі відбутися, що АІ замінить розробників?

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

коли є складне питання (склАдене) читаємо по словах.
— selling point про AI — це не про інтелект, насправді, а про LLM, технологію, яка не замінить інтелект, як штучна шкіра не замінила натуральну, але значно витіснила з вжитку.
— selling point про ’замінить’ звучить потужно, але на скільки відсотків?

дивлячись на суто економічний аспект, бачу як ШІ провайдери жертвують прибутками (демпінгують) намагаючись втримувати низкі ціни.
Економічно зараз «сипляться» всі провайдери ШІ продуктів (софта), IBM навіть обвалився.
Втримувати низькі ціни вони будуть до останнього, щоб вичавити шкіряних інженерів і замінити їх на ринку праці, роблячи свої послуги безальтернативними.

Ті ШІ провайдери, в кого закінчився «жирок», довіра інвесторів -будуть сипатися, решта буде займати більшу частину ринку і піднімати ціни на токени щоб триматися далі.
Далі залишаться лідери, як M$ та Apple, тільки в ШІ. Їх буде більше ніж два чи три, це не принципово.

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

Але ціни це лише частина картини. Є принциповий аспект — втрата ноу-хау через LLM, і тут вже йде серйозна боротьба за внутрішню інформацію компаній, яка не афішується.

Amodei ще в березні 2025 казав, що AI писатиме 90% коду через півроку.

написання коду це лише частина того, що робить інженер. Це зрозуміло.
Про кількість і якість ШІ-коду теж зрозуміло.
Хтось це потім ревьюває, прораховує наслідки другого порядку, або ні.
Бізнес-аналітики, якщо вони є, будуть думати як покращити написане, додати фічі, а воно нечитаєме-невпіхуєме.

питання до автора і практиків:
візьмемо вашу з\п, вашу практику застосування ЛЛМ і ваші задачі,
Уявімо, що ціна інструментарію ЛЛМ збільшилась в 2-3 рази,
Питання: приблизно, скільки % СТАНЕ ціна інструментарію ЛЛМ порівняно до вашої з\п.
НЕ враховуючи компенсації від работодавця, і враховуючи оптимізацію вашіх планів користування, так ніби ви самі оплачуєте токени.

люблю ДОУ за те, що запитаєш і тобі підкажуть
x.com/...​tatus/2073569156876628407
«AI is now costing some companies more than the people it was supposed to replace.»
ключове слово тут «some», але тренд зрозумілий.

А ось інфографіка: витрати на AI infrastructure buildout
x.com/...​tatus/2073562923918664058
такими темпами в цьому році на датацентри витратять більше трільйона (лише на інфрастуктуру та залізо) а ще електрика, підтримка..
Скільки-ж робітників треба буде звільнити, щоб це окупити?

Скільки-ж робітників треба буде звільнити, щоб це окупити?

Всіх. Потім продати нірки топів, що за це топили і ще трішечки доплатити з грошей інвесторів ;)

www.gartner.com/en/documents/5367363

«Worldwide enterprise software revenue totaled $785.1 billion in 2023» — ну нехай риночок взагалі, не тільки корпоративний, коштує вдвічі більше. Так як зарплата програмістів — далеко не найбільше доля цього риночку (зазвичай галери беруть з клієнта вдвічі-втричі більше, ніж платять програмістам) то можна оцінити «всі зарплати програмістів» як 785 млрд. За рік І я не бачу великого росту зарплат за останні 3 роки ніде в світі. Тобто зараз можна вважати, що все так само.

Тут тільки на інфраструктуру витратили 800 млрд. За квартал. Скільки вийде за рік — можна прикинути. Скільки там на навчання, електрику та обслуговування — питаннячко. І це ж поки ще не замінили програмістів.

Можна, звісно, казати, що ну так інфра — це разово, а от далі будемо просто користуватись. Але це так не працює — сервери в ДЦ в середньому живуть 3, максимум 5 рочків. Тобто це прийдеться постійно оновлювати.

Тобто ШІ, ЩЕ ДО РЕАЛЬНОЇ ЗАМІНИ скільки-то значущої частини ринку потребують більше грошей, ніж наявні програмісти.

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

Щодо прискорення розробки, навіть якщо не зважати на купу даних, що в більшості випадків реального прискорення немає, чомусь ніхто не задається питанням, а навіщо?

Ну тобто. Зростання ринку програмного забезпечення, як і будь-якого іншого, на великих проміжках часу, не буде більше ніж глобальне зростання економіки. Зростання економіки — 3-4%. Тобто випускати більше програмного забезпечення, ніж його можуть купити — просто немає сенсу. Ну написали ви 2 топові гри за рік, замість однієї — продасте ви все одно не більше копій загалом, ніж може купити ринок. ви не продасте одному покупцю 100 ігор — йому тупо немає коли грати. Тож випустивши аппку (далі — помріємо) за місяць замість року — що ми будемо робити весь час? робити ще одну? а хто її купить? Де ці продажі вайбкодерів у гугл чи плей маркет? Як топ-топ-менеджери собі це уявляють? Купили офісний пакет в серпні, і в березні купляємо нову версію (чи іншого виробника)? Щоб що? Купили БД у березні, а в травні вже мігруємо всі дані в нову, бо навайбкодили и треба рухатись вперед? Щоб що?

я спробував співставити

витрати на AI infrastructure buildout
x.com/...​atus/20735629239186640588

і динаміка курсу акцій
stockanalysis.com/list/ai-stocks

що помітно неозброєним оком:
1- золота лихоманка,
2- у виграші ті, хто продає лопати (залізо, пам’ять, чіпи)
3- копачі типу M$, Google, Oracle, Meta мають блідий вигляд
M$
Google
Oracle
Meta

Сьогодні прочитав про передачу 5% акцій OpenAI у державну власність США.
Далі OpenAI з Ораклом будуть просити їх врятувати, бо вони too big to fail.
Ну бо звідки гроші на ROI, я не кажу про шалені прибутки, звідки на них візьмуться гроші?

Зростання ринку програмного забезпечення, як і будь-якого іншого, на великих проміжках часу, не буде більше ніж глобальне зростання економіки. Зростання економіки — 3-4%. Тобто випускати більше програмного забезпечення, ніж його можуть купити — просто немає сенсу.

воно може трохи відрізнятися, але в цілому так, н.м.п

Зараз витрати на AI infrastructure buildout перетворилися на дренажну канаву, в яку стікають залишки грошей, що залишились після QT .

UPD:
Oracle, схоже «поплив» і потягне OpenAI.
Oracle є публічною компанією з прозорою звітністю, тому він — індикатор ситуації для OpenAI.
Проблема полягає в тому, що не всі інвестори готові довго спалювати гроші, витрачаючи чотири долара щоб заробити один, в надії на неймовірний профіт у світлому майбутньому.

Ви код за аі не ревюваєте чи що?

Аналогічний досвід — у сучасних моделей все ще є проблеми з імплементацією AutN/AautZ. Причому результат може бути на 90% коректний, але працювати воно не буде, бо флоу поламаний.
Що допомагає — не імплементити це як частину інших тасків, а робити окремим кроком.
Якщо є можливість, спочатку імплементувати все без auth взагалі, просто додати моки.
Відповідно робити auth в самому кінці, підключити Context7 щоб юзав доку або дати прямі лінки на доку провайдера по автентифікації.
Якщо у вас бекенд і фронтенд в монорепо — явно описати хто і як має хендлити auth
Якщо щось раниться в контейнері — не сподіватись що ллмка зрозуміє, на який порт має йти редірект і т.п.
Явно вказати писати тести, як з мок-сервером, так і на реальний сервер (оце некрасиво, але на етапі розробки реально допомагає ллмці швидко розібратись в проблемі якщо вона виникає)
p.s.
стосовно секюріті я б не сильно сподівався на суттєві імпрувменти- це все уже порізано, а в нових моделях ще більше.
юзайте при код-рев’ю окремого агента який буде робити рев’ю саме в розрізі security — так більшість очевидних проблем відловлюється.

Липень 25 року — це, по суті, всі тільки знайомилися з інструментами. За рік, я думаю, що все сильно змінилось, відношення до стилю роботи також. Не думаєте, що ці опитування вже неактуальні на сьогодні?

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

Це один з головних способів.
Але є й другий — парне програмування. ШІ не підлеглий, він партнер, «рівний», роботу не ділите хто з вас головний, а за принципом — у кого що краще виходить.

Недоліки першого способу — страшенне збільшення навантаження на рев’ю, на танці по налаштуванню ШІ агента.
Недолік парного — ти не можеш виконувати більше одної таски одночасно. І погано масштабується на команду, практично неможливо виписати якісь регламенти, шарити бест практики.

Переваги парного способу над «тімлідовим»: повний контроль над всіми етапами розробки, підтримка всього спектру навичок розробника, від проектування до кодування. бо коли ти «тімлід» який впаралель робить 3+ тасок — ти навряд чи зможеш доладу порев’ювати, і — втрачаєш навички «кодера».

код рев’ю треба також автоматизовувати — у вас ні часу ні нервів не вистачить щоб рев’ювити код із швидкістю, з якою ллмка може його генерувати.
якщо брати готові рішення, то CodeRabbit найпродвинутіший в план налаштувань і дає найкращі результати по код-рев’ю. Але і найдорожчий.
Є інші готові інструменти. Якщо треба кастомізацію «під себе» — можна брати за основу плагіни Антропіка для код-рев’ю і на їх базі робити свій з кастомним флоу. Плюс інтеграція в CI/CD.
Далі вилізе проблема вартості — одне код-рев’ю цілком може коштувати 15-20$ якщо юзати тільки моделі Антропіка/OpenAI. Бо достатньо тасків де Haiku чи gpt-5.4 mini не витягують, а Sonnet занадто дорога.
Cloudflare не так давно описували свій досвід автоматизації code review — вони на нижчому рівні юзали Kimi 2.5. Їм вдалося знизити середню вартість код рев’ю до 5$
blog.cloudflare.com/ai-code-review

код рев’ю треба також автоматизовувати

ну так. при підході «тімлід» очевидне рішення. і єдине рішення.
зараз про це кругом і пишуть. про вплив на SLDC теж. Негативний.

но я про інше — просто додав другий спосіб використання ШІ, з перевагами, але й з недоліками.
Для повноти.

одне код-рев’ю цілком може коштувати 15-20$ якщо

Саме так. Рев’ю виходить дорожче чем генерація.
Тому взагалі вважаю що токеномика буде підштохвувати до «парного» використання ШІ.
Яке і SLDC не ламатиме через коліно.

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

втрачаєш навички «кодера»

на жаль, саме так. перетворюєшся в «написатора специфікацій»
і «залежність від ллм» — імовірно скоро це можна буде формально кваліфікувати як окрему залежність (типу наркоманії)
я не можу себе заставити щось писати руками — прикидаєш що руками це займе як мінімум кілька днів, а ллмка зробить за годину, і всяке бажання витрачати час на написання коду пропадає.
p.s.
ну і новий блокер з’явився — «закінчились гроші на ллм api key — деви сидять курять бамбук» )

ти не можеш писати і дебажити код з такою ж швидкістю.

значить — ти не зможеш і рев’ювати, і будеш втрачати як контроль, так і навички.

і думати над автоперевіркою, витрачати токени.

Звісно є ще варіант — на старті налоштовувати все щоб — генерувались близьке до ідеалу.
Умовно, перейти на Rocq. І спеки теж писати — з можливістю формальної їх перевірки ДО генерації коду.

Але, так не буде. Аджайл переміг з об’єктивних причин, і SDD як нащадок «водоспаду» — не стане навіть мейнстрімом. Те що зараз ним називають, — то просто просунутий промптінг. Хоча впевені що OpenSpec гарантує що ми маємо SDD

Ну це іллюзія тіпа як:
«Я пишу в об’єктно-орієнтованій парадигмі, тому що використовую об’єктно орієнтовану мову!»

прикидаєш що руками це займе як мінімум кілька днів, а ллмка зробить за годину

так. мозок економить ресурси. така його біологічна мета — НЕ працювати.
тому й більшість учнів і студентів сучасності стануть бовдурами з фільму Ідіократія.
бо — важко примусити себе вчитися — якщо можна отримати потрібну оцінку за допомогою LLM.

деви сидять курять бамбук

так. поки тому ще не хочуть. далі — тому що вже й не зможуть.
Не хочуть — тут типовий механізм прокрастинації — я не буду робити це важкє завдання. «потім якось зроблю».
Але якщо не робити а чекати коли лімити відновляться:

Use it or lose it

Але, так не буде. Аджайл переміг з об’єктивних причин, і SDD як нащадок «водоспаду» — не стане навіть мейнстрімом. Те що зараз ним називають, — то просто просунутий промптінг. Хоча впевені що OpenSpec гарантує що ми маємо SDD

це не водоспад. ти генеруєш специфікацію ітеративно з імплементацією кожної нової фічі.
на грінфілд проектах це дає тобі відповідність поточної специфікації коду (тут залежно від фреймворку, не всі це підтримують; і так, неформальну відповідність, це не rocq, ти ніби можеш спробувати це перевірити, але ж перевіряє та ж ллм так що...), що суттєво зменшує дрейф ллм-ки при імплементації тасків і змінах існуючого коду.
на браунфілд все складніше, бо у тебе початкової специфікації немає, але все ж з часом у тебе виростає нова специфікація яка покриває все більше і більше кодової бази.
p.s
хз що самн з цього вийде далі, все ще купа не вирішених проблем, але може з часом отримаємо щось краще.

це не водоспад.

це водоспад. інакше це не SDD а фікція. розборів в інеті вистачає з минулого року.

ти генеруєш специфікацію

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

перший раз вчитувався, другий, а на п’ятий і далі — апрув та й все.
у довгостроковому підсумку: і з кодом працювати розучився, і проектувати, і спеки писати.

ітеративно з імплементацією кожної нової фічі.

так — аджайл промптінг.

коротше як зі скрамом — всі кажуть що в них скрам, а у 90% ним ледь попахує.
так і з SDD — промптять, вайбкодять, але вважають що то в них SDD.

але може з часом отримаємо щось краще.

отримаємо звісно щось. краще, чи гірше, але так не буває щоб нічого не було.

тут цікаво що буде з тими що зараз активно втрачає навички, бо підсів на генерацію: спек, коду, тестів, ..., - перетворився на вайбкодера, ставши нубом.

Можете порадити якісь інструменти, щоб просканувати згенерований код на збіги з фрагментами з non permissive licences? Чи можете поділитися досвідом, наскільки це працює?

Підписатись на коментарі