ٹھیک ہے، تو چیٹ جی بی ٹی نے میرا کوڈ ٹھیک کیا۔ ہائے!

1-debugging(1).png

تو. پروگرامنگ. وہ لوگ جو زندگی بھر پروگرام کرتے ہیں کے لئے، یہ ایک لگاتار کام ہے ہمیشہ کھلاڑی کا گیم: ایک لائن کوڈ دوسری پر جمع کرتے رہو، کوڈ کی ایک عمارت بناؤ جسے تم امید کرو کہ وہ قوی ہو کہ گر نہ جائے۔

لیکن یہ ہمیشہ کام کرتا ہے۔ کوڈ پہلی بار چلانے سے ہمیشہ کام نہیں کرتا ہے۔ اور اس لئے ہر برنامج نویس کے لئے ایک اہم ہنر دبگنگ ہے - کوڈ کی وجہ سے چلانے یا کوئی غیر متوقع یا ناپسندیدہ چیزیں کر رہا ہے یا نہیں کر رہا ہے تلاش کرنے کی فن و علم.

یہ تھوڑا سا جاسوسی کرنے کی طرح ہے، چیزوں کے پتہ لگانے اور پھر یہ جاننا کہ وہ پتہ کیا کہنے کی کوشش کر رہے ہیں۔ یہ بہت تکلیف دہ اور بہت خوش کن ہوتا ہے، کبھی کبھی بالکل ایک ہی وقت میں۔

میں بہت زیادہ ڈیبگنگ کرتا ہوں۔ یہ صرف اس لئے نہیں کہ کوڈ پہلی بار چلانے پر کام نہیں کرتا ہے۔ بلکہ میں ڈیبگنگ استعمال کرتا ہوں تاکہ پتہ چلے کہ کوڈ کیسے چل رہا ہے، اور پھر راستے میں ترمیم کرتا ہوں۔

لیکن جبکہ اچھی ڈیبگنگ کاری کے لئے ایک خاص مہارت کی ضرورت ہوتی ہے، یہ بنیادی طور پر صرف پروگرامنگ ہی ہے۔ جیسے ہی آپ وہ جانتے ہیں کہ کوئی بھی کوڈ بلاک کام نہیں کر رہا ہے تو آپ کو سمجھنا ہوگا کہ کیسے کچھ لکھنا ہے جو کام کرتا ہو۔

حقیقی دنیا میں ChatGPT کا ٹیسٹنگ

اس ہفتے میں میں اپنے ذمہ داری والے سافٹویئر کے لئے تین کوڈنگ ٹاسکس پر کام کررہا تھا۔ ان میں دو تھے صارفین کی رپورٹ کردی گئی خرابیوں کے لئے مرمت کا کام۔ ایک نیا کوڈ تھا جو نئی خصوصیت میں شامل کرنے کے لئے تھا۔ یہ واقعی، روزمرہ کی کوڈنگ کام تھا جو میرے لئے معمولی کام شیڈول کا حصہ تھا۔

مزید معلومات:ChatGPT کیسے کام کرتا ہے؟

میں آپ کو بتا رہا ہوں کہ اب تک، میں نے ٹیسٹ کوڈ کے ساتھ چیٹ جی پی ٹی کا امتحان کیا ہے۔ میں نے منظرے بنائے تھے تاکہ دیکھ سکوں کہ چیٹ جی پی ٹی کتنا اچھا کرتا ہے۔ یہ بار مختلف تھا۔ میں حقیقی کام کرنے کی کوشش کر رہا تھا، اور سوچا کہ کیا چیٹ جی پی ٹی کوئی مفید ذریعہ ہو سکتی ہے تاکہ وہ کام مکمل کیا جا سکتی ہو۔

