لوکل کوڈنگ ایجنٹس ایک ماحول کا مسئلہ ہیں

اب کوڈنگ ایجنٹ سیٹ اپ کا مرکز صرف پرامپٹ نہیں رہا۔

زیادہ تر ڈیمو پرامپٹ کو ہی مکمل پروڈکٹ کے طور پر پیش کرتے ہیں۔ آپ کسی فیچر کا مطالبہ کرتے ہیں۔ ایجنٹ فائلیں پڑھتا ہے۔ وہ کوڈ ایڈٹ کرتا ہے۔ وہ ٹیسٹ چلاتا ہے۔ ویڈیو میں یہ سب بہت صاف ستھرا نظر آتا ہے۔

حقیقی لوکل ایجنٹس زیادہ پیچیدہ ہوتے ہیں۔ جب ایک ایجنٹ آپ کے ریپوزٹری (repo) کے قریب بیٹھتا ہے، کمانڈز چلاتا ہے، اور ٹولز استعمال کرتا ہے، تو بنیادی سوال بدل جاتا ہے۔

سوال یہ نہیں ہے کہ "کیا میں نے ایک بہترین پرامپٹ لکھا ہے؟" بلکہ سوال یہ ہے کہ "میں نے اس چیز کو کیسا ماحول فراہم کیا ہے؟"

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

لوکل ایجنٹ کو سیٹ اپ کرنا ڈویلپر انفراسٹرکچر کا حصہ ہے۔ یہ محض ایک AI ٹول انسٹال کرنے کا نام نہیں ہے۔

آپ کو فیصلہ کرنا ہوگا:

  • ایجنٹ کیا پڑھ سکتا ہے؟
  • وہ کیا ایڈٹ کر سکتا ہے؟
  • وہ کون سی کمانڈز چلا سکتا ہے؟
  • ڈیفالٹ کے طور پر کون سے ٹولز دستیاب ہیں؟
  • اسٹیٹ (state) کہاں محفوظ ہوتی ہے؟
  • کیا کوئی دوسرا ڈویلپر اس سیٹ اپ کو دوبارہ تخلیق کر سکتا ہے؟
  • ایجنٹ اپنے پیچھے کیا ثبوت چھوڑتا ہے؟

اگر ان جوابات میں ابہام ہو، تو آپ کا پرامپٹ آپ کو نہیں بچا سکے گا۔

ایک بہتر پرامپٹ صرف ایک جواب کو بہتر بناتا ہے۔ ایک بہتر ماحول پورے لوپ (loop) کو بہتر بناتا ہے۔

ایجنٹ سیٹ اپ کے ساتھ ویسا ہی سلوک کریں جیسا آپ CI/CD یا ڈیپلائمنٹ گیٹس (deployment gates) کے ساتھ کرتے ہیں۔ اسے محض ایک ذاتی پسند نہ سمجھیں۔ اسے ایک سسٹم کے طور پر دیکھیں۔

اگر کوئی ایجنٹ فائلیں ایڈٹ کر سکتا ہے لیکن چیک نہیں چلا سکتا، تو وہ آنکھوں پر پٹی باندھے ہوئے ایک کوڈ جنریٹر ہے۔ اگر وہ ہر ٹول سے اس لیے جڑ سکتا ہے کیونکہ زیادہ انٹیگریشنز اچھی لگتی ہیں، تو آپ نے اعتراف کیے بغیر ایک پرمیشن ماڈل (permission model) بنا دیا ہے۔

مقصد چھوٹی اور قابلِ معائنہ صلاحیتوں کی طرف بڑھنا ہے۔

ایک مخصوص مہارت جیسے کہ "یہ ٹیسٹ چلائیں اور ناکامیوں کا خلاصہ کریں" ایک کھلے حکم جیسے کہ "یقینی بنائیں کہ سب کچھ ٹھیک کام کر رہا ہے" سے بہتر ہے۔ پہلا طریقہ ایک سراغ چھوڑتا ہے، جبکہ دوسرا محض دکھاوا ہے۔

اچھے سافٹ ویئر کی حدود ہوتی ہیں۔

اس بات پر توجہ نہ دیں کہ ایجنٹ کتنے ٹولز سے جڑ سکتا ہے۔ اس بات پر توجہ دیں کہ ہر ٹول ایجنٹ کو کیا کرنے کی اجازت دیتا ہے۔ کیا وہ اسٹیٹ (state) کو تبدیل کر سکتا ہے؟ کیا اس کی رسائی پروڈکشن تک ہے؟ کیا وہ خفیہ معلومات (secrets) کو ظاہر کرتا ہے؟

آؤٹ پٹ (output) کا مطلب لیوریج (leverage) نہیں ہے۔ ایجنٹس زیادہ کوڈ اور زیادہ برانچز بنا سکتے ہیں۔ اگر کام پڑھنے میں آسان نہ ہو تو یہ ریویو ڈیٹ (review debt) پیدا کر سکتا ہے۔

لوکل سیٹ اپ کو انسان کا کام آسان بنانا چاہیے۔ اگر یہ صرف ایجنٹ کو تیز کرتا ہے، تو ہو سکتا ہے کہ آپ کی ٹیم بالکل بھی تیز نہ ہو سکے۔

آؤٹ پٹ پر بھروسہ کرنے سے پہلے ماحول پر بھروسہ کریں۔

Source: https://dev.to/hefty_69a4c2d631c9dd70724/local-coding-agents-are-an-environment-problem-1o4p

Optional learning community: https://t.me/GyaanSetuAi