کوڈنگ ایجنٹس کا جائزہ لینے والی انجینئرنگ ٹیمیں عام طور پر غلط سوال سے آغاز کرتی ہیں۔ وہ یہ جاننا چاہتے ہیں کہ ایجنٹ کتنا خود مختار (autonomous) ہو سکتا ہے۔ وہ پائپ لائن کا کتنا حصہ سنبھال سکتا ہے؟ کیا وہ کسی کو پریشان کیے بغیر سپیک (spec) لکھ سکتا ہے، ریپوزٹری (repository) میں ترمیم کر سکتا ہے، اور پروڈکشن (production) میں کوڈ پش کر سکتا ہے؟ ڈیموز اس جنون کو ہوا دیتے ہیں۔ آپ ایک شاندار ورک فلو دیکھتے ہیں جہاں ایک واحد پرامپٹ تبدیلیوں اور ڈیپلائمنٹ کا ایک سلسلہ شروع کر دیتا ہے، اور انسانی جبلت یہی ہوتی ہے کہ وہ اپنی تنظیم کے اندر بھی اسی صلاحیت کو حاصل کرنے کی کوشش کرے۔ لیکن چمک دمک ڈیزائن کا کوئی اچھا اصول نہیں ہے۔ بہتر سوالات کہیں زیادہ کم دلچسپ ہیں: اس چیز کو اختیار کس نے دیا، یہ اصل میں کن سسٹمز کو چھو سکتا ہے، اور جب یہ ناگزیر طور پر کچھ غلط کرتا ہے تو کیا ہوتا ہے؟

خود مختاری کا جال

پرجوش خود مختاری ایک جال ہے۔ یہ ہمیں ان بوٹس کو سراہنے کی تربیت دیتا ہے جو سپیسیفیکیشنز تیار کرتے ہیں، ریپوزٹریز میں ترمیم کرتے ہیں، اور کوڈ ڈیپلائے کرتے ہوئے سکون سے یہ دعویٰ کرتے ہیں کہ کام مکمل ہو گیا ہے۔ یہ انجینئرنگ نہیں ہے۔ یہ شیل ایکسیس (shell access) کے ساتھ اندھا دھند بھروسہ کرنا ہے۔ کام خود بنانا بہت آسان ہو جاتا ہے۔ کوئی بھی ماڈل سیکنڈوں میں کوڈ، دستاویزات، یا آرکیٹیکچر پلان تیار کر سکتا ہے۔ لیکن سافٹ ویئر ڈویلپمنٹ میں اصل قیمت کبھی ٹائپنگ کی رفتار نہیں رہی۔ یہ ہمیشہ تصدیق (validation)، جائزے (review)، اور اس محتاط فیصلے کی رہی ہے کہ ہاں، یہ درست ہے اور اسے بھیجنا محفوظ ہے۔ تیار کردہ کام سستا ہے۔ منظوری (approval) مہنگی ہے۔ وہ کمپنیاں جو یہ سمجھ جائیں گی کہ منظوری کو صفائی اور مستقل مزاجی سے کیسے سنبھالنا ہے، وہی اصل میں قابل اعتماد سسٹمز تیار کر سکیں گی۔

خودکار جائزہ (Self-Review) کیوں ناکام ہوتا ہے

خطرات متوقع پیٹرنز میں ظاہر ہوتے ہیں۔ ایک ماڈل ایک منصوبہ تیار کرتا ہے اور پھر اس کا جائزہ لیتا ہے کہ آیا وہ منصوبہ اچھا ہے یا نہیں۔ ایک ایجنٹ آپ کے کوڈ بیس (codebase) میں ترمیم کرتا ہے اور آپ کو بتاتا ہے کہ اس کی تبدیلیاں کیوں محفوظ ہیں۔ ایک ٹول کمانڈ چلاتا ہے اور اجازت لینے کے بجائے معافی مانگتا ہے۔ یہ ہر ایک بنیادی ناکامی کی نمائندگی کرتا ہے۔ اگر کوئی ایجنٹ کوئی سپیسیفیکیشن تیار کرتا ہے، تو اس کے حقیقت بننے سے پہلے اس ایجنٹ سے باہر کسی چیز کو اس کی منظوری دینی چاہیے۔ اگر کوئی ایجنٹ کوڈ میں ترمیم کرتا ہے، تو ایک الگ عمل کو 'ڈِف' (diff) کا معائنہ کرنا چاہیے۔ جنریٹر کو خود ہی ویلیڈیٹر کے طور پر کام کرنے دینا کوئی شارٹ کٹ نہیں ہے۔ یہ ایک ساختی خرابی (structural bug) ہے جسے سہولت کے روپ میں پیش کیا گیا ہے۔

پرامپٹس (Prompts) اجازت دینے والے نظام نہیں ہیں

آپ چالاک الفاظ کے ذریعے کسی ایجنٹ کو محفوظ نہیں بنا سکتے۔ کسی ماڈل کو محتاط رہنے یا کچھ حذف کرنے سے پہلے پوچھنے کا کہنا کوئی حد (boundary) قائم نہیں کرتا۔ پرامپٹس اجازت دینے والے نظام نہیں ہیں۔ اس سے پہلے کہ آپ کسی ایجنٹ کو پروڈکشن کے قریب آنے دیں، آپ کو اس کی صلاحیتوں کا ایک ایماندارانہ جائزہ لینے کی ضرورت ہے۔ کیا وہ پوری ریپوزٹری پڑھ سکتا ہے؟ کیا وہ شیل کمانڈز چلا سکتا ہے؟ کیا وہ براؤزر کھول سکتا ہے؟ کیا وہ کسٹمر کا ڈیٹا اپنے کانٹیکسٹ ونڈو (context window) میں لا سکتا ہے؟ زیادہ تر ٹیمیں مکمل جوابات نہیں جانتیں۔ وہ فرض کر لیتی ہیں کہ ٹول ایک سینڈ باکس (sandbox) تک محدود ہے جبکہ حقیقت میں اس کے پاس اہم راستوں (critical paths) تک لکھنے کا اختیار (write access) ہوتا ہے۔ پہلے سطح کے علاقے (surface area) کا نقشہ بنائیں۔ پھر دیواریں کھڑی کریں۔

