Բլոգ

Թարմացվել է 10 րոպե կարդալուVibe coding և ինժեներիաՊիլար

Ի՞նչ է vibe coding-ը. իմաստը, առավելությունները, ռիսկերը և սահմանները

Vibe coding-ը բնական լեզվով հրահանգներով ծրագրային ապահովում կառուցելն է AI-ի միջոցով։ Իմացեք աշխատանքային հոսքը, լավագույն կիրառումները, ռիսկերը և արտադրական պատրաստվածության ստուգումները։

Dali

Dali-ն AI agent systems ստուդիա է։ Դավիթը՝ engineering/product, Լիանան՝ operations/workflow fit։ Production գործակալներ առկա tools-ում։

David Hakobyan · LinkedIn · Dali

Արտադրանքի ստեղծողը նկարագրում է հավելվածը, մինչ AI ծրագրավորման համակարգը հավաքում է ինտերֆեյսի և աշխատանքային հոսքի բաղադրիչները

Ուղիղ պատասխան

Vibe coding-ը ծրագրային ապահովում կառուցելու եղանակ է, երբ ցանկալի արտադրանքը կամ փոփոխությունը նկարագրում եք բնական լեզվով, և AI ծրագրավորման գործիքը գեներացնում կամ փոփոխում է կոդը։ Մարդը արդյունքը ուղղորդում է հրահանգներով, նախադիտումներով և ուղղումներով՝ ամեն իրականացման մանրամասը ձեռքով գրելու փոխարեն։

Այն հատկապես օգտակար է նախատիպերի, ներքին գործիքների, վայրէջքի էջերի և վաղ արտադրանքի փորձարկումների համար։ Այն չի հանում ինժեներիայի անհրաժեշտությունը, երբ հավելվածը կառավարում է նույնականացումը, վճարումները, անձնական տվյալները, թույլտվությունները կամ այլ հետևանքներ, որոնք պետք է հուսալիորեն աշխատեն։

Կարևոր տարբերությունը այն չէ, թե արդյոք AI-ն է գրել կոդը։ Կարևորն այն է, թե արդյոք որևէ մեկը ստուգել է վարքը, հասկացել է կրիտիկական ուղիները և ստեղծել է անվտանգ եղանակ՝ հավելվածը թողարկումից հետո շահագործելու համար։

Ինչ է նշանակում vibe coding

Սովորական ծրագրային մշակման մեջ ծրագրավորողը պահանջները թարգմանում է ճարտարապետության, կոդի, թեստերի, տեղակայման կարգավորումների և շահագործման վերահսկիչների։ Vibe coding-ում այդ թարգմանության մեծ մասը սկսվում է AI գործիքի հետ զրույցի ներսում։

Տիպիկ հրահանգը կարող է լինել.

Կառուցիր հաճախորդի պորտալ, որտեղ օգտատերը կարող է մուտք գործել, տեսնել բաց հաշիվ-ապրանքագրերը և խնդրել վճարման պլանի վերանայում։

Գործիքը կարող է ստեղծել բաղադրիչներ, երթուղիներ, տվյալների բազայի կանչեր և ոճավորում, ապա ցույց տալ նախադիտում։ Ստեղծողը արձագանքում է տեսանելիին և շարունակում է այսպիսի հրահանգներով.

Հաշիվ-ապրանքագրերի աղյուսակը դարձրու ավելի հեշտ ակնարկելու, ավելացրու դատարկ վիճակ և հայտն ուղարկելուց առաջ խնդրիր հաստատում։

Այս հետադարձ կապի օղակն է vibe coding-ի օգտակար մասը։ Այն կրճատում է հեռավորությունը գաղափարի և ինչ-որ ինտերակտիվ բանի միջև։

Ռիսկը հայտնվում է, երբ համոզիչ մակերեսը շփոթում են ամբողջական համակարգի հետ։ Նախադիտումը կարող է ավարտված թվալ, մինչդեռ լիազորումը, տվյալների մեկուսացումը, կրկնափորձերը, մատյանագրումը, պահուստային պատճենները և ձախողման մշակումը դեռ անավարտ են։

Ինչպես է աշխատում vibe coding-ը

