𝗩𝗶𝗯𝗲 𝗖𝗼𝗱𝗶𝗻𝗴 𝗜𝘀 𝗡𝗼𝘁 𝗔 𝗟𝗲𝘃𝗲𝗹. 𝗜𝘁'𝘀 𝗔𝗻 𝗔𝘅𝗶𝘀.
کارپیتھی (Karpathy) نے وائب کوڈنگ (vibe coding) کی تعریف ایک سادہ لوپ کے طور پر کی ہے: چیزیں دیکھنا، چیزیں کہنا، چیزیں چلانا، اور کاپی پیسٹ کرنا۔
زیادہ تر لوگ اسے خود مختاری (autonomy) کی ایک سیڑھی سمجھتے ہیں۔ وہ اس بات کی پیمائش کرتے ہیں کہ آپ AI کو کتنا کام دیتے ہیں۔
لیولز کچھ اس طرح ہیں:
- L0: کوئی AI نہیں
- L1: AI بطور autocomplete
- L2: ارادے پر مبنی (آپ طے کرتے ہیں کہ کیا، AI طے کرتا ہے کہ کیسے)
- L3: اشتراکی پیئر پروگرامنگ (Collaborative pair-programming)
- L4: نیم خود مختار (Semi-autonomous)
- L5: مکمل طور پر خود مختار (Fully autonomous)
یہ سیڑھی مفید ہے لیکن نامکمل ہے۔ یہ صرف ایک چیز کی پیمائش کرتی ہے: تفویض (delegation)۔
دو ڈویلپرز دونوں لیول 4 پر ہو سکتے ہیں۔ ایک ایسا صاف ستھرا کوڈ بیس (codebase) بناتا ہے جو مزید مضبوط ہوتا جاتا ہے۔ دوسرا ایک ایسا انتشار (mess) پیدا کرتا ہے جو بگڑتا چلا جاتا ہے۔
فرق ان کی مہارت کا نہیں ہے۔ بلکہ یہ ان کے آپریٹر کے نظم و ضبط (operator discipline) کا ہے۔
آپریٹر کا نظم و ضبط یہ ہے کہ آپ کا کتنا کام قابلِ معائنہ حالت (inspectable state) کے طور پر رہتا ہے۔
اگر آپ اپنے فیصلے محفوظ نہیں کرتے، تو آپ کو ہر سیشن میں انہیں دہرانا پڑتا ہے۔ میں نے مہینوں ایک ہی آرکیٹیکچر (architecture) کے بارے میں AI کے ساتھ بحث کرنے میں گزار دیے۔ وہ ہر بار وہی غلط چیز تجویز کرتا تھا۔ میں تھک چکا تھا۔
میں نے فیصلوں کے لیے ایک سادہ اسٹور بنا کر اس کا حل نکالا:
- مجوزہ (Proposed)
- قبول شدہ (Accepted)
- لاک شدہ (Locked)
ایک بار جب کوئی فیصلہ لاک ہو جاتا ہے، تو AI اجازت کے بغیر اسے تبدیل نہیں کر سکتا۔ کام پرسکون ہو گیا۔ کوڈ بیس کا توازن برقرار رہنے لگا۔
وائب کوڈنگ دو محوروں والا نقشہ ہے۔ محور 1 خود مختاری (Autonomy) ہے (L0 سے L5)۔ محور 2 آپریٹر کا نظم و ضبط (Operator Discipline) ہے (کم سے زیادہ)۔
اس کا حساب کتاب کچھ یوں ہے: طویل مدت میں، L1 + زیادہ نظم و ضبط > L5 + کم نظم و ضبط۔
کم نظم و ضبط کے ساتھ زیادہ خود مختاری، انتہائی رفتار اور انتہائی انتشار کا باعث بنتی ہے۔ آپ تیزی سے تکنیکی قرض (technical debt) کی دیوار سے ٹکرا جاتے ہیں۔
نظم و ضبط کے ساتھ کام کرنے کے لیے، میں تین چیزیں استعمال کرتا ہوں:
- ایک پرسونا فائل (persona file): ماڈل کے لیے شناخت، قواعد اور ترجیحات۔
- صرف اضافہ کرنے والے اسٹورز (Append-only stores): لاک شدہ فیصلوں اور فعال تھریڈز (active threads) کے لیے ایک جگہ۔
- نوٹ کرنے کی عادت (capture habit): فیصلے ہوتے ہی انہیں لکھ لینا۔
صرف پرامپٹس (prompts) پر بھروسہ نہ کریں۔ ایک اسٹیٹ مشین (state machine) بنائیں۔
اگر زیادہ AI آپ کو زیادہ فائدہ (leverage) نہیں دے رہا، تو مسئلہ غالباً ماڈل کا نہیں ہے۔ مسئلہ آپ کے دوسرے محور کا ہے۔
آپ حالت (state) کے طور پر کیا محفوظ کرتے ہیں؟ آپ ہر سیشن میں کیا چیز شروع سے دوبارہ بناتے ہیں؟
Source: https://dev.to/jugeni/vibe-coding-is-not-a-level-its-an-axis-12gb
Optional learning community: https://t.me/GyaanSetuAi