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 لازمی ہے۔"
评论
暂无已展示的评论。
发表评论(匿名)