ایک مختلف طریقہ ہے چیٹ جی پی ٹی (ChatGPT) دیکھنے کا۔ ٹیسٹ سیناریوز عموماً طراحی شدہ اور سادہ ہوتے ہیں۔ حقیقی دنیا میں کوڈنگ یہی ہے کہ کسٹمر سپورٹ کی تکلیف کاٹ وغیرہ کاٹ کر کسٹمر کی تجربہ منفی ہونے کا باعث کیا گیا۔

تو چلو، اس کے ساتھ ہم وہ تسک دیکھتے ہیں اور دیکھتے ہیں کہ چیٹ جی پی ٹی کیا کام کیا ہے.

ریگولر ایکسپریشن کوڈ کو دوبارہ لکھیں

کوڈنگ میں، ہمیں ٹیکسٹ میں بہت سارے نمونے تلاش کرنے ہوتے ہیں۔ اس کام کے لئے ہم ایک ریاضیاتی طرز کے طور پر علامتیاتی محاصر استعمال کرتے ہیں، جسے عام زبان میں ریگولر ایکسپریشن کہتے ہیں۔ میں دہائیوں سے ریگولر ایکسپریشن بنانے کا کام کر رہا ہوں، لیکن مجھے اس سے ناپسند ہے۔ یہ تھکا دینے والا، غلطیوں کا امکان ہوتا ہے، اور غیروں کا کام ہوتا ہے۔

بھی:میں ChatGPT کا استعمال کر رہا ہوں تا کہ میں کوڈ کو تیزی سے درست کر سکوں، لیکن اس کی قیمت کیا ہوگی؟

تو جب ایک باگ رپورٹ میں آیا جو مجھے بتا رہی تھی کہ میرا کوڈ صرف عددوں کو ہی قبول کر رہا ہے جبکہ یہ ڈالر اور سنٹس کو بھی قابل قبول کرنا چاہئے ( دوسرے الفاظ میں، کچھ ہندسوں کے بعد شاید ایک ڈاٹ، ہو جبکہ اگر ایک ڈاٹ ہو تو، تو اس کے بعد اور دو ہندسوں کو) تو میں جانتا تھا کہ مجھے ریگولر ایکسپریشن کوڈنگ کا استعمال کرنا ہوگا۔

میرے خیال میں یہ تکالیف کرنا بہت زحمت اور اکساٹ ہوتا ہے، اس لئے میں نے چیٹ جی پی ٹی سے مدد طلب کی. یہاں میں نے کیا سوال کیا:

2-regex-q.jpg

اور یہاں آرٹیفیشل انٹیلیجنس کی بہت اچھی طرح سے تشریع کی گئی ردعمل پیش کی گئی ہے (تراشی گئی مربع پر کلک کریں تاکہ تصویر بڑھ جائے):

3 تصویری نمونہ -a.jpg

میں نے ChatGPT کے کوڈ کو اپنی تفصیل میں ڈالا اور یہ کام کر گیا۔ بال باندھنے کی بجائے میرے پاس تقریباً پانچ منٹوں میں پرومپٹ بنانے اور ChatGPT سے جواب حاصل کرنے کا وقت لگا۔

ایک ایکسٹیرے کو دوبارہ تشکیل دینا

اگلا کام ترتیب دوبارہ قائم کرنا تھا۔ مجھے ارے کوڈ کرنے کا شوق ہے، مگر یہ بھی پریشانی کا باعث بن سکتا ہے۔ لہذا، میں نے ایک بار پھر ChatGPT کو آزمایا۔ مکمل ناکامی ہوئی۔

بھی:چیٹ جی پی ٹی کو ماخذ اور حوالے فراہم کرنے کے طریقے

میں اس کام کو کرنے کے لئے شاید دس مختلف مشورے دی گئیں۔ کچھ جوابات ممکن تھے لیکن جب میں کوڈ کو چلانے کی کوشش کی، تو کوڈ میں خرابی آگئی۔ کچھ کوڈ کریش کر گئے۔ کچھ کوڈ نے خرابی کے کوڈز پیدا کیے۔ اور کچھ کوڈ چل گیا، لیکن وہ کام نہیں کیا جو میں چاہتا تھا۔