Աշխատանքային հոսքն ունի չորս գործնական փուլ.

  1. Նկարագրեք արդյունքը։ Նշեք օգտատիրոջը, աշխատանքը, մուտքերը, ելքերը, սահմանափակումները և ոչ ստանդարտ դեպքերը։
  2. Գեներացրեք աշխատող հատված։ Թողեք գործիքը ստեղծի ամենափոքր ուղին, որը ցուցադրում է գաղափարը։
  3. Ստուգեք և ուղղեք։ Գործարկեք ուղին, ուսումնասիրեք գեներացված կոդը, թեստավորեք եզրային դեպքերը և կատարելագործեք հրահանգները։
  4. Անցեք արտադրական դարպասը։ Ստուգեք անվտանգությունը, տվյալները, թույլտվությունները, թեստերը, տեղակայումը, մոնիթորինգը և սեփականությունը՝ նախքան իրական օգտատերերը դրանից կախված լինեն։
Vibe coding-ի չորս փուլային ուղին՝ մտադրությունից մինչև գեներացված արտադրանք, ստուգում և արտադրական դարպաս

Արագ օղակը ստեղծում է արտադրանքի մակերես. ստուգումն ու արտադրական վերահսկիչներն են որոշում, թե արդյոք կարելի է դրան հենվել անվտանգ։

Արագությունը գալիս է առաջին երեք փուլերից։ Չորրորդ փուլում է, որ պատասխանատվությունը վերադառնում է։

GitHub-ի ուղեցույցը AI-գեներացված կոդի վերանայման համար խորհուրդ է տալիս ֆունկցիոնալ ստուգումներ, վավերացում նախատեսված ճարտարապետության նկատմամբ, կախվածությունների վերանայում, ավտոմատ վերլուծություն և մարդու վերահսկում (GitHub Docs)։ Դա օգտակար բազային մակարդակ է՝ անկախ նրանից, թե որ AI ստեղծողն է արտադրել փոփոխությունը։

Vibe coding vs ավանդական ծրագրավորում

ՉափումVibe codingԱվանդական ծրագրավորում
Հիմնական ինտերֆեյսԲնական լեզվի հրահանգներ և տեսողական հետադարձ կապՍկզբնական կոդ, տեխնիկական բնութագրեր և ուղիղ իրականացում
Առաջին օգտակար ելքՀաճախ աշխատող նախադիտում կամ նեղ արտադրանքի հատվածՀաճախ նախագծված և իրականացված մոդուլ կամ գործառույթ
Հիմնական ուժեղ կողմԱրագ հետազոտություն և կրկնությունԲացահայտ վերահսկում, պահպանելիություն և կանխատեսելի ինժեներիայի պրակտիկա
Հիմնական ձախողման ռեժիմՀավանական մակերեսը թաքցնում է չստուգված վարքՄատակարարումն ավելի երկար է տևում կամ գերբարդացնում է չապացուցված գաղափարը
Պահանջվող գիտելիքԱրտադրանքի դատողություն, հրահանգի պարզություն և գեներացվածի թեստավորման կարողությունԾրագրային նախագծում, իրականացում, թեստավորում, տեղակայում և շահագործում
Լավագույն համապատասխանությունՆախատիպ, հայեցակարգի ապացույց, ներքին գործիք, ժամանակավոր փորձՀիմնական համակարգեր, կարգավորվող աշխատանքային հոսքեր, բարդ տվյալներ, բարձր հուսալիություն, երկար սեփականություն
Կոդի սեփականությունՀնարավոր է, բայց միայն եթե թիմը կարող է ստուգել և պահպանել ելքըՍովորաբար նախագծված է բացահայտ պահեստի և սպասարկման սեփականության շուրջ

Սրանք հակադիր ճամբարներ չեն։ Ուժեղ արտադրանքի թիմը կարող է vibe coding օգտագործել հետազոտության համար և ավանդական ինժեներիա՝ կրիտիկական ուղու համար։

Ինչի համար է լավ vibe coding-ը

Նախատիպեր, որոնք պատասխանում են մեկ հարցի

Նախատիպը պետք է նվազեցնի անորոշությունը։

Օրինակներ.

  • Կհասկանա՞ն օգտատերերը այս ընդունման հոսքը։
  • Ցանկանո՞ւմ է թիմը այս վահանակի դասավորությունը։
  • Կարո՞ղ է այս API-ն աջակցել առաջարկվող փոխազդեցությանը։
  • Օգտակա՞ր է աշխատանքային հոսքը՝ նախքան լրիվ կառուցման մեջ ներդրում անելը։

