AI հարցազրույցների շարք 14. Vibe Coding-ի և Spec Coding-ի տարբերությունը?
Սա խնդիր է, որին բախվում են ծրագրավորողների մեծ մասը։ Vibe Coding-ը և Spec Coding-ը ներկայումս մեծ լեզվական մոդելների (LLM) օգնությամբ ծրագրավորման երկու տարբեր աշխատանքային պարադիգմներ են։ Նրանց հիմնական տարբերությունն այն է՝ AI-ին տրվող «մուտքը» անորոշ զգացողություն է, թե ճշգրիտ ճշգրտում:
1. Խոհարարության օրինակով պարզ նկարագրել Vibe Coding-ի և Spec Coding-ի տարբերությունը
- Vibe Coding = Դուք ընկերոջն ասում եք «Ուզում եմ կծուծ ախորժակ բացող բան», ընկերը իր զգացողությամբ մի ուտեստ է տապակում, դուք համտեսում եք ու ասում «մի քիչ էլ աղ ավելացրու», նա էլ ավելացնում է աղ: Համը կարող է զարմանալի լինել, բայց մեկ այլ խոհարարի մոտ բոլորովին այլ կստացվի:
- Spec Coding = Դուք գրում եք բաղադրատոմսը՝ «Փիցուան չիլի մածուկ 20գ, տավարի միս 150գ, նեխուր 50գ, բարձր կրակի վրա տապակել 2 րոպե, մատուցելուց առաջ ավելացնել 3գ շաքարավազ»: Տարբեր խոհարարներ ըստ բաղադրատոմսի պատրաստում են, համը գրեթե նույնն է լինում:
2. Երկուսի սահմանումները
| Չափանիշ | Vibe Coding | Spec Coding |
|---|---|---|
| Այլ անվանումներ | Զգացողությամբ կառավարվող ծրագրավորում, հուշումով իմպրովիզ | Ճշգրտումներով կառավարվող ծրագրավորում, փաստաթղթերի առաջնահերթություն |
| Մուտքի ձև | «Օգնիր ինձ գեղեցիկ մուտքի էջ պատրաստել, տեխնոլոգիական զգացողությամբ» | «Մուտքի էջը պետք է պարունակի էլ. փոստի/գաղտնաբառի մուտքագրման դաշտ, հիշել ինձ նշան, հաստատել կոճակ; առջևի մասում օգտագործել React + Tailwind; ձևի ստուգման կանոններ՝ էլ. փոստի ձևաչափ, գաղտնաբառի երկարություն≥8; անհաջողության դեպքում ցուցադրել կարմիր հուշում...» |
| AI-ի օգտագործման ձև | Երկխոսական, կրկնողական՝ տալ մոտավոր ուղղություն → տեսնել արդյունքը → կարգավորել | Ինժեներական՝ նախ գրել մանրամասն PRD/տեխնիկական ճշգրտում → AI-ն հիմնվելով ճշգրտման վրա ստեղծում է կոդ |
| Մարդու մասնակցություն | Ցածր՝ կախված AI-ի ստեղծարարությունից, մարդը միայն պատասխանատու է «զգացողության ճիշտ լինելու» համար | Բարձր՝ մարդը նախ ավարտում է դիզայնը/ճարտարապետությունը, AI-ն հիմնականում կատարում է |
| Տիպիկ սցենարներ | Արագ նախատիպեր, անձնական փոքր գործիքներ, UI հետազոտում, ստեղծարար կոդ գրել | Արտադրական մակարդակի համակարգեր, թիմային աշխատանք, պահանջում է պահպանելի/թեստավորվող կոդ |
3. Աշխատանքային հոսքերի համեմատություն
Vibe Coding-ի հոսք
- Անորոշ գաղափար՝ «Ուզում եմ գրել վեբ քերիչ, որը կհավաքի Zhihu-ի թեժ ցուցակը»:
- Գրել առաջին prompt-ը՝ ուղղակի AI-ին կոդ ստեղծելու հանձնարարություն:
- Գործարկել → սխալ → սխալի հաղորդագրությունը տեղադրել → AI-ն ուղղում է:
- Ինտերֆեյսը տգեղ է զգում → «Կոճակը մի քիչ կլորացրու, ֆոնը դարձրու գրադիենտ կապույտ» → AI-ն փոխում է:
- Ֆունկցիան պակասում է → «Ավելացրու CSV-ում պահպանելու ֆունկցիա» → AI-ն ավելացնում է:
- Կրկնել 3-5 քայլերը մինչև «զգացողությունը բավարար է»:
Spec Coding-ի հոսք
- Գրել ճշգրտման փաստաթուղթ՝ հստակեցնել մուտք/ելք, տվյալների կառուցվածք, սխալների մշակում, կատարողականի պահանջներ, ոչ ֆունկցիոնալ պահանջներ (օրինակ՝ գրանցում, սահմանափակում):
- Ճշգրտումը բաժանել առաջադրանքների՝ օրինակ՝ առաջադրանք 1. իրականացնել
fetch_hot_topics()ֆունկցիան՝ հետևելով spec-ի API ստորագրությանը: - Յուրաքանչյուր առաջադրանք տալ AI-ին իրականացնելու՝ prompt-ում ներառել ֆունկցիայի ստորագրություն, մեկնաբանություններ, թեստային դեպքերի սպասելիքներ:
- Մարդու կողմից ստուգում և վավերացում՝ ապահովել, որ համապատասխանում է ճշգրտմանը, գործարկել միավորային թեստերը:
- Ինտեգրում և ռեգրեսիա:
4. Առավելությունների և թերությունների համեմատություն
| Հատկանիշ | Vibe Coding | Spec Coding |
|---|---|---|
| Սկսելու արագություն | Շատ արագ, մի քանի րոպեում ստեղծվում է նախատիպ | Դանդաղ, պահանջվում է փաստաթղթեր գրել, առաջադրանքներ բաժանել |
| Կոդի որակ | Ցածր (հնարավոր է ավելորդ, անհամապատասխան, թաքնված սխալներ) | Բարձր (ընթեռնելի, թեստավորվող, համապատասխանում է ճարտարապետությանը) |
| Պահպանելիություն | Վատ, հետագայում եկողները չեն հասկանում «ինչու է այդպես գրված» | Լավ, ճշգրտումը հենց փաստաթուղթ է |
| LLM-ից կախվածություն | Շատ բարձր, մոդելը փոխելու դեպքում արդյունքը կարող է լրիվ տարբեր լինել | Միջին, եթե ճշգրտումը հստակ է, տարբեր մոդելները կարող են նման կառուցվածք արտադրել |
| Վրիպազերծման դժվարություն | Դժվար, չգիտես որտեղից է տրամաբանությունը | Հեշտ, ստուգել ըստ spec-ի յուրաքանչյուր կետ |
| Հարմար է թիմային աշխատանքի համար | Գրեթե անհնար | Հնարավոր է (spec-ը որպես հաղորդակցման պայմանագիր) |
| Արդյունքի որոշակիություն | Ցածր, յուրաքանչյուր զրույցի արդյունքը կարող է փոխվել | Բարձր, նույն spec-ը տալիս է կայուն արդյունք |
5. Իրական կյանքում օգտագործման խորհուրդներ
«Աշխատանքում vibe coding-ը և spec coding-ը չեն ընտրվում մեկը մյուսի փոխարեն, այլ խառնված օգտագործվում՝ համապատասխան սցենարում կիրառելով համապատասխան մոտեցումը:
- Հետազոտական փուլում (երբ տեխնոլոգիայի ընտրությունը կամ UI ոճը հստակ չէ), օգտագործել Vibe Coding՝ արագ ստուգելու տարբեր լուծումներ, օրինակ՝ «Tailwind-ով գրել քարտի բաղադրիչ ու տեսնել էֆեկտը»:
- Երբ լուծումը որոշվում է, անմիջապես անցնել Spec Coding-ի՝ հաջողված նախատիպը հակադարձ կարգով կազմել հստակ ճշգրտման (մուտք/ելք, սահմանային պայմաններ, սխալների մշակում), այնուհետև AI-ին կամ մարդուն հանձնարարել խստորեն հետևելով spec-ին վերագրել արտադրական կոդը:
Մաքուր Vibe ռեժիմը հարմար է միայն միանգամյա սկրիպտների կամ ներքին փոքր գործիքների համար; երկարաժամկետ պահպանման, բազմակի օգտագործման համակարգերի համար Spec Coding-ը պարտադիր է:»
评论
暂无已展示的评论。
发表评论(匿名)