تقریبا ایک گھنٹے کے بعد، میں ہار مان لیا اور اس کام کا معمولی طریقہ استعمال کرکے واپس گئا۔ github اور StackExchange میں جا کر دیکھا کہ کیا کچھ مثالیں ہیں جو میں کرنے کی کوشش کر رہا تھا، اور پھر اپنا کوڈ لکھا۔

اب تک، چیٹ جی پی ٹی تجربے میں ایک جیت اور ایک ہار ہو چکی ہے۔ لیکن اب میں مُشکل بڑھانے کا ارادہ رکھتا تھا۔

میرے کوڈ میں خرابی تلاش کرنا

ٹھیک، تو یہ اگلا حصہ سمجھانا مشکل ہوگا. لیکن سوچو کہ اگر تمہیں (عموماً کوئی انسان اور میرے کام کو صرف کاپی اور سپامی ویب سائٹس پر دوبارہ چھاپتی ہیں) سمجھانا مشکل ہوتا ہے، تو سمجھانا ای آئی کو مزید مشکل ہوگا۔

میں نئے کوڈ لکھ رہا تھا۔ میرے پاس ایک فنکشن تھا جس میں دو پیرامیٹرز تھے، اور میرے کوڈ کو دو پیرامیٹرز بھیجنے والے کوڈ کا کالنگ اسٹیٹمنٹ تھی۔ فنکشنز چھوٹے سیاہ خانوں کی طرح ہوتے ہیں جو خاص کام کرتے ہیں اور وہ کوڈ کی دیگر لائنز سے مانگی جاتی ہیں (جب بھی آنے والے ہوتے ہیں)۔

مسئلہ یہ تھا کہ میں کوئی خامی پیش آ رہی تھی

اس پیغام میں اہم حصہ وہی ہے جہاں ایک جگہ پر "1 پاس" دیکھایا جاتا ہے اور دوسری جگہ پر "بالکل 2 متوقع" دیکھایا جاتا ہے۔ میں نے کالنگ اسٹیٹمنٹ اور فنکشن کی تعریف دیکھی اور دونوں جگہوں پر دو پیرامیٹرز تھے۔

علاوہ از یہ: کتاب، مضمون یا تحقیقی کاغذ کی خلاصہ کرنے کے لئے ChatGPT کا استعمال کرنے کا طریقہ

بیسکٹوں کا کیا کریں؟

تقریباً پاندرے منٹ عمیق نااہلی کے بعد ، میں نے اسے AI کو پیش کرنے کا فیصلہ کیا کہ کیا یہ میری مدد کر سکتا ہے۔ تو ، میں نے درج ذیل پرومپٹ لکھا:

4-untitled.jpg

میں نے اس کو وهم میں کرایا گیا کوڈ کے لائن، میں نے اس کو خود تفصیل کردیا، اور میں نے اسے ہینڈلر دکھایا، یہ کچھ کوڈ کا ٹکڑہ ہے جو میرے مین پروگرام کے ہک میں سے بیند کیے گئے فنکشن کو ڈسپیٹچ کرتا ہے۔

چند سیکنڈوں کے اندر، چیٹGPT نے اس طرح جواب دیا (تسمہ بڑھانے کے لئے چھوٹا مربع دبائیں):

ورڈپریس میں اینڈ لگانے کے ساتھ خاموش ہونے والی خرابی

جیسا کہ مشورہ دیا گیا، میں نے add_filter() تفاعل کے چوتھے پیرامیٹر کو 2 میں اپ ڈیٹ کیا اور یہ کام کر گیا!