Եթե նախատիպը պատասխանում է հարցին, այն կատարել է իր աշխատանքը՝ նույնիսկ եթե իրականացումը հետո փոխարինվի։

Ներքին գործիքներ սահմանափակ ազդեցությամբ

Փոքր ներքին գործիքը կարող է լավ համապատասխանել, երբ օգտատերերի խումբը հայտնի է, տվյալները զգայուն չեն, և կա ձեռքով պահուստային ուղի։

«Սահմանափակ» բառը կարևոր է։ Գործիքը, որը կարող է ջնջել գրառումներ, բացահայտել հաճախորդի անձնական տվյալներ կամ գրել ֆինանսական համակարգեր, ցածր ռիսկ չէ միայն այն պատճառով, որ այն կարող են բացել միայն աշխատակիցները։

Ինտերֆեյսի և աշխատանքային հոսքի հետազոտություն

Vibe coding-ը ուժեղ է այնտեղ, որտեղ պետք է ստեղծել բավականաչափ կոնկրետ բան՝ քննարկելու համար։ Շահագրգիռ կողմերը կարող են արձագանքել իրական հոսքին՝ փաստաթղթի շուրջ վիճելու փոխարեն։

Դա արժեքավոր է դարձնում դիզայն սպրինտերի, օգտագործելիության թեստավորման և վաղ գործընթացի քարտեզագրման համար։

Մեկանգամյա սցենարներ և մեկանգամյա փոխակերպումներ

AI-գեներացված սցենարները կարող են ժամանակ խնայել, երբ մուտքը վերահսկելի է, արդյունքը կարելի է ստուգել, և ձախողված գործարկման հետևանքները սահմանափակ են։

Նախ գործարկեք դրանք տվյալների պատճենների վրա։ Մի տվեք մեկանգամյա սցենարին լայն արտադրական հավատարմագրեր միայն այն պատճառով, որ առաջադրանքը «ժամանակավոր» է թվում։

Որտեղ է vibe coding-ը հասնում իր սահմանին

Որոշեք, թե երբ է պետք ինժեներիայի խորություն, ռիսկով՝ ոչ տեսողական փայլով։

Արտադրանքի մակերեսՆախատիպը կարող է բավարար լինել, երբԻնժեներիայի դարպաս է պահանջվում, երբ
ՆույնականացումԿեղծ օգտատերեր կամ փակ ցուցադրությունԿան իրական հաշիվներ, գաղտնաբառի վերակայում, նիստեր, դերեր կամ սոցիալական մուտք
Տվյալների բազաՄեկանգամյա նմուշային տվյալներԿարևոր են հաճախորդի գրառումները, միգրացիաները, բազմավարձակալությունը, պահպանումը կամ վերականգնումը
ՎճարումներՍիմուլյացված վճարումԳումարը կարող է շարժվել, կարող են տեղի ունենալ փոխհատուցումներ, կամ webhook իրադարձությունները փոխում են բիզնես վիճակը
Վարչական գործիքներՄիայն կարդալու ցուցադրական տվյալներԻնտերֆեյսը կարող է փոփոխել օգտատերեր, թույլտվություններ, բովանդակություն կամ համակարգի կարգավորումներ
API հավատարմագրերԿեղծ պատասխաններԿապված են իրական token-ներ, երրորդ կողմի հաշիվներ կամ վճարովի API-ներ
AI գործառույթներԵլքը ձեռքով է վերանայվումՄոդելը կարող է ուղարկել, հրապարակել, թարմացնել, հաստատել կամ մերժել ինչ-որ բան
ՏեղակայումԺամանակավոր նախադիտումՍպասվում են հասանելիություն, պահուստային պատճեններ, ահազանգեր, հետգլորում և սեփականություն

OWASP-ի ընթացիկ վեբ հավելվածների ռիսկերի ցանկը ներառում է կոտրված մուտքի վերահսկում, անվտանգության սխալ կազմաձևում, մատակարարման շղթայի ձախողումներ, նույնականացման ձախողումներ և մատյանագրման ձախողումներ (OWASP Top 10:2025)։ Այս ռիսկերը եզակի չեն AI-ով կառուցված ծրագրային ապահովման համար։ Դրանք հեշտ է բաց թողնել, երբ մշակման օղակը հիմնականում առաջնորդվում է նրանով, թե արդյոք նախադիտումը ճիշտ է երևում։

Արդյոք vibe coding-ը անվտանգ է։

