اے آئی کوڈنگ ایجنٹس کو چیٹ باکسز کا استعمال کیوں نہیں کرنا چاہیے
میں جو بھی اے آئی ٹول کھولتا ہوں وہ ایک جیسا ہی نظر آتا ہے۔ یہ ایک ٹیکسٹ فیلڈ میں ٹمٹماتا ہوا کرسر ہے۔ Claude Code اور Codex وہی انٹرفیس استعمال کرتے ہیں جو ہم 1999 میں IRC بوٹس کے لیے استعمال کرتے تھے۔
چیٹ بنانا ایک آسان طریقہ ہے۔ یہ ڈیمو کو اچھا دکھاتا ہے۔ لیکن چیٹ محض ایک عارضی جگہ (placeholder) ہے۔ اصل مقصد ایک بہتر چیٹ باکس بنانا نہیں ہے۔ اصل مقصد چیٹ باکس کا ہونا ہی نہ ہو۔
چیٹ انٹرفیس کام کا بوجھ واپس آپ پر ڈال دیتا ہے۔
آپ کو معلوم ہونا چاہیے کہ کیا پوچھنا ہے۔ آپ کو اسے بہتر طریقے سے بیان کرنا ہوگا۔ آپ کو طویل پیراگراف پڑھنے ہوں گے اور انہیں عملی اقدامات میں بدلنا ہوگا۔ ماڈل سوچتا ہے، لیکن انٹرفیس کا کام آپ کو اپنے ذہن میں کرنا پڑتا ہے۔
یہ کوڈنگ ایجنٹس کے لیے ایک مسئلہ ہے۔ کوڈنگ مکانی (spatial) اور ساختی (structural) ہوتی ہے۔ آپ فائلوں، diffs، اور dependency graphs کے ساتھ کام کرتے ہیں۔ ان میں سے کوئی بھی چیز پیراگراف نہیں ہے۔ ٹیکسٹ اسٹریم کے ذریعے کوڈ کو سمجھنے کی کوشش کرنا ایسا ہی ہے جیسے فون پر کسی کی وضاحت سن کر نقشہ پڑھنے کی کوشش کرنا۔
جب کوئی ایجنٹ کسی فنکشن کو ریفیکٹر (refactor) کرتا ہے اور آپ کو تین جملوں میں بتاتا ہے کہ اس نے کیا بدلا ہے، تو یہ ہوم ورک ہے، مدد نہیں۔
ماڈل کوڈ، لے آؤٹس اور کمپوننٹس تیار کر سکتا ہے۔ اسے کام کی وضاحت کے بجائے کام کے لیے انٹرفیس تیار کرنا چاہیے۔
خلاصے کے بجائے، مجھے accept اور reject بٹنز کے ساتھ ایک diff view دیں۔
یہ پوچھنے کے بجائے کہ "اس فنکشن کو کس نے کال کیا،" مجھے ایک call graph دکھائیں جس پر میں کلک کر سکوں۔
بارہ فائلوں کو چھونے کے بعد اعتراف کرنے کے بجائے، اسے چلانے سے پہلے مجھے ان فائلوں کی چیک لسٹ دکھائیں۔
انٹرفیس ماڈل کا ایک رواں آؤٹ پٹ ہونا چاہیے۔ UI کو کام کے لحاظ سے بدلنا چاہیے۔ اسے اس فیصلے کی شکل اختیار کر لینی چاہیے جو آپ کو اس وقت کرنے کی ضرورت ہے۔
یہ بھروسے کے بارے میں ہے۔
چیٹ ایجنٹ کو الفاظ کے پیچھے چھپا دیتی ہے۔ اگر کوئی ایجنٹ کہتا ہے "میں نے ٹیسٹ اپ ڈیٹ کر دیے ہیں،" تو آپ کو اس کی بات پر یقین کرنا پڑتا ہے۔ یا تو آپ اس پر اندھا دھند بھروسہ کرتے ہیں یا خود فائلوں میں کھوج لگاتے ہیں۔ دونوں صورتوں میں ناکامی ہوتی ہے۔
ایک تیار کردہ انٹرفیس کام کا معائنہ کرنا آسان بنا دیتا ہے۔ diff وہیں ہوتا ہے۔ منصوبہ وہیں ہوتا ہے۔ ایجنٹ "مجھ پر بھروسہ کریں" کہنا چھوڑ دیتا ہے اور "اسے دو سیکنڈ میں تصدیق کریں" کہنا شروع کر دیتا ہے۔
میں جانتا ہوں کہ چیٹ کی اہمیت ہے۔ زبان ابہام (ambiguity) کو سنبھالتی ہے۔ بعض اوقات پیچیدہ خیال کا اظہار کرنے کے لیے الفاظ ہی واحد ذریعہ ہوتے ہیں۔
حل زبان کو ختم کرنا نہیں ہے۔ زبان کو بطور انٹری پوائنٹ استعمال کریں اور تیار کردہ UI کو بطور جواب۔
اپنی درخواست سادہ الفاظ میں ٹائپ کریں۔ اس درخواست کے لیے فوری طور پر صحیح انٹرفیس حاصل کریں۔ زبان اندر جاتی ہے، اور انٹرفیس باہر آتا ہے۔ چیٹ صرف سامنے کا دروازہ ہے، پورا گھر نہیں۔
ہم نے بہتر چیٹ پروڈکٹس بنانے کی کوشش میں سال گزار دیے۔ ہم نے میموری اور رفتار پر توجہ دی۔ لیکن ہم اسی چھوٹے سے ٹیکسٹ باکس کے اندر ہی رہے۔
اصل چھلانگ باکس کے اندر بہتر جواب ملنا نہیں ہے۔ اصل چھلانگ باکس کا تحلیل ہو جانا ہے۔ ماڈل کو آپ کے ہاتھ میں بالکل وہی سطح (surface) تھما دینی چاہیے جس کی آپ کو اپنا اگلا فیصلہ کرنے کے لیے ضرورت ہے۔
ایجنٹس کافی سمجھدار ہیں۔ ہمیں بس ان سے کہنا ہے کہ وہ باتیں کرنا چھوڑیں اور وہ ٹولز بنانا شروع کریں جن کی ہمیں ضرورت ہے۔
Source: https://dev.to/nishkarsh_gupta/why-ai-coding-agent-shouldnt-hand-us-a-chat-box-3ccj
Optional learning community: https://t.me/GyaanSetuAi