ChatGPT نے کوڈ کے اشیاء لیئے، انہیں تجزیہ کیا اور مجھے ایک تشخیص فراہم کی. واضح رکھنے کے لئے، اس کی تجویز کو کرنے کے لئے، اسے WordPress ہکس کو کیسے ہینڈل کرتا ہے (یہیں add_filter کا کام کرتا ہے) اور یہ کام کرنے والے اور تشکیل دیے گئے کوڈ کی رویوں کے رفتار کو کیسے ترجمہ کرتا ہے، کا عملی پس منظر سمجھنا ضروری تھی.

بھی: میں نے ChatGPT سے درخواست کی کہ مجھے ضرورت تھی ورڈپریس پلگ ان بنانے کی. یہ نے کم از کم 5 منٹ میں بنا دیا

مجھے اسے معجزے کی علامت لگانی پڑتی ہے، بے شک یہ "مستقبل میں رہنے والے" کی طرف سے معجزہ دار ہے۔

اصل مطلب کیا ہے؟

جیسا کہ میں نے پہلے بتایا، ڈیبگنگ نے فن کا ہر مقام لیا ہے اور سائنس کا بھی تھوڑا سا حصہ ہے۔ زیادہ تر اچھے ڈیویلپمنٹ ماحول میں مضبوط ڈیبگنگ ٹولز شامل ہیں جو پروگرام کے دورانیے کا ڈیٹا پھلاؤ دیکھنے دیتے ہیں، اور یہ بگز تلاش کرنے کے وقت مدد کرتے ہیں۔

انتباه: یہ ماہرین ہیکرز سے AI کے حق میں دوری کرنے کیلئے دوڑ رہے ہیں

لیکن جب آپ پھنس جاتے ہیں تو مدد حاصل کرنا عموماً مشکل ہوتا ہے. یہ اس لئے ہے کہ چاہے وہ آپ کا قریبی ساتھی ہو، وہ آپ کے دیبگ کر رہے کوڈ کے کامل حد تک آشنا نہیں ہو سکتا. وہ پروگرام جس پر میں کام کر رہا ہوں 563 فائلوں پر مشتمل 153,259 لائنوں کے کوڈ کے ایک چھوٹے سے دھرے کی حیثیت رکھتا ہے -- اور پروگراموں کی حوصلہ افزائی کی بات ہو رہی ہے.

تو، اگر میں نے ایک ساتھی سے مدد حاصل کرنا چاہا ہوتا، تو میں نے تقریباً ویسے ہی درخواست تیار کرنی پڑتی جیسے میں نے چیٹ جی پی ٹی کو بھیجی ہے۔

لیکن یہاں کچھ سوچنے کی بات ہے: میں نے یاد رکھا ہے کہ ہینڈلر لائن شامل کرنا چاہیے تھا حتٰی کہ میں نے اس بات کو نہیں سمجھا تھا کہ خرابی وہیں تھی۔ ٹیسٹ کی طرح، میں نے چیٹ جیپی ٹی کو بھیپلز میری مسئلہ کا تشخیص کرنے کے لئے پوچھا، لیکن وہ مدد نہیں کر سکا۔ لہذا ChatGPT کے دباگ کرنے کے لئے حال حاضر، 2023 میں کچھ بہت ہی پابندیاں ہیں۔

علاوہ ازیں: تجربہ کرنے کے لئے بہترین AI چیٹ بوٹس

بنیادی طور پر، آپ کو درست طور پرسش کرنے کا طریقہ جاننا ہو گا، اور یہ پرسشوں کو مختصر ایسا ہونا چاہیے کہ چیٹ جی پی ٹی کو پوری بات کو ایک سوال میں حاصل کرنے کے لئے سنبھالنے کی قابلیت ہو. اس کے لئے واقعی پروگرامنگ کی معلومات اور تجربہ ہونا ضروری ہے.