Vibe coding-ը կարող է անվտանգ լինել ճիշտ սահմանափակված առաջադրանքի համար։ Աշխատանքային հոսքն ինքնին անվտանգության վերահսկիչ չէ և խոցելիության կատեգորիա չէ։

Անվտանգությունը կախված է նրանից, թե ինչ կարող է անել հավելվածը և ինչպես է ստուգվում գեներացված իրականացումը։

Օգտագործեք այս նվազագույն դարպասը՝ նախքան իրական օգտատերեր կամ իրական տվյալներ կապելը.

  • Մուտքի վերահսկում. Կիրառեք թույլտվությունները սերվերի վրա, ոչ միայն ինտերֆեյսում կոճակները թաքցնելով։ OWASP-ը խորհուրդ է տալիս նվազագույն արտոնություն և լռելյայն մերժման մուտքի որոշումներ (OWASP A01:2025
  • Գաղտնիքներ. Պահեք API բանալիներն ու token-ները կառավարվող գաղտնիքներում կամ միջավայրի փոփոխականներում, երբեք դիտարկիչի կոդում կամ պահեստում պահպանված կոդում։ Replit-ը փաստաթղթավորում է գաղտնագրված գաղտնիքների պահեստավորում և զգուշացնում է հավատարմագրերը կոշտ կոդավորելու դեմ (Replit Secrets
  • Կախվածություններ. Հաստատեք, որ փաթեթները գոյություն ունեն, պահպանվում են և օգտագործում են համատեղելի արտոնագրեր։
  • Թեստեր. Ծածկեք մուտքը, թույլտվությունները, փողը, կործանարար գործողությունները և հիմնական վերականգնման ուղին։
  • Ձախողման մշակում. Որոշեք, թե ինչ են տեսնում օգտատերերը, երբ API-ն ժամանակի սպառում է ունենում, webhook-ը գալիս է երկու անգամ, կամ տվյալների բազայի գրումը կիսով չափ է ձախողվում։
  • Մատյաններ և ահազանգեր. Գրանցեք բավարարը՝ միջադեպը վերակառուցելու համար, առանց զգայուն արժեքներ մատյանագրելու։
  • Տեղակայում. Բաժանեք խմբագրիչի նախադիտումը տեղակայված միջավայրից և դիմացկուն տվյալների համար օգտագործեք դիմացկուն պահեստ։ Replit-ի հրապարակման փաստաթղթավորումը, օրինակ, տեղակայումը նկարագրում է որպես առանձին ակնթարթային պատկեր և խորհուրդ է տալիս չհենվել տեղակայման ֆայլային համակարգի վրա հավելվածի տվյալների համար (Replit Publishing
  • Սեփականություն. Անվանեք այն մարդուն, ով կարող է հետգլորել, բանալին փոխել, տվյալները վերականգնել և որոշել՝ հավելվածը առցանց մնա, թե ոչ։

Ամբողջական հաջորդականության համար օգտագործեք vibe նախատիպից արտադրական ստուգացանկ։

Ավելի լավ եղանակ՝ vibe-coded արտադրանք հրահանգելու համար

Մի խնդրեք ամբողջ արտադրանքը մեկ անթափանց թռիչքով։ Կառուցեք վերանայելի հատվածներ։

Օգտագործեք այսպիսի հաջորդականություն.

  1. Սահմանեք օգտատիրոջը և աշխատանքը։ «Սպասարկման ղեկավարը ամեն առավոտ վերանայում է չլուծված հաշվարկման տոմսերը։»
  2. Սահմանեք հաջող ուղին։ «Ցույց տուր հերթը, բացիր մեկ տոմս և սևագրիր պատասխան՝ հաստատված քաղաքականության տեքստից։»
  3. Սահմանեք սահմանները։ «Մի տրամադրիր փոխհատուցումներ, մի փակիր հաշիվներ և մի բացահայտիր վճարման մանրամասներ։»
  4. Սահմանեք բացառության ուղին։ «Եթե քաղաքականությունը բացակայում է կամ հակասական է, տոմսը ուղարկիր մարդուն՝ աղբյուրի հատվածներով։»
  5. Սահմանեք ապացույցները։ «Գրանցիր աղբյուրի ID-ները, սևագիրը, վերանայողի որոշումը և վերջնական գործողությունը։»
  6. Ավելացրեք մեկ ինտեգրացիա միաժամանակ։ Ստուգեք յուրաքանչյուր գործիք և թույլտվություն՝ նախքան հաջորդը ավելացնելը։

Սա գեներացված համակարգը դարձնում է ավելի հեշտ ստուգելի և AI-ին ավելի քիչ տեղ է տալիս լուռ ճարտարապետություն հորինելու համար։

Պահե՞լ, ամրացնե՞լ, թե վերագրել

Պարտադիր չէ վերագրել ամեն vibe-coded հավելված։

Պահել

Պահեք իրականացումը, երբ կոդը հասկանալի է, ճարտարապետությունը համապատասխանում է արտադրանքին, կրիտիկական ուղիները թեստեր ունեն, կախվածությունները ընդունելի են, և թիմը կարող է այն պահպանել։

Ամրացնել

Ամրացրեք գոյություն ունեցող հավելվածը, երբ արտադրանքի տրամաբանությունը ճիշտ է, բայց համակարգին պակասում են վերահսկիչներ, ինչպիսիք են սերվերի կողմի լիազորումը, գաղտնիքների կառավարումը, թեստերը, մոնիթորինգը, պահուստային պատճենները, արագության սահմանափակումները կամ անվտանգ տեղակայման գործընթացը։

Վերագրել կրիտիկական ուղին

Վերագրեք միայն այն մասերը, որոնց վարքին կամ սեփականությանը հնարավոր չէ վստահել։ Սովորական թեկնածուներն են նույնականացումը, վարձակալների մեկուսացումը, վճարման վիճակը, կործանարար վարչական գործողությունները և տվյալների միգրացիաները։

Որոշումը պետք է հետևի պահեստից և աշխատող համակարգից եկող ապացույցներին։ Այն չպետք է հետևի ամոթին այն մասին, թե ինչպես է կառուցվել առաջին տարբերակը։

Ինչ է ավելացնում արտադրական պատրաստվածությունը

Vibe coding-ը կարող է ստեղծել արտադրանքի մակերեսը և իրականացման մասերը։ Արտադրական պատրաստվածությունը ավելացնում է այն շերտը, որը համակարգը դարձնում է վստահելի.

  • սահմանափակված թույլտվություններ.
  • հաստատման դարպասներ ռիսկային գործողությունների համար.
  • կրկնվող գնահատումներ և թեստեր.
  • մատյաններ, հետքեր և ահազանգեր.
  • կրկնափորձեր և իդեմպոտենտություն.
  • աստիճանական թողարկում և հետգլորում.
  • անվանված օպերատոր և մարդուն փոխանցման փաստաթղթավորում։

Դա նույն տարբերությունն է, որը բացատրված է ինչ է արտադրական AI գործակալը հոդվածում, թեև vibe-coded հավելվածը պարտադիր չէ, որ պարունակի գործակալ։

Ավելի նեղ ուղղումների համար տես API token-ների պաշտպանություն, թեստավորում և CI/CD և vibe-coded կայքի ամրացման ստուգացանկ։

Ինչպես է Dali-ն մոտենում vibe-coded արտադրանքներին

Dali-ն սկսում է աշխատող արտադրանքից և պահեստից եկող ապացույցներից։ Մենք քարտեզագրում ենք կրիտիկական ուղիները, որոշում ենք, թե որ մասերն են անվտանգ պահելու համար, պարունակում ենք հրատապ բացահայտումը և ամրացնում կամ վերակառուցում ենք միայն այնտեղ, որտեղ ռիսկը արդարացնում է դա։

Եթե արդեն ունեք աշխատող նախատիպ, օգտակար հաջորդ քայլը արտադրական պատրաստվածության վերանայումն է, ոչ ավտոմատ վերագրում։ Մատակարարման մոդելի համար տես լուծումներ։

FAQ

  • Արտահայտությունը լայնորեն կապվում է Andrej Karpathy-ի նկարագրած մոտեցման հետ, որի դեպքում մշակողը բնական լեզվով հրահանգներ է տալիս AI ծրագրավորման համակարգին և սահմանափակ ուղիղ ստուգմամբ ընդունում ստացված կոդը։ Այսօր մարդիկ տերմինը նաև ավելի լայն են օգտագործում խոսակցական AI-օժանդակված արտադրանքի մշակման համար, ուստի նախատեսված կոդի վերանայման մակարդակը պետք է հայտարարել, ոչ ենթադրել։