← 返回列表

AI seriyali intervyu 14: vibe coding va spec coding farqi?

Bu ko'pchilik dasturchilar duch keladigan muammo. Vibe Coding va Spec Coding hozirda katta til modellari (LLM) yordamida dasturlashda ikki xil ish paradigmasi hisoblanadi. Ularning asosiy farqi: AI ga beradigan 'kirishingiz' noaniq hissiyotmi yoki aniq spetsifikatsiyami.


1. Ovqat pishirish misolida vibe coding va spec coding farqini qisqacha ta'riflash

  • Vibe Coding = Siz do'stingizga 'Men achchiq ovqat yemoqchiman' deysiz, do'stingiz hissiyot bilan bir taom qovuradi, siz tatib ko'rib 'bir oz tuzroq bo'lsin' deysiz, u yana tuz qo'shadi. Taom ajoyib bo'lishi mumkin, ammo boshqa do'st qovursa butunlay boshqacha bo'ladi.
  • Spec Coding = Siz retsept yozasiz: 'Pixian douban 20g, mol go'shti bo'laklari 150g, selderey bo'laklari 50g, kuchli olovda 2 daqiqa qovurish, olovdan oldin 3g shakar qo'shish'. Turli oshpazlar retsept bo'yicha pishirsa, ta'mi bir xil bo'ladi.

2. Ikkalasining ta'rifi

O'lchov Vibe Coding Spec Coding
Boshqa nomi Hissiyotga asoslangan dasturlash, prompt improvizatsiyasi Spetsifikatsiyaga asoslangan dasturlash, hujjat birinchi
Kirish shakli 'Menga chiroyli kirish sahifasini yarat, texnologik tuyg'u berilsin' 'Kirish sahifasida email/parol kiritish maydoni, meni eslab qolish checkbox'i, yuborish tugmasi bo'lishi kerak; frontend React + Tailwind; forma tekshirish qoidalari: email formati, parol uzunligi ≥8; muvaffaqiyatsizlikda qizil xabarni ko'rsatish...'
AI dan foydalanish usuli Suhbatli, iterativ: umumiy yo'nalish berish → natijani ko'rish → qayta sozlash Muhandislik: avval batafsil PRD/texnik spetsifikatsiya yozish → AI spetsifikatsiyaga asosan kod ishlab chiqaradi
Inson ishtiroki Past: AI ga ijodkorlikka tayanib, inson faqat 'hissiyot to'g'rimi' degan savolga javob beradi Yuqori: inson avval dizayn/arxitekturadan o'tadi, AI asosan ijro etadi
Oddiy stsenariylar Tez prototiplash, shaxsiy kichik vositalar, UI izlanish, ijodiy kod yozish Ishlab chiqarish darajasidagi tizimlar, jamoa hamkorligi, texnik xizmat ko'rsatish/test mumkin bo'lgan kod

3. Ikkalasining ish oqimini taqqoslash

Vibe Coding jarayoni

  1. Noaniq fikr: 'Men bir robot yozmoqchiman, Zhihu issiq ro'yxatini olib kel.'
  2. Birinchi promtni yozish: to'g'ridan-to'g'ri AI ga kod yaratishni so'rash.
  3. Ishlatish → xatolik → xatolikni qayta yopishtirish → AI tuzatish.
  4. Interfeys yomon ko'rinadi → 'Tugmani bir oz yumaloq qil, fonni gradient ko'kka o'zgartir' → AI o'zgartiradi.
  5. Funksiya yetishmayapti → 'CSV ga saqlash funksiyasini qo'sh' → AI qo'shadi.
  6. 3-5 qadamlarni takrorlash 'yetarlicha his qilguncha'.

Spec Coding jarayoni

  1. Spetsifikatsiya hujjatini yozish: kirish/chiqish, ma'lumot tuzilmalari, xatoliklarni boshqarish, ishlash talablari, funktsional bo'lmagan talablar (masalan, loglar, cheklovlarni aniqlash).
  2. Spetsifikatsiyani vazifalarga bo'lish: masalan, vazifa1: fetch_hot_topics() funksiyasini amalga oshirish, spec dagi API imzosiga rioya qilish.
  3. Har bir vazifa uchun AI ga amal qilish: promtda funksiya imzosi, izohlar, test namunalari kutilishi.
  4. Inson tomonidan tekshirish va tasdiqlash: spetsifikatsiyaga mos kelishini ta'minlash, birlik testlarini ishlatish.
  5. Integratsiya va regressiya.

4. Afzallik va kamchiliklarni taqqoslash

Xususiyat Vibe Coding Spec Coding
Boshlash tezligi Juda tez, bir necha daqiqada prototip Sekin, hujjat yozish va vazifalarni bo'lish kerak
Kod sifati Past (ortiqchalik, nomuvofiqlik, yashirin xatoliklar bo'lishi mumkin) Yuqori (o'qiladigan, sinovdan o'tkaziladigan, arxitekturaga mos)
Xizmat ko'rsatish qobiliyati Yomon, keyingilar nima uchun shunday yozilganini tushunmaydi Yaxshi, spetsifikatsiya hujjat hisoblanadi
LLM ga bog'liqlik Juda yuqori, modelni o'zgartirish chiqishni butunlay o'zgartirishi mumkin O'rtacha, agar spetsifikatsiya aniq bo'lsa, turli modellar shunga o'xshash tuzilmani ishlab chiqarishi mumkin
Nosozlikni tuzatish qiyinligi Qiyin, kod qayerda mantiqni bilmaslik Oson, spec bo'yicha har bir bandni tekshirish
Jamoa hamkorligiga moslik Deyarli imkonsiz Mumkin (spec muloqot shartnomasi sifatida)
Chiqishning aniqlik darajasi Past, har bir suhbat natijasining siljishi mumkin Yuqori, bir xil spec barqaror chiqishni keltiradi

5. Haqiqiy hayotda foydalanish bo'yicha tavsiyalar

"Ishda vibe coding va spec coding bir-birini tanlash emas, balki aralash qo'llash, mos stsenariyda mos usulni qo'llash kerak:
- Tadqiqot bosqichida (texnologiyani tanlash yoki UI uslubiga ishonch bo'lmaganda), Vibe Coding dan foydalanib turli variantlarni tezda tekshirish, masalan 'Tailwind bilan karta komponentini yozib ko'raylik'.
- Usul aniqlangan zahoti, darhol Spec Coding ga o'tish: muvaffaqiyatli prototipni teskari yo'nalishda aniq spetsifikatsiyalarga (kirish/chiqish, chegaraviy shartlar, xatolarni boshqarish) keltirish, so'ng AI yoki inson tomonidan qat'iy spec bo'yicha ishlab chiqarish kodini qayta yozish.
Sof Vibe rejimi faqat bir martalik skriptlar yoki ichki kichik vositalar uchun mos; uzoq muddatli xizmat ko'rsatish va ko'p odam foydalanadigan tizimlar uchun Spec Coding qat'iy talabdir."

评论

暂无已展示的评论。

发表评论(匿名)