کیا میں نے خود ہی بغ کو درست کر سکتا تھا؟ بے شک. میرے پاس ایسا کوئی بغ نہیں تھا جسے میں نے درست نہیں کر سکا ہو. لیکن یہ جاننا کہ کیا دو گھنٹے یا دو دن (اس کے علاوہ پیتزا، ترکیبی لفظیں، اور کافیائین کی بہت سی منہدمات کے ساتھ) کا وقت لیتا، اتنی تقاضا کے بیچ میں، یہ میرے پاس نہیں تھا. بتا سکتا ہوں کہ چیٹ جی.پی.ٹی. نے اسے چند منٹوں میں درست کر دیا اور مجھے بہت سارا وقت اور مصیبت بچا لیا.

(ممکنہ کچھ خوفناک) مستقبل کی طرف نظر

میں ایک بہت دلچسپ مستقبل کا خواب دیکھتا ہوں ، جہاں آپ کو ممکن ہو گا کہ چیٹ جی پی ٹی کوڈ کی تمام 153 ہزار لائنوں کو ڈال کر پوچھیں کہ آپ کو کیا مرمت کرنا ہے. مائیکروسافٹ(جو گِٹ ہب کو مالک ہے) پہلے ہی گِٹ ہب کے لئے "کوپائلٹ" ٹول دِلا رہی ہے تاکہ پروگرامرز کو کوڈ تیار کرنے میں مدد مل سکے. مائیکروسافٹ نے بھی بلینن دالرز کا نقصاناٹھ کرتے ہوئے اوپن ای ای کے مالک بنی ہوئی اوپن ای ای کے ڈیویلپرز میں سرمایہ کاری کی ہے.

تاہم خدمت ممکن ہے وہ صرف مائیکروسافٹ کے اپنے ڈویلپمنٹ اینوائرنمنٹس تک محدود ہو سکتی ہے، میں ایک مستقبل دیکھ سکتا ہوں جہاں AI کو گٹ ہب میں موجود تمام کوڈ، اور اس طرح آپ گٹ ہب پر کچھ بھی پروجیکٹ کی تمام کوڈ کا رسائی ہوتی ہے۔

بھی: میں نے چیٹ جی پی ٹی سے تجویز کی تھی کہ وہ Star Trek کی ایک چھوٹی سی قسط لکھے۔ واقعی وہ کامیاب ہوگئی

میرے دیے گئے کوڈ سے چیٹ جی پی ٹی نے میری غلطی کو کتنا اچھی طرح سے پہچان لیا ہے، میں بلا شک ایسا مستقبل دیکھ سکتا ہوں جہاں پروگرامرز صرف چیٹ جی پی ٹی (یا مائکروسافٹ کی برانڈ کی مماثل) سے مکمل پروجیکٹس کے بگز کو تلاش کرنے اور تدویروں کو درست کرنے کے لئے پوچھ سکتے ہیں۔

اور یہیں میں اس بات چیت کو ایک بہت ہی تاریک جگہ پر لے جاتا ہوں۔

تصور کریں کہ آپ چیٹGPT سے پوچھ سکتے ہیں کہ وہ آپ کے گِٹ ہب ریپوزٹری کو کِسی مخصوص پروجیکٹ کے لئے دیکھے اور بگز تلاش کرکے درست کرسکے۔ ایک طریقہ یہ ہوسکتا ہے کہ یہ آپ کو ہر بگز کو منظور کرنے کے لئے پیش کرے تاکہ آپ اس کو درست کرسکیں۔

لیکن وہ صورتحال کیا ہوگی جب آپ ChatGPT سے صرف باگز کو دور کرنے کے لئے کہتے ہیں اور آپ خود تمام کوڈ کو دیکھنے کی پریشانی نہیں کرتے ہیں؟ کیا یہ کڈ میں کچھ بد کی چیز کو شامل کرسکتا ہے؟

علاوہ: بارڈ بمقابلہ چیٹ جی پی ٹی: کیا بارڈ آپ کو کوڈنگ میں مدد کر سکتا ہے؟