درجہ بندی پر مبنی کنٹرول سسٹم بنائیں

جب آپ سمجھ جائیں کہ ایجنٹ کیا کر سکتا ہے، تو ایک ایسا کنٹرول سسٹم ڈیزائن کریں جو خطرے کے مطابق رکاوٹ (friction) کا تعین کرے۔ کم خطرے والے کام، جیسے کہ اندرونی دستاویزات کو اپ ڈیٹ کرنا یا کوڈ کی فارمیٹنگ کرنا، خودکار طور پر چل سکتے ہیں۔ درمیانے درجے کے خطرے والے کام، جیسے کہ کسی ماڈیول کی ریفیکٹورنگ (refactoring) کرنا یا نئی ڈیپینڈنسی (dependency) شامل کرنا، ایک چیک پوائنٹ پر رکنے چاہئیں جہاں کوئی انسان یا تصدیق شدہ ٹیسٹ سویٹ اس عمل کی تصدیق کرے۔ اعلیٰ خطرے والے کام، جیسے پروڈکشن میں ڈیپلائ کرنا، انفراسٹرکچر میں ترمیم کرنا، یا حساس ڈیٹا تک رسائی حاصل کرنا، کے لیے ایک الگ منظور کنندہ کی ضرورت ہوتی ہے جو جنریشن کے عمل میں شامل نہ ہو۔ ہر ایک عمل کا آڈٹ ٹریل (audit trail) ہونا چاہیے۔ آپ بالکل یہ دوبارہ دیکھ سکنے کے قابل ہونے چاہئیں کہ کون سی فائلیں پڑھی گئیں، کون سے ٹولز استعمال کیے گئے، اور کون سے فیصلے کیے گئے۔ ایجنٹک ڈویلپمنٹ جائزوں کو چھوڑنے کا لائسنس نہیں ہے۔ بورنگ رکاوٹ دراصل ایک فیچر ہے۔ ایک مناسب منظوری کا گیٹ (approval gate) اس وقت سرکٹ بریکر کی طرح کام کرتا ہے جب چیزیں اپنے راستے سے بھٹکنے لگتی ہیں۔

حدود کو خطرے کے مطابق رکھیں

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

آرٹیکٹ (Artifacts) کو چھوٹا اور قابل مشاہدہ رکھیں

سب سے مفید ایجنٹ سسٹم آپ کو بڑے پیمانے پر خود مختار (autonomous) رن کے ذریعے متاثر کرنے کی کوشش نہیں کرتے۔ وہ چھوٹے اور قابلِ جائزہ آرٹفیکٹس (artifacts) تیار کرتے ہیں۔ ایک جامع منصوبہ۔ ایک مرکوز ڈِف (diff)۔ ایک قابلِ مطالعہ لاگ (log)۔ بڑے پیمانے پر خود مختار عمل درآمد (executions) ڈی بگ (debug) کرنا ایک ڈراؤنا خواب ہے۔ جب پچاس فائلوں والے ایجنٹ سیشن کے بعد کچھ خراب ہوتا ہے، تو آپ کو مقصد، عمل درآمد اور ضمنی اثرات (side effects) کو ایک ساتھ سلجھانا پڑتا ہے۔ اثر کے دائرے (blast radius) کو چھوٹا رکھیں۔ اس بات پر اصرار کریں کہ آپ کو معلوم ہو کہ ایجنٹ نے کون سی فائلیں پڑھیں اور کون سے ٹولز استعمال کیے۔ قابلِ مشاہدہ (Observable) سسٹم ہی قابلِ برقرار (maintainable) سسٹم ہوتے ہیں۔ بلیک باکس خود مختاری محض بہتر مارکیٹنگ کے ساتھ تکنیکی قرض (technical debt) ہے۔

رسائی دینے سے پہلے چھ سوالات

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

  • سسٹم کے پاس اصل میں کیا صلاحیتیں ہیں؟
  • کون سے اقدامات ڈیفالٹ کے طور پر مسترد کر دیے جاتے ہیں، جو سسٹم پرامپٹ میں ایک شائستہ جملے کے ذریعے روکنے کے بجائے انفراسٹرکچر کی سطح پر بلاک کیے گئے ہوں؟
  • کن اقدامات کے لیے واضح منظوری کی ضرورت ہے؟
  • ایجنٹ کے استعمال سے پہلے کن آرٹفیکٹس کو منجمد (freeze) کر دیا جاتا ہے، تاکہ وہ خاموشی سے اپنے ہی ان پٹس میں تبدیلی نہ کر سکے؟
  • کون سا ویلیڈیٹر (validator)، جو جنریٹر سے مکمل طور پر الگ ہو، حتمی آؤٹ پٹ کا فیصلہ کرتا ہے؟
  • کون سا لاگ، بغیر کسی ابہام کے، یہ ثابت کرتا ہے کہ اصل میں کیا ہوا تھا؟

یہ بنیادی انجینئرنگ صفائی (hygiene) ہے۔ جنریٹر کو ویلیڈیٹر سے الگ رکھیں۔ انسانی اختیار کو سرحد (boundary) پر برقرار رکھیں۔

اصل امتحان

وہاں