Прощавай, Vibe Coding | Чому SDD стає новим стандартом розробки з AI — Transcript
Full transcript
- 0:00Вайп-кодити - це весело і прикольно, але
- 0:04веселощі закінчуються там, де
- 0:06починається реальний продакшн. Це канал
- 0:09FWDS. Я вітчийдушний програміст. І
- 0:11сьогодні ми поговоримо про те, як нам
- 0:14переходити з такого фістайлвайкодингу
- 0:17до більш професійного вайп-кодингу. Ну,
- 0:21не будемо називати це вже вайб-кодінг,
- 0:23це вже керування агентами штучного
- 0:25інтелекту. чи придумайте самі назву, як
- 0:28це має правильно і красиво і
- 0:31офіційно називатись. Які в нас є
- 0:35проблеми з вайп-кодингом? Коли ми
- 0:38формулюємо задачу, ми дуже багато чого
- 0:41не проговорюємо, тому що нам здається,
- 0:44що це і так зрозуміло, або ми чогось не
- 0:46там забуваємо сказати. Є таке навіть
- 0:49когнітивне викривлення, яке називається
- 0:52прокляття знань, що якщо ви щось знаєте,
- 0:54вам здається, що це і так відомо, і ми
- 0:56зазвичай просто це не кажемо. І в
- 0:58принципі це одна з проблем вайпкодінгу,
- 1:01те, що коли ми ставимо завдання, ми
- 1:03періодично щось забуваємо. При
- 1:05вайп-кодингу ми пропускаємо дуже важливу
- 1:08частину побудови продукту, який
- 1:10називається, ну, не називається, який я
- 1:13би назвав продумування чи такий процес
- 1:17обдумування. того, як ми будемо будувати
- 1:20цей проект. Коли ми пишемо вимогу
- 1:22штучному інтелекту
- 1:24і чогось там не вистачає, він зазвичай
- 1:26додумає те, що чого там не було і може
- 1:29зробити щось зайве. І в принципі ми це
- 1:31можемо якось пропустити, що теж, в
- 1:34принципі, не дуже прикольно, бо у агента
- 1:38чи у штучного інтелекта немає такого
- 1:40критерію, як готовність. має в ідеалі
- 1:43має бути формально прописане
- 1:46технічне завдання з тим, що що ми що ми
- 1:50вважаємо, коли задача закінчена. Мають
- 1:53бути доволі серйозні вимоги до цього
- 1:56процесу, а веб-кодингу такого такого
- 1:58просто немає. Ну і останню проблему, яку
- 2:01хочу назвати, це те, що коли ми
- 2:03вайп-кодимо щось, ми потім не можемо
- 2:06згадати, чому саме це було зроблено.
- 2:08Адже весь контекст залишається у нашому
- 2:11чаті, діалозі зі штучним інтелектом. І
- 2:13потім через якийсь час нам дуже важко
- 2:16згадати, а чому саме ми зробили саме
- 2:19саме так, а не а не по-інакшому. Якщо ви
- 2:22щось колись вайпкодили якісь великі
- 2:24проекти, тобто не просто там такий
- 2:27маленький там проектик на дві
- 2:28сторіночки, а щось доволі велике, то
- 2:32потім починаються такі проблеми, як е
- 2:36там дуже багато пов'язаних між собою
- 2:38всяких там, не знаю, там модулів чи фіч,
- 2:41які і ця вся система починає розсипатися
- 2:44і ви просто не розумієте, типа, а чого,
- 2:47а чого це розсипається, що мені з цим
- 2:49робити, як це зібрати до купи? І ви
- 2:51потім не можете зрозуміти, а чому це
- 2:53було зроблено саме таким чином. Адже,
- 2:55ну, колись це було навебкодено, штучний
- 2:57інтелект задавав якісь питання, ви роби
- 2:59давали йому якісь відповіді на ці якісь
- 3:02питання, він робив якісь свої висновки,
- 3:04базуючись на ваших неповних або там
- 3:06частково повних відповідях. І в
- 3:10результаті ми виводимо наш продукт в
- 3:13хаос, який, по-перше,
- 3:15ніде не описаний нормально,
- 3:18а по-друге, в принципі, і не продуманий
- 3:20нормально. Сьогодні ми розглянемо таку
- 3:23штуку, яка нам допоможе цей всей
- 3:25упорядкувати цей всей хаос, цю всю
- 3:28ентропію.
- 3:30І називати це і називатиметься це SDD. І
- 3:33це не про диски, а це така штука, як
- 3:37spec Driven Development. Як це перекла
- 3:41перекласти українською? Короче,
- 3:42розробка, яка будується на спеках, тобто
- 3:46на завданнях.
- 3:48І я буду сьогодні використовувати, для
- 3:50прикладу, тому що є дуже багато
- 3:52варіантів. Я хочу показати вам на
- 3:55прикладі
- 3:57такого такого такого фреймворку для
- 4:00Spectд Drivet Development, який
- 4:01називається Spec Kit.
- 4:03Це фреймворк від GitHub, який
- 4:07відповідно від Microsoft. А Microsoft в
- 4:10принципі вважається,
- 4:12що він непогано розуміють щось ці хлопці
- 4:15на і дівчата на програмуванні,
- 4:18що, звісно, не скажеш, коли дивишся на
- 4:20їхні продукти, але то вже діло друге.
- 4:23Давайте спробуємо, як цей спекit
- 4:27буде нам допомагати створювати продукт.
- 4:29Почнемо з гітрепозиторію цього спеккіта.
- 4:32Ну, бачите, 100
- 4:35тисяч зірочок. Це щось про щось та й
- 4:38говорить, правильно?
- 4:41І по-перше, нам треба його встановити.
- 4:42Тут бачить щось він там пише якусь
- 4:44штучку дрючку. Ми, в принципі, так і
- 4:47зробимо, як він просить.
- 4:50Хто ми такі, щоби не просто
- 4:54а replaлей візле.
- 4:57Бачите,
- 4:58тут треба було підставляти XYZ з релізу.
- 5:01Я такий лінивий, бачите, навіть не
- 5:03подивився. Ну, хто так робить? Можна
- 5:06прямо звідси. От бачите, як зручно.
- 5:08Можна прямо тут взяти цей кодик і
- 5:10запустити. Отак. От. Далі, що воно нас
- 5:13хоче? Далі хоче, щоб ми зробили init my
- 5:15project. Що там? Specify init. Ну,
- 5:17давай. Це ми встановили таку команду,
- 5:19яка називається Spify. Ладно, пішли
- 5:22дивитися в клод, як що нам це допоможе.
- 5:25Ну, бачите, я тут запустив встановлення,
- 5:28він щось там мені питає, якую буду
- 5:31використовувати. Буду використовувати
- 5:32clД код. Щось встановив. І що? Cl. Отже,
- 5:36після створення
- 5:38проекту через команд, ну, через
- 5:40командний рядок я просто зайшов у цю
- 5:42папочку, які він створив, і там
- 5:43запускаємо прямо клод. Clд. І що ми тут
- 5:46бачимо? Давайте, яка там наша перша
- 5:48команда? Create spec. Ми створюємо першу
- 5:50спеку, яка називається Spectit specify.
- 5:54Давайте ми тут будемо і писати, що
- 5:57я хочу створити такий е-е to, який
- 6:01називається, я назвав його, чи він
- 6:03називається Z too, в якому буде три
- 6:06таких списка: що робити сьогодні, що
- 6:08робити протягом тижня і що зробити
- 6:10взагалі. І задача наша тримати такий
- 6:13туду в якомога коротшому стані. Тобто
- 6:15моя ідея, що чим менше список, щоб
- 6:18робити, тим краще. Якщо щось треба буде
- 6:20критичне, воно обов'язково ще з'явиться
- 6:23у списку і знову можна буде його додати.
- 6:25Не треба все тримати у беклозі. Такий я
- 6:27хочу зробити собі тоду простий. Мені
- 6:30треба, я так пишу, мені треба зробити
- 6:34веб-застосунок для Z to. Три списки на
- 6:39сьогодні,
- 6:41на тиждень і
- 6:44на потім. Це списки задач і менеджмент.
- 6:47Менеджмент задач. Отаку я задачу
- 6:50написав. Якби ми просто зараз би
- 6:52веб-кодили би, він нам зараз би
- 6:54нагородив такий город всього, чого він
- 6:57собі там би придумав би. А ми
- 6:59подивимось, як він зробить це через таку
- 7:03серйозну штуку, як
- 7:06е-е оце от
- 7:09спек. А хоче залогінитись. Ну окей,
- 7:11залогінився. Ось бачите, він там щось
- 7:13думає. І яка задача цього кроку? Давайте
- 7:16я так приблизно опишу, що ми зараз
- 7:19робимо. Ми зробили йому такий
- 7:21коротенький опис, який там на наш
- 7:23хлопський розум, але по-правильному,
- 7:25якби це робили професійні
- 7:28постановщики задач, як би ми їх не
- 7:31називали, вони мали би створити, ну,
- 7:34задачу, тобто опис задачі, яку ми хочемо
- 7:37зробити, більш детальний для того, щоб
- 7:40її можна було переводити далі у
- 7:43наступний стан розробки, який теж ще не
- 7:46буде кодуванням, а теж буде окремий
- 7:49крок. У нас буде декілька кроків перед
- 7:51тим, як ми почнемо реально кодувати. І
- 7:53на кожному цьому кроці у нас створюється
- 7:57документ. Тобто у нас буде там ціла, як
- 7:59це, фіча і під нею буде документ,
- 8:03що ми зробили і як ми це будемо робити.
- 8:06Ось бачите, він написав е-е цей спеку і
- 8:10буде робити сам перевірку якості цієї
- 8:12спеки. В принципі, ми можемо вже
- 8:15попередньо глянути. Ось в нас е-е нашій
- 8:19папці, наша папка зтд - це коренева
- 8:21папка до ко нашого проекту. Поки що вона
- 8:23порожня, бо ми ще нічого не створювали,
- 8:26але
- 8:28м бачимо, що він вже створив папку, яка
- 8:32називається спек і в ній створив першу
- 8:34папку 001
- 8:36Ztd task list, де вже є папочка, ну,
- 8:39файлік, який називається спек. Бачите,
- 8:41він, хоча до нього звертався до нього і
- 8:43українською, він спеку пише англійською.
- 8:46Ну, це, в принципі,
- 8:48е-е і логічно, тому що ви зазвичай
- 8:51будете працювати в командах, де варто цю
- 8:55документацію тримати англійською мовою.
- 8:57Ну, давайте подивимось, що він тут пише.
- 8:59Він, бачите, розписав це на userсторі.
- 9:01Все, як потреб, як як треба розписувати
- 9:05в спеці в спеках. Тобто спочатку
- 9:09е
- 9:11створювати таски в трьох, як це,
- 9:15горизонтах планування, чи як це
- 9:17українсько обріях планування.
- 9:20І бачите
- 9:22сценарії прийняття. Якщо АПП має створи
- 9:25має показувати три списки сьогодні цьо
- 9:27цього тижня і пізніше,
- 9:31е-е,
- 9:33потім ще там щось пише, що списки мають
- 9:36мати команди, бла-бла-бла. Ну, тобто, в
- 9:38принципі, по-хорошому, ви маєте цей
- 9:41цю спеку продивитись і уважно зрозуміти,
- 9:45що вам тут подобається, що не
- 9:47подобається. Бачите, тут пише всякі
- 9:49requirement system mustay, не ту. Ну,
- 9:53просто прямо розписується, що має бути.
- 9:56Е, я зараз не буду це перевіряти, але по
- 9:59хорошому, якщо ви би працювали з
- 10:01серйозним продакшеном, ви маєте цей спек
- 10:04пере перечитати. Якщо я буду
- 10:06перечитувати, ми будемо дивитись на це
- 10:08відео до
- 10:10поза поза наступного дня. Але основна
- 10:13ідея в тому, що ви бачите саму спеку.
- 10:16Вона, бачите, дуже серйозно розписана. І
- 10:18ваша задача її перевірити і впевнитись,
- 10:20що це те, що ви хотіли. Ну, я так на
- 10:23швидко дивлюся. Ну, вродеі схоже на те,
- 10:25що я хотів.
- 10:27Localization,
- 10:29це він якісь зробив припущення.
- 10:32На цьому етапі ви можете або редагувати
- 10:35цей цю спеку, або ні.
- 10:38Далі ми, якщо в нас все влаштовує, далі
- 10:42ми переходимо. Бачите, він сам. Shall I
- 10:44move to speck plan? Окей, я вам пишу.
- 10:48Пішли speб.
- 10:51Далі ми переходимо до наступного етапу.
- 10:53Коли ми гарно прописали
- 10:57нашу спеку, далі ми переходимо до плану
- 11:00її реалізації. Що в результаті бачите,
- 11:03з'явиться файл, який називається план.
- 11:05Він поки що над ним працює, але такий
- 11:07файл у нас буде. І в чому кайф цього
- 11:10всього?
- 11:13цього цього цього нашої,
- 11:16як це сказати, цієї цього підходу. Те,
- 11:19що оці всі файли, бачите, це все реальні
- 11:21файли, всі FD файли, де все чітко
- 11:23прописано. Тут, бачите, написано е-е
- 11:27requirementси тут прописані, тут
- 11:29прописан типа повністю спека, тут
- 11:32написаний повністю план, як це буде
- 11:34відтворюватись. І це все ви потім потім
- 11:37будете декомітити, і це все буде
- 11:38частиною нашого коду. Тобто, в принципі,
- 11:41окрім самого коду, у вас ще буде список
- 11:44завдань, які ви давали свому штучному
- 11:47інтелекту, задокументовано і збережено у
- 11:50історії вашого репозиторію, щоб ви
- 11:53завжди могли повернутися і у вас потім
- 11:55не виникало питання. Тому що, якщо у вас
- 11:57потім виник виникне питання: "А чого ми
- 11:58зробили там е-е ну не знаю, там три
- 12:02списки, а не зробили там п'ять списків?"
- 12:04Я би хотів сьогодні, завтра там, ой,
- 12:06сьогодні там на на завтра, на на тиждень
- 12:09і на місяць. Чого ми зробили не так? Ну
- 12:11того, тому що в нас, бачите, по спекум
- 12:13написано, що має бути три.
- 12:16Ну і все. І тут, в принципі, все
- 12:17розписано. Якщо вам треба це змінити, ви
- 12:19просто розширюєте. І в принципі завжди
- 12:21можна буде переглянути історію, коли
- 12:23приймались якісь рішення, я як саме вони
- 12:26приймались. І вже
- 12:29буде зрозуміло, що код будувався на
- 12:32основі цих рішень. Давайте глянемо, що
- 12:34він тут щось зробив. А він нас питає,
- 12:36бачите, на чому ми хочемо робити. Що
- 12:38там? React, ViewS.
- 12:40Та давайте, бо я якось до цього звик.
- 12:43Браузер Local. І давайте браузер.
- 12:47Спростимо собі життя. Бачите, він навіть
- 12:49задає додаткові питання.
- 12:51В принципі, не дуже багато питань. Я б
- 12:53на його місці більше питав, але в
- 12:55принципі якби я робив це на реальному
- 12:58продакшені, я б ще перед цим запустив
- 13:00таку штуку, яка називається Brainstorm.
- 13:02Це трошки інший скіл від іншого. Це не
- 13:05не відноситься до спеку, але е-е мені
- 13:08дуже подобається перед тим, як я його
- 13:10щось роблю, зробити цей бренсторм, щоб
- 13:11він мені запитав більше додаткових
- 13:13питань. І я би сам краще зрозумів, що ж
- 13:17я хочу такі нарешті робити. Я, до речі,
- 13:19на минулому відео на FWDs про це
- 13:22розказував. Можете глянути там. В
- 13:24принципі, я це приблизно показав. Тобто
- 13:27можна було би почати з брейнсторму,
- 13:30розписати всі деталі, а потім вже
- 13:31переходити до спеку. В принципі, я так
- 13:34десь і роблю на реальному реальному
- 13:37коді. Ну ось бачите, він доволі довго
- 13:39думав і накатав нам такий планчик, з
- 13:41яким можемо ознайомитись тут трошки
- 13:43подивитись, що тут є. І відповідно
- 13:46можемо глянути і в самому коді. Тобто,
- 13:49бачите, він в цій папці створив доволі
- 13:50багато файлів. Ну, наприклад, сам план.
- 13:52Ви можете глянути, що у нас тут. Він тут
- 13:55там розписує, яка в нас технічна
- 13:57контекст, що ми хочемо робити. Type
- 13:59scriptриt, бла-бла-бла, view.
- 14:03Тобто, якщо ви потім ви скажете, що ви
- 14:05не хотіли view, ну, тут в спеку
- 14:07написано, ви самі погодились на це view
- 14:09і все, що тут написано, ви маєте
- 14:11переглянути і впевнитись, що це те, що
- 14:13вам по необхідно. Далі, бачите, окрім
- 14:16цього, він створив модель даних. теж
- 14:19бажано переглянути, ознайомитись і
- 14:21підтвердити, що да, подобається чи ні.
- 14:23Ви можете потім написати ні, там я хочу,
- 14:25щоб назвалось там не title a name. Ну не
- 14:27знаю, якісь такі чи я хочу ще додаткові
- 14:30поля е-е
- 14:33і так далі, і так далі.
- 14:36Є в нас якісь контракти. Тобто він вже
- 14:37створив якісь е-е ну контракти, тобто це
- 14:41такі структури даних, які будуть бігати
- 14:43там фронт-end backend. Тут він все
- 14:44прописав, тобто прописав дуже-дуже
- 14:46багато всього, чого навіть якийсь
- 14:48resarch зробив. Бачите, decision
- 14:51піа короче тут написав ее стек для
- 14:55тестування, повністю розписав все, як
- 14:58він плануває це зробити, щоб ви потім не
- 15:00казали, що ви такого не хотіли. Вам, в
- 15:03принципі, обов'язково бажано з цим
- 15:05ознайомитись, тому що відповідальність
- 15:07за код лежить на кому? Не на штучному
- 15:10інтелекті, а на тому, хто буде
- 15:12вигрібати.
- 15:13Люлі.
- 15:14А це буде робити не штучний інтелект, а
- 15:16буде робити саме ви. Так що озна
- 15:18ознайомлю ознайомлюєтесь
- 15:21з цим планом.
- 15:23Якщо вам все підходить, переходимо далі.
- 15:25Це це не останній артефакт. Далі у нас є
- 15:28така штука, яка називається tasks. Тобто
- 15:31ми
- 15:33Я пишу Tasks. Ну, це не остання штука.
- 15:36Це остання штука в плануванні. Це ми з
- 15:39цього всього починаємо робити власне
- 15:42завдання для реалізації. І поки він
- 15:44думає, я вам ще розкажу, як я налаштував
- 15:47на своєму це проекті.
- 15:50Е-е, я не використовую цей Spectд Driven
- 15:52Developмен на моєму сувному проекті, але
- 15:54я робив якийсь побічний проект і там
- 15:56налаштував цей Spect Driven Development
- 15:58і тестував там, як це має працювати. І
- 16:01моя ідея була така, що в принципі я
- 16:03створив окремий такий скіл, який е-е
- 16:07якому ти пишеш завдання, а він потім
- 16:08вирішує по цьому завдан, чи варто робити
- 16:11по цьому завдан саме спеку, або це якась
- 16:13просто, ну, якась проста штучка, яка не
- 16:15потребує спеки. Ну, наприклад, ви
- 16:17виправлення якогось тексту чи якоїсь
- 16:19простої помилки. Тобто це можливо не є
- 16:22саме завданням, яке має там бути. Або,
- 16:27і також я там додав, що якщо це спека,
- 16:29велика спека, треба запускати
- 16:30Brainstorm. І тоді я, в принципі, в мене
- 16:33завжди є одна один скіл, з якого я
- 16:35починаю цю всю роботу. Я просто пишу
- 16:37завдання, а потім система вирішує, чи це
- 16:40просто робити якийсь легенький фікс, чи
- 16:43робити, починати робити спеку, чи краще
- 16:46ще перед тим перед тим запустити якийсь
- 16:48брейнсторм, щоби прийняти більш виважене
- 16:51рішення по даному конкретному даній
- 16:53конкретній фічі. Знову ж таки, це все
- 16:55буде зберігатися в
- 16:59вашому проекті, у файлах вашого проекту.
- 17:02Відповідно,
- 17:04в ідеалі, як я чув такі ідеї, що в
- 17:08принципі е-е на наступному етапі оцей
- 17:12саме спек, тобто саме ця документація і
- 17:15буде
- 17:17основною частиною проекту. Тобто код
- 17:19можна перегне перегенерувати по цьому по
- 17:22цій документації. Тобто получається, що
- 17:24ця папка, ну, є такі думки, не знаю,
- 17:27наскільки вони справдяться, тому що
- 17:28зараз невідомо, куди рухається
- 17:32система, як ми будемо програмувати, як
- 17:34ми будемо використовувати цей штучний
- 17:35інтелект, тому що все дуже швидко
- 17:37міняється. Ще рік тому ми були дуже
- 17:39далеко від того, де ми зараз. Ще рік
- 17:42тому я не вірив, що штучний інтелект
- 17:43буде таким крутим, а зараз я вже
- 17:45розумію, що він вже дуже крутий і але
- 17:49треба їм якось навчитись керувати. І в
- 17:51принципі одна із ідей - це те, що ми
- 17:53будемо саме в таких от папках, файлах
- 17:56зберігати
- 17:59нашу документацію, наші спеки. І це буде
- 18:01якраз вихідним кодом нашої про програми.
- 18:05Тобто не код сам, а саме спека. І код
- 18:08або буде ігноруватись по цій спеці, або
- 18:10прямо на льоту буде виконуватися спека.
- 18:12Ну, це вже якісь фантастичні ідеї, але
- 18:14хто знає. Мені здається, що ця ідея дуже
- 18:17крута, тому що зберігати ці всі,
- 18:20по-перше, ну, ми вбиваємо декількох
- 18:23зайців. Б, бідні зайці. Нічого проти
- 18:25зайців не маю. Зайці, вибачайте.
- 18:28Е, але перший заєць, невинний заєць - це
- 18:32який? Це те, що ми, по-перше, продумуємо
- 18:35всю систему. Ми бачимо хід думок
- 18:37штучного інтелекту. Ми можемо перевірити
- 18:40все, що він робить. Ми можемо на кожному
- 18:43етапі вставляти свої 5 коп і казати:
- 18:45"Ні, це якась фігня". Або можемо
- 18:47зрозуміти, що це взагалі якась не туда
- 18:49фіча йде заново почати робити, бо ми ми
- 18:51йдемо по реалізації, по всіх тих кроках,
- 18:55яких, в принципі, і виконується
- 18:56нормальний продукт, і детально
- 18:59розписуємо, що має бути.
- 19:02І другий відповідно заєць - це те, що
- 19:05це все, що ми на, як я вже казав,
- 19:09написали, буде частиною нашого проекту.
- 19:12І ми завжди зможемо звернутись до того і
- 19:15подивитись, чого і чому і як це були
- 19:17зроблено, по якому специфікації.
- 19:20І потім вже можна робити якісь висновки,
- 19:22чи було це проблема в специфікації, чи
- 19:24це була проблема в реалізації і де саме
- 19:27була проблема, і вже робити якісь
- 19:29серйозні висновки по тому, що чому ми
- 19:33робили. Тому що якщо ми працюємо просто
- 19:36веб-кодимо, ну, я колись бачив на
- 19:38веб-коденні доволі великі проекти, то
- 19:42потім вони в купу просто не складаються
- 19:45і просто неможливо зрозуміти, що йде не
- 19:48так.
- 19:49купу всього пов'язано. Ти там щось
- 19:51натискаєш, там вже не працює, тому що це
- 19:53не було продумано. Ну, типа, ніхто про
- 19:55це не думав. І як воно взагалі має бути
- 19:58пов'язано, невідомо, тому що ніхто не,
- 20:00ну, чат не зберігся. По коду зрозуміти
- 20:03це доволі важко.
- 20:05А тут виходить, що буде не так вже й
- 20:08важко. Далі він що питає? Що він вже
- 20:10написав, бачите, таски. Давайте глянемо,
- 20:12як це в нас виглядає. Він нам збацав
- 20:15такий
- 20:16прям перелік задач. Бла-бла-бла. дуже
- 20:19купу велика куча задач. І так само
- 20:22рекомендую це все уважно передивитись.
- 20:25Напевно можна попросити, якщо у вас з
- 20:27англійською, щоб він це переклав
- 20:28українською, але в принципі бажано знати
- 20:30англійську, як я постійно кажу. Тобто ви
- 20:32передивляєтесь ті всі задачі, бачите, їх
- 20:34тут доволі багато, що там зробити,
- 20:37проінсталювати, там створити,
- 20:38бла-бла-блаблаблаблабла. Дуже велика
- 20:40кількість задач. І давайте ми
- 20:43передивились, узгодили ці задачі,
- 20:46переходимо до реалізації. Переходимо до
- 20:49реалізації. Як для цього я хочу
- 20:51запустити ще одну сесію клоду і вибрати
- 20:53іншу модель. По-перше, я хочу почати з
- 20:56чистого контексту, тому що вже в нас є
- 20:59список задач. Нам не потрібно тримати
- 21:01перед собою весь попередній контекст. Ми
- 21:03можемо зекономити на тому, що ми не
- 21:04тримаємо контекст. Ми можемо кожний
- 21:08кожну нову за кожний новий етап робити в
- 21:10новому в новому контексті. Я в принципі
- 21:12для себе робив так. Я всі ці перші
- 21:14етапи, там створення спеку, створення
- 21:17плану і створення тасок, я робив в
- 21:19одному контексті, а саме виконання я
- 21:21робив в іншому контексті. І можна навіть
- 21:23переключитись на більш дешеву модель.
- 21:25Наприклад, цей Sonet. От я переключусь
- 21:26на Sonet.
- 21:28Ну, ще раз гляну, що там. Sonet High
- 21:30Efford. Давай я зроблю medium effort. І
- 21:33тут я можу вже написати цю команду, яка
- 21:35називається в нас specit implement. Spec
- 21:39kit implement.
- 21:42Ну, погнали. Всі наступні спеки, як ви
- 21:44бачите, вони будуть мати наступний
- 21:47номер, тому що це папка спек. В ній є
- 21:48одна папка, тому вона так дивно
- 21:50відображається. Папка в папці. В цій
- 21:52папці одна папка 001 the task list.
- 21:55Тобто номер спеки - це такий номер по
- 21:57порядку, плюс така коротка його такий
- 22:00нікнейм коротенький.
- 22:02І в результаті у вас буде
- 22:07велика кількість таких ось
- 22:10спеків. Що ще хорошого в цьому підході?
- 22:12Це те, що коли ви так все гарно
- 22:14продумали, ви просто запускаєте це на
- 22:16виконання. В принципі виконання може
- 22:18тривати доволі довго. В принципі, воно
- 22:19може тривати там, ну, годину, наприклад,
- 22:23чи щось таке. Нам
- 22:26тут вже додаткових питань не було, адже
- 22:28все продумано. І теж дуже класна штука,
- 22:31що
- 22:33це ви можете залишити і йти собі чи на
- 22:35обід, чи поспати, чи поїсти, чи по щось
- 22:39там ще поробити, чи що ви любите, чи
- 22:41котика погладити, чи тіктоки подивитись.
- 22:44Не рекомендую дивитиськи і
- 22:47але вільний час у вас є. Або працювати
- 22:49над іншою вже задачею. Я в принципі
- 22:51цього не люблю, тому що
- 22:54потім я плутаюсь між задачами. В мене
- 22:55там в голові дуже погано тримається
- 22:57контекст, коли я стрибаю між різними
- 22:59задачами. Це теж одна з проблем, яка
- 23:02з'явилась зі штучним інтелектом. Це те,
- 23:04що дуже багато задач в голові крутиться,
- 23:07тому що ти запустив одну і що робити?
- 23:09Ну, можна переключитись на наступну. Ну,
- 23:11іноді, ну, приходитися так робити, тому
- 23:14що, ну, воно ж щось робить, треба чимось
- 23:16себе зайняти.
- 23:18Давайте я вам ще покажу, як відбувається
- 23:20сам процес, тому що як поки ці задачі
- 23:22вони там, бачите, під час роботи він ще
- 23:25от ці задачі відмічає як зробленими. От
- 23:28якщо ми тут поставимо, подивимось, то
- 23:30ось ці помітив це зроблено, це зроблено,
- 23:32це зроблено, це зроблено. О, бачите, він
- 23:34всі задачі помітив, як зроблено. Де ті,
- 23:36що в процесі, він ще
- 23:40не помічає, як зробленими. Хоча, мені
- 23:42здається, це відбувається не так
- 23:44синхронно, як я собі думав, що кожна
- 23:46задача одразу відмічається. Це
- 23:47відбувається так доволі хаотично, але в
- 23:51принципі нам немає різниці. Нам головне
- 23:53результат. Бачите, зараз він все
- 23:54відмічає, як зроблено. Якраз його
- 23:58він все перевіряє і все помічає, як
- 24:00готове. От я питаю, як запустити цей
- 24:02проект. Він щось запустив? Ну ось і
- 24:04бачите, в нас є задачі. Я можу там
- 24:06додати задачі на сьогодні,
- 24:09на тиждень. Можу їх переносити. А можу,
- 24:12можу. А цікаво, наче можливість є, але
- 24:15не переноситься. Ну, напевно, треба йому
- 24:18А я можу так переносити. Ага. Ну,
- 24:20варіант. Бачите, Dragндроop не працює,
- 24:22але в принципі, ну, непогано. Дуже схоже
- 24:24на те, що я просив. Далі ви можете
- 24:27відповідно доступні зміни. Ну,
- 24:29наприклад, я хочу, щоби, бачите,
- 24:31відмічається.
- 24:33Бачите, там закриті таски, відкриті
- 24:35таски, не знаю, в процесі. Можете додати
- 24:37якийсь статус до задачі. Це я буду, якщо
- 24:40мені потрібно буде, писати окремими
- 24:42спеками. Ось таким чином я створив цей
- 24:45проект. І окрім коду я отримав ще опис,
- 24:51документацію технічну, як завдання до
- 24:55цього коду, як цей код був створений, за
- 24:58якою спеками. Що класно, що ви, в
- 25:01принципі, можете це передавати одразу
- 25:03тестувальникам,
- 25:04тому що в нас є е-е спек,
- 25:09де розписано
- 25:11критерії, критерії успіху,
- 25:15критерії
- 25:17чкейси, user story, тобто все, що
- 25:20потрібно тестувальникам. Ви можете це
- 25:22віддати їм і ви могли би це віддати їм
- 25:24ще до того, як був готовий проект. Тобто
- 25:26ви паралельно можете, тестувальники
- 25:28можуть працювати вже продумувати свої
- 25:29там
- 25:32тесткейси і всякі там автоматизації, а а
- 25:35ви можете працювати над розробкою. Ось
- 25:38так. Ще відповідно це може бутить різні
- 25:40люди. Тобто одна людина може створювати
- 25:43е відповідає за спеку, тобто вона така
- 25:46більш продуктова, там продумає, як це
- 25:48все якийсь овнер, як це має працювати.
- 25:50Далі ми переходимо до плану. Це вже може
- 25:54робити інша людина, більш технічна, яка
- 25:56вже більш Тут, бачите, тут вже в спеку
- 26:00немає нічого про технічну реалізацію. Є
- 26:02тільки де бізнес е реквареми, тобто це
- 26:05інший рівень. Тут є у нас технічна
- 26:08реалізація, бачите папки, всі діла. Ну,
- 26:10це вже має робити хтось з технічних
- 26:12людей. І потім запустити виконання задач
- 26:17може будь-хто, тому що це, в принципі,
- 26:19вже не потребує додаткових відповідей на
- 26:22додаткові питання. Ви просто натискаєте
- 26:23кнопочку і все. І чекаєте якийсь час.
- 26:27Приблизно це все мені зайняло. Я там з
- 26:30паузами тут робив, ну, хвилин
- 26:3540 я зробив цей проект. Він всі ці кроки
- 26:41пройшли за 40 хвилин. Ось таке от
- 26:42майбутнє я бачу
- 26:45програмування. Це, в принципі,
- 26:49сув до постановок, задач. Я думаю, що
- 26:51вам всім, всім програмістам треба
- 26:54підніматись на рівень вище і вже ставити
- 26:56завдання, тому що кодити вже скоріш за
- 26:58все буде не дуже важливо, але важливо
- 27:02буде розуміти, як ставити завдання, як
- 27:05мати продуктове мислення, технічне
- 27:07мислення, як це буде реалізоване, там
- 27:09архітектурне мислення. Ее, як ви будете
- 27:12цей проект тримати в кучі, як між собою
- 27:15будуть взаємодіяти всі ваші фічі, всі
- 27:17ваші компоненти, всі ваші ідеї, як
- 27:20будуть грати один з одним. Отже, це був
- 27:24FW Days. Я вічдушний програміст, а ви
- 27:27розказуєте, чим ви користуєтесь, чи ви
- 27:29використовуєте Speect Driven
- 27:31Development, які інші фреймворки ви
- 27:32використовуєте, якщо користуєтесь. І
- 27:36діліться своїми ідеями, тому що це треба
- 27:39робити. ділитись тим, що як ми працюємо.
- 27:44Адже зараз все змінюється шаленими
- 27:46темпами і FWD зі мною. Ми за цим
- 27:49слідкуємо і тримаємо вас в курсі. Отже,
- 27:52підписуйтесь на обидва ці канали і
- 27:56лайкайте
About this transcript
This page contains the full transcript of Прощавай, Vibe Coding | Чому SDD стає новим стандартом розробки з AI by fwdays, generated from the public captions YouTube serves with the video. The transcript has 3,940 words across 654 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.