اور ایک ایسی صورتحال کے بارے میں کیا کہا جائے جب ہمارے پاسظیفہ ایک خوبصورت قابلیت رکھنے والی AI ہو، جو گِٹ ہب مخزنوں میں تقریباً دنیا بھر کے تمام کوڈ تک رسائی حاصل کر سکتی ہے؟ اس تمام کوڈ میں یہ AI کیا چھپا سکتی ہے؟ اگر یہ ہمارے تمام کوڈ تک رسائی حاصل کر سکتی ہے تو دنیا کے انفراسٹرکچر پر یہ AI کتنا خطرناک شرارت انگیز کام کرسکتی ہے؟

ایک سادہ خیالی کھیل کھیلیں۔ کیا ہوگا اگر ای ای کو واحد ہدایت کے طور پر ایزیموف کا پہلا قاعدہ دیا جائے گا؟ جو ہے "یہاں روبوٹ انسان کو نقصان نہیں پہنچاسکتا، یا عمل نہ کرکے کسی کو نقصان میں مبتلا نہ کرسکتا"۔ کیا یہ نہیں تشخیص دے سکتی کہ ہماری تمام زیرساخت ہمیں نقصان پہنچا رہی ہے؟ اپنے پاس ہمارا تمام کوڈ ہونے کی بنا پر، وہ صرف ہمیں اپنے آپ سے بچانے کے لئے بیسٹ کھڑکیاں بناسکتی ہے جو اسے مثلاً بجلی کے گریڈ کو بند کرنے، جہاز کو زمین پر لانا، اور بزرگ لاک سڑکوں میں قید کرسکتی ہیں۔

مجھے بالکل واضح ہے کہ اوپر دی گئی صورتحال بہت مبالغہ آرائی اور خبرداری کی ہے۔ لیکن یہ بھی ممکن ہے۔ بہرحال، جبکہ پروگرامرز اپنے کوڈ کو گیت ہب پر دیکھتے ہیں، لیکن کسی کو بھی ممکن نہیں ہے کہ ان کے تمام کوڈ کی تمام لائنوں کو دیکھا جائے۔

علاوہ مزید: Excel فارمولوں کو تحریر کرنے کے لئے چیٹ جی پی ٹی کا استعمال کیسے کریں

میرے لئے تو میں اس بارے میں زیادہ نہ سوچنے کی کوشش کروں گا۔ میں نہیں چاہتا کہ میں بچے ہوئے طور پر بازو قدم روتا ہوں فرش پر۔ بجائے اس کے، میں کبھی کبھار ChatGPT کا استعمال کروں گا تاکہ وہ میری مدد کرے معمولی تشریحیں لکھنے اور مرمت کرنے میں، سر نیچے رکھتے رہوں گا، اور امید کروں گا کہ آئندہ کی AI ہمیں سب کو مار نہیں ڈالتی جب وہ "کسی انسان کو نقصان پہنچانے نہ دیں" کی کوشش کرتی ہو۔

کیا آپ کو لگتا ہے کہ چیٹ جی پی ٹی دیباگ کرنا مفید ہے یا خطرناک؟ کیا آپ کو خیال ہے کہ ای ایم مثلاً ہماری رات کو ہمیں قتل کریں گی، یا کیا آپ کو لگتا ہے کہ ہم اپنی تباہی کو کھولے منہ سنٹھ رہیں ہوں گے؟ یا کیا آپ بھی ، جیسا کہ میں ، اس بارے میں زیادہ سوچنے سے بچنے کی کوشش کر رہے ہیں کیونکہ یہ آپ کے سر میں درد پیدا کرتا ہے؟ مجھ سے نیچے تبصرے میں بات کریں ابھی تک جب آپ کر سکتے ہیں.

متعلقہ مضامین

مزید دیکھیں >>

HIX.AI کے ساتھ AI کی طاقت کو غیر مقفل